Size and request limits on 'WriteCollection' method

Avatar

Avatar

Mukolajko

Avatar

Mukolajko

Mukolajko

26-09-2017

Hi.

I'm building integration with adobe campaign. And i need to write script that will sync our collection with adobe using code, not consoles or other stuff. I know that it's not recommended, but this is the requirements.

My collection have 400K-800K profiles to sync.

So I have basically two questions.

1) How much profiles i can send via 1 request. For example can i send 10000 in one call?

<recipient-collection xtkschema="nms:recipient"> 

  <recipient email="john.doe@adobe.com" firstName="John" lastName="Doe" _key="@email"/>

<recipient email="peter.martinez@adobe.com" firstName="Peter" lastName="Martinez" _key="@email"/>

  <recipient ... 10000 recipients here.

</recipient-collection>

What are the limits.

2) Do adobe soap API have request limits? For example max 1000 per day..

Thank you.

Accepted Solutions (1)

Accepted Solutions (1)

Avatar

Avatar

Jean-Serge_Biro

MVP

Avatar

Jean-Serge_Biro

MVP

Jean-Serge_Biro
MVP

27-09-2017

Hello Mukolajko,

This question should be replied by Adobe Campaign architect.
In the meanwhile, our community might give you some hints but you must provide some additional information:

  • Adobe Campaign version (classic/standard, major/minor/build)
  • realtime or batch process?
  • FDA module owned
  • please confirm that you don't want to do it by Adobe Campaign client (such as workflow activity, or import job)
  • do you have the possibility to do it by ETL tool?
  • infrastructure servers, mainly the Database layer.

As far as I understand, you intend to integrate the 800K profiles by doing SOAP calls.

So if you want to split it in smaller subsets/collections, let say, 10.000 profiles per call, it means 80 calls.
Or 800 calls for 1.000 profiles per SOAP call.

I guess you expect to use default recipient write method if creation (or default save session entity for updates, depending on your need).


But probably you have business rules to manage, so for rejecting records (format, integrity constraints) and for addind perhaps data in customer specific schemas, etc.


So consider in that case writing specific method by extending recipient schema (see documentation), instead of using standard write method, in the same place the Javascript method can manage the business rules, the potential calls to SQL stored procedures, etc).

IMO, it depends mainly of  CPU and RAM consideration, because web services have a footprint not to neglect, and are more oriented for short transactions. Please check the timeout set on your machines, perhaps you would have to increase the standard value before timeout.

Hope this helps, as first hints, until you give more information.

Regards
J-Serge

Answers (1)

Answers (1)

Avatar

Avatar

Jean-Serge_Biro

MVP

Avatar

Jean-Serge_Biro

MVP

Jean-Serge_Biro
MVP

27-09-2017

Hi Mukolajko,

I forgot to mention one more advantage to define your own web service method by extending nms:recipient, instead of using factory write/writeCollection method

(actually you write web method XML definition in the extended customer schema, the code being written in the Javascript objects node):


Adobe Campaign classic (v6/v7) uses SOAP call with XML syntax for the parameter.
Only Adobe Campaign standard version has also a REST API, with parameters content either in XML or JSON.

JSON format is more compact, so more efficiency in case of large volume or high number of calls, because your POST parameter is smaller.

And of course, you unserialize/parse your JSON object notation parameter in the specific web method you can write inside Adobe Campaign.

Regards
J-Serge