Bulk Sending Explanation

Sending a bulk is basically creating multiple independent envelopes, which are linked together by an identifier (bulk id). The API allows accessing the bulk and its envelopes. A bulk step is a step with multiple recipients.


Please note that only one bulk per envelope is allowed.


The Story

The head of the company wants to send the new company policy to all employees. For this process he/she is using eSignAnyWhere to send a bulk. With this feature the creator of the bulk just has to add the recipients within the bulk and send the document once. Then, all recipients get the document and all can sign without dependence. You find a list of available stories here.

Please also see the developer mode for this tutorial here: Visit the developer mode.

Use Case Description

  1. Configuration in eSAW UI
  2. Integration (api)
  3. Creating the bulk
  4. Add recipients within the bulk
  5. Configure for example signature fields

Configuration in eSAW UI

The following Screenshots explain the process of sending an envelope with eSAW.

Figure

Description



  1. Add a bulk as recipient
  2. Create a bulk CSV for upload

New buttons “Add Bulk” and “Bulk CSV Template” are available. You can add one bulk per envelope and you are defining the bulk recipients via CSV file. The “Bulk CSV Template” generates your desired bulk recipient configuration. So you are able to define Authentication or Information for Remote or Disposable Certificates in the CSV. Please note that you have a maximum of 1000 recipients per bulk.

If you click the button “Bulk CSV template” the following window appears where you can select options you need in the CSV:

The Bulk Recipient in the Recipient List.

You can see the uploaded recipient list and the number of recipients found in the uploaded CSV file.

Designer

FigureDescription

  1. Recipient (Bulk)

In the designer the bulk recipients behave like a normal recipient. You can place and define its signature fields, form fields or predefined fields.

Manage Bulk Envelopes

The bulk envelopes are listed normal in the document overview with special bulk envelope features. The statistics are added (number of completed, rejected, … envelopes of the bulk). Moreover you still can control each unique workflow.

After sending the envelope you can click on “back to bulk parent” to get the following detailed overview:

Integration

The integration is quite simple. Just follow these steps

Sending a bulk is basically creating multiple independent envelopes, which are linked together by an identifiert (bulk id). The API allows accessing the bulk and its envelopes. Please note that only one bulk per envelope is allowed.

  1. Upload a document
  2. Send the document or create a draft

The example contains a workstep configuration for a bulk with two recipients. In this case no signature field or other form fields were added. After you have uploaded the file you can copy paste the workstep configuration for sending the envelope.

{
  "SspFileIds": [
    "89cc475c-ddb3-400f-9947-37cf7d5332f2"
  ],
  "SendEnvelopeDescription": {
  "Name": "test",
  "EmailSubject": "Please sign the enclosed envelope",
  "EmailBody": "Dear #RecipientFirstName# #RecipientLastName#\n\n#PersonalMessage#\n\nPlease sign the envelope #EnvelopeName#\n\nEnvelope will expire at #ExpirationDate#",
  "DisplayedEmailSender": "",
  "EnableReminders": true,
  "FirstReminderDayAmount": 5,
  "RecurrentReminderDayAmount": 3,
  "BeforeExpirationDayAmount": 3,
  "DaysUntilExpire": 28,
  "CallbackUrl": "",
  "StatusUpdateCallbackUrl": "",
  "Steps": [
    {
      "OrderIndex": 1,
      "Recipients": [
        {
          "Email": "##EMAIL##",
          "FirstName": "##NAME##",
          "LastName": "##NAME##",
          "LanguageCode": "en",
          "EmailBodyExtra": "",
          "DisableEmail": false,
          "AddAndroidAppLink": false,
          "AddIosAppLink": false,
          "AddWindowsAppLink": false,
          "AllowDelegation": true,
          "SkipExternalDataValidation": false,
          "AuthenticationMethods": []
        },
        {
          "Email": "##EMAIL##",
          "FirstName": "##NAME##",
          "LastName": "##NAME##",
          "LanguageCode": "en",
          "EmailBodyExtra": "",
          "DisableEmail": false,
          "AddAndroidAppLink": false,
          "AddIosAppLink": false,
          "AddWindowsAppLink": false,
          "AllowDelegation": true,
          "SkipExternalDataValidation": false,
          "AuthenticationMethods": []
        }
      ],
      "EmailBodyExtra": "",
      "RecipientType": "Signer",
      "WorkstepConfiguration": {
        "WorkstepLabel": "test",
        "SmallTextZoomFactorPercent": 100,
        "FinishAction": {
          "ServerActions": [],
          "ClientActions": []
        },
        "ReceiverInformation": {
          "UserInformation": {
            "FirstName": "##NAME##",
            "LastName": "##NAME##",
            "EMail": "##EMAIL##"
          }
        },
        "SenderInformation": {
          "UserInformation": {
            "FirstName": "##NAME##",
            "LastName": "##NAME##",
            "EMail": "##EMAIL##"
          }
        },
        "TransactionCodeConfigurations": [
          {
            "Id": "smsAuthTransactionCodeId",
            "HashAlgorithmIdentifier": "Sha256",
            "Texts": [
              {
                "Value": "Please authenticate yourself for the access to the envelope with the transactionId {tId}. Your code is: {Token}"
              },
              {
                "Language": "bg",
                "Value": "Моля, удостоверете се за достъп до плика с Id {tId} на трансакцията. Вашият код е: {Token}"
              },
              {
                "Language": "de",
                "Value": "Bitte authentifizieren Sie sich für den Zugriff auf die Dokumentenmappe der Transaktion {tId}. Ihre TAN lautet: {Token}"
              },
              {
                "Language": "el",
                "Value": "Παρακαλούμε ταυτοποιηθείτε για την πρόσβαση στον φάκελο με τον αναγνωριστικό κωδικό συναλλαγής {tId}. Ο κωδικός σας είναι: {Token}"
              },
              {
                "Language": "en",
                "Value": "Please authenticate yourself for the access to the envelope with the transactionId {tId}. Your code is: {Token}"
              },
              {
                "Language": "es",
                "Value": "Autentíquese para acceder al sobre con el ID de transacción {tId}. Su código es: {Token}"
              },
              {
                "Language": "fr",
                "Value": "Veuillez vous authentifier afin d’accéder à l’enveloppe avec l’identifiant de transaction {tId}. Votre code est : {Token}"
              },
              {
                "Language": "it",
                "Value": "Con riferimento alla transazione {tId}, per autenticarsi si prega di inserire il seguente CODICE {Token}"
              },
              {
                "Language": "ja",
                "Value": "transactionID {tId} を使用し、エンベロープへのアクセス認証を行ってください。あなたのコード: {Token}"
              },
              {
                "Language": "ko",
                "Value": "이동 ID {tId}(으)로 엔벨로프에 액세스할 수 있도록 인증하세요. 코드: {Token}"
              },
              {
                "Language": "nl",
                "Value": "U dient zich te authenticeren voor toegang tot enveloppe met transactie-ID {tId}. Uw code is: {Token}"
              },
              {
                "Language": "pl",
                "Value": "Dokonaj uwierzytelnienia, aby uzyskać dostęp do koperty z identyfikatorem IDTransakcji {tId}. Twój kod to: {Token}"
              },
              {
                "Language": "pt-br",
                "Value": "Por favor autentique-se para acessar ao envelope com o ID: {tId}. Seu código é: {Token}"
              },
              {
                "Language": "pt-pt",
                "Value": "Autentique-se para aceder ao envelope com a ID de transação {tId}. O seu código é: {Token}"
              },
              {
                "Language": "ro",
                "Value": "Va rugam sa va autentificati pentru accesul la documentul cu numarul de tranzactie {tId}. Codul este:  {Token}. "
              },
              {
                "Language": "th",
                "Value": "โปรดยืนยันตัวตนเพื่อเข้าถึงซองจดหมายโดยใช้รหัสธุรกรรม {tId} รหัสของคุณคือ: {Token}"
              },
              {
                "Language": "zh-hans",
                "Value": "请使用事务标识号{tId}验证自己的身分以便访问此信封。您的密码是:{Token}"
              }
            ]
          },
          {
            "Id": "disposableCertificateEnrolAndSignSmsText",
            "HashAlgorithmIdentifier": "Sha256",
            "Texts": [
              {
                "Value": "Please confirm the issuance of your disposable certificate and signature, referenced by transactionId {tId}, with the OTP: "
              },
              {
                "Language": "bg",
                "Value": "Моля, потвърдете издаването на Вашия сертификат за еднократна употреба, отнасящ се до Id {tId} на трансакцията, подпишете с OTP: "
              },
              {
                "Language": "de",
                "Value": "Bitte bestätigen Sie die Ausstellung des Einwegzertifikats und die Signatur für Transaktion {tId} mit dem Einmalpasswort: "
              },
              {
                "Language": "el",
                "Value": "Παρακαλούμε επιβεβαιώστε την έκδοση του πιστοποιητικού και υπογραφής μίας χρήσης, με αναφορά το Id συναλλαγής {tId}, με το OTP: "
              },
              {
                "Language": "en",
                "Value": "Please confirm the issuance of your disposable certificate and signature, referenced by transactionId {tId}, with the OTP: "
              },
              {
                "Language": "es",
                "Value": "Confirme la emisión de su firma y certificado desechable, a los que se hace referencia por el ID de transacción {tId}, con el OTP: "
              },
              {
                "Language": "fr",
                "Value": "Veuillez confirmer la délivrance de votre signature et certificat référencé par l’identifiant {tId} avec le mot de passe à usage unique : "
              },
              {
                "Language": "it",
                "Value": "Conferma l'emissione del tuo certificato disposable, con riferimento alla transazione {tId}, e della firma con l´OTP "
              },
              {
                "Language": "ja",
                "Value": "トランザクションID{tId}が参照する使い捨ての証明書と署名の発行を確認してください 、OTPで: "
              },
              {
                "Language": "ko",
                "Value": "OTP를 사용하여 트랜잭션 ID({tId})에서 참조하는 1회용 인증서 발급 및 서명을 확인하세요. "
              },
              {
                "Language": "nl",
                "Value": "Bevestig de afgifte van uw eenmalig certificaat en handtekening, met transactie-ID {tId} en het eenmalig wachtwoord: "
              },
              {
                "Language": "pl",
                "Value": "Potwierdź wydanie jednorazowego certyfikatu i podpisu w związku z transakcją o numerze {tId}, korzystając z OTP: "
              },
              {
                "Language": "pt-br",
                "Value": "Por favor, confirme a emissão do seu certificado e assinatura descartáveis, referenciados por {tId}, com o OTP: "
              },
              {
                "Language": "pt-pt",
                "Value": "Confirme a emissão do seu certificado disponível e a assinatura, referenciado pela ID de transação {tId}, com o OTP: "
              },
              {
                "Language": "ro",
                "Value": "Va rugam sa confirmati emiterea certificatului de unica folosinta si a semnaturii, referitor la numarul de tranzactie {tId}, cu OTP-ul:  "
              },
              {
                "Language": "th",
                "Value": "กรุณายืนยันคำสั่งใบรับรองที่ใช้ได้ครั้งเดียวและรายเซ็นของคุณ อ้างอิงโดยรหัสธุรกรรม {tId} โดยใช้ OTP: "
              },
              {
                "Language": "zh-hans",
                "Value": "请确认签发单次性证书和签名,请引用事务标识号{tId},与OTP:"
              }
            ]
          },
          {
            "Id": "remoteCertificateSignSmsText",
            "HashAlgorithmIdentifier": "Sha256",
            "Texts": [
              {
                "Value": "Please sign the document, referenced by transactionId {tId}, using the OTP: "
              },
              {
                "Language": "bg",
                "Value": "Моля, подпишете документа, отнасящ се до Id {tId} на трансакцията, като използвате OTP: "
              },
              {
                "Language": "de",
                "Value": "Bitte signieren Sie das Dokument, referenziert durch die Transaktions {tId}, mit dem Einmalpasswort: "
              },
              {
                "Language": "el",
                "Value": "Παρακαλούμε υπογράψτε το έγγραφο με αναφορά τον αναγνωριστικό κωδικό συναλλαγής {tId}, χρησιμοποιώντας το OTP: "
              },
              {
                "Language": "en",
                "Value": "Please sign the document, referenced by transactionId {tId}, using the OTP: "
              },
              {
                "Language": "es",
                "Value": "Firme el documento, al que se hace referencia por el ID de transacción {tId}, usando el OTP: "
              },
              {
                "Language": "fr",
                "Value": "Veuillez signer le document, référencé par l’identifiant de transaction {tId}, en utilisant le mot de passe à usage unique : "
              },
              {
                "Language": "it",
                "Value": "Firma il documento, con riferimento alla transazione {tId}, usando l´OTP "
              },
              {
                "Language": "ja",
                "Value": "トランザクションID{tId}によって参照される文書に署名してください、OTPを使用: "
              },
              {
                "Language": "ko",
                "Value": "OTP를 사용하여 트랜잭션 ID({tId})에서 참조하는 문서에 서명하세요. "
              },
              {
                "Language": "nl",
                "Value": "Onderteken het document met transactie-ID {tId}, met behulp van het eenmalig wachtwoord: "
              },
              {
                "Language": "pl",
                "Value": "Podpisz dokument związany z identyfikatorem IDTransakcji {tId}, korzystając z OTP: "
              },
              {
                "Language": "pt-br",
                "Value": "Por favor, assine o documento de ID {tId} utilizando o OTP (One Time Password): "
              },
              {
                "Language": "pt-pt",
                "Value": "Assine o documento, referenciado pela ID de transação {tId}, usando o OTP: "
              },
              {
                "Language": "ro",
                "Value": "Va rugam sa semnati documentul, la care se face referinta prin ID-ul de tranzactie {tId}, folosind OTP-ul"
              },
              {
                "Language": "th",
                "Value": "โปรดลงนามในเอกสาร อ้างอิงโดย transactionId {tId} โดยใช้ OTP: "
              },
              {
                "Language": "zh-hans",
                "Value": "请签署文件,请引用事务标识号{tId},并使用OTP:"
              }
            ]
          },
          {
            "Id": "otpSignatureSmsText",
            "HashAlgorithmIdentifier": "Sha256",
            "Texts": [
              {
                "Value": "Please sign the document with the transactionId {tId} with the code: {Token} "
              },
              {
                "Language": "bg",
                "Value": "Моля, подпишете документа с Id {tId} на транзакцията с код: {Token} "
              },
              {
                "Language": "de",
                "Value": "Bitte signieren Sie das Dokument, referenziert durch die Transaktions {tId}, mit dem Einmalpasswort: {Token} "
              },
              {
                "Language": "el",
                "Value": "Παρακαλούμε υπογράψτε το έγγραφο με αναφορά τον αναγνωριστικό κωδικό συναλλαγής {tId}, χρησιμοποιώντας τον κωδικό: {Token} "
              },
              {
                "Language": "en",
                "Value": "Please sign the document with the transactionId {tId} with the code: {Token} "
              },
              {
                "Language": "es",
                "Value": "Firme el documento con ID de transacción {tId}, usando el código: {Token} "
              },
              {
                "Language": "fr",
                "Value": "Veuillez signer le document avec l’identifiant de transaction {tId} avec le code : {Token} "
              },
              {
                "Language": "it",
                "Value": "Firma il documento, con riferimento alla transazione {tId}, usando il codice OTP {Token} "
              },
              {
                "Language": "ja",
                "Value": "トランザクションID{tId}を使用して文書に署名してください、コードで:{Token} "
              },
              {
                "Language": "ko",
                "Value": "코드({Token})와 트랜잭션 ID({tId})를 이용하여 문서에 서명하세요. "
              },
              {
                "Language": "nl",
                "Value": "Onderteken het document met transactie-ID {tId}, met code: {Token} "
              },
              {
                "Language": "pl",
                "Value": "Podpisz dokument związany z identyfikatorem IDTransakcji {tId}, korzystając z kodu: {Token} "
              },
              {
                "Language": "pt-br",
                "Value": "Por favor, assine o documento de ID {tId} utilizando o código: {Token} "
              },
              {
                "Language": "pt-pt",
                "Value": "Assine o documento com a ID de transação {tId} com o código: {Token} "
              },
              {
                "Language": "ro",
                "Value": "Va rugam sa semnati documentul ce contine transactionId {tId} cu codul {Token} "
              },
              {
                "Language": "th",
                "Value": "โปรดลงนามในเอกสารที่มี transactionId {tId} และรหัส: {Token} "
              },
              {
                "Language": "zh-hans",
                "Value": "请使用事务标识号{tId}与密码:{Token}签署文件。"
              }
            ]
          },
          {
            "Id": "swissComSign",
            "HashAlgorithmIdentifier": "Sha256",
            "Texts": [
              {
                "Value": "Please confirm to sign the document"
              },
              {
                "Language": "bg",
                "Value": "Моля, потвърдете, за да подпишете документа"
              },
              {
                "Language": "de",
                "Value": "Bitte bestätigen sie die Unterschrift des Dokuments"
              },
              {
                "Language": "el",
                "Value": "Παρακαλούμε επιβεβαιώστε για να υπογράψετε το έγγραφο"
              },
              {
                "Language": "en",
                "Value": "Please confirm to sign the document"
              },
              {
                "Language": "es",
                "Value": "Confirme la firma del documento"
              },
              {
                "Language": "fr",
                "Value": "Veuillez confirmer de signer le document"
              },
              {
                "Language": "it",
                "Value": "Si prega di confermare per firmare il documento"
              },
              {
                "Language": "ja",
                "Value": "文書に署名することを確認してください"
              },
              {
                "Language": "ko",
                "Value": "문서 서명을 확인하세요."
              },
              {
                "Language": "nl",
                "Value": "Gelieve te bevestigen om het document te ondertekenen"
              },
              {
                "Language": "pl",
                "Value": "Potwierdź w celu podpisania dokumentu"
              },
              {
                "Language": "pt-br",
                "Value": "Por favor confirme a assinatura do documento"
              },
              {
                "Language": "pt-pt",
                "Value": "Confirme para assinar o documento"
              },
              {
                "Language": "ro",
                "Value": "Confirmați să semnați documentul"
              },
              {
                "Language": "th",
                "Value": "โปรดยืนยันการลงนามในเอกสาร"
              },
              {
                "Language": "zh-hans",
                "Value": "请确认以签署此文档"
              }
            ]
          }
        ],
        "SignatureConfigurations": [],
        "ViewerPreferences": {
          "FinishWorkstepOnOpen": false,
          "VisibleAreaOptions": {
            "AllowedDomain": "*",
            "Enabled": false
          }
        },
        "ResourceUris": {
          "DelegationUri": "https://demo.xyzmo.com//Resource/Delegate"
        },
        "AuditingToolsConfiguration": {
          "WriteAuditTrail": false,
          "NotificationConfiguration": {}
        },
        "Policy": {
          "GeneralPolicies": {
            "AllowSaveDocument": true,
            "AllowSaveAuditTrail": true,
            "AllowRotatingPages": false,
            "AllowEmailDocument": true,
            "AllowPrintDocument": true,
            "AllowFinishWorkstep": true,
            "AllowRejectWorkstep": true,
            "AllowRejectWorkstepDelegation": true,
            "AllowUndoLastAction": true,
            "AllowAdhocPdfAttachments": false,
            "AllowAdhocSignatures": false,
            "AllowAdhocStampings": false,
            "AllowAdhocFreeHandAnnotations": false,
            "AllowAdhocTypewriterAnnotations": false,
            "AllowAdhocPictureAnnotations": false,
            "AllowAdhocPdfPageAppending": false
          },
          "WorkstepTasks": {
            "PictureAnnotationMinResolution": 0,
            "PictureAnnotationMaxResolution": 0,
            "PictureAnnotationColorDepth": "Color16M",
            "SequenceMode": "NoSequenceEnforced",
            "PositionUnits": "PdfUnits",
            "ReferenceCorner": "Lower_Left",
            "Tasks": [
              {
                "PositionPage": 1,
                "Position": {
                  "PositionX": 70.0,
                  "PositionY": 521.92
                },
                "Size": {
                  "Height": 80.0,
                  "Width": 190.0
                },
                "AdditionalParameters": [
                  {
                    "Key": "enabled",
                    "Value": "1"
                  },
                  {
                    "Key": "positioning",
                    "Value": "onPage"
                  },
                  {
                    "Key": "req",
                    "Value": "1"
                  },
                  {
                    "Key": "fd",
                    "Value": ""
                  },
                  {
                    "Key": "fd_dateformat",
                    "Value": "dd-MM-yyyy HH:mm:ss"
                  },
                  {
                    "Key": "fd_timezone",
                    "Value": "datetimeutc"
                  }
                ],
                "AllowedSignatureTypes": [
                  {
                    "AllowedCapturingMethod": "Click2Sign",
                    "StampImprintConfiguration": {
                      "DisplayExtraInformation": true,
                      "DisplayEmail": true,
                      "DisplayIp": true,
                      "DisplayName": true,
                      "DisplaySignatureDate": true,
                      "FontFamily": "Times New Roman",
                      "FontSize": 11.0
                    },
                    "Id": "d81bc200-757a-48ec-88b9-0dbe1979e3ab",
                    "DiscriminatorType": "SigTypeClick2Sign",
                    "Preferred": true
                  }
                ],
                "UseTimestamp": false,
                "IsRequired": true,
                "Id": "1#XyzmoDuplicateIdSeperator#Signature_15f4cfa2-0f2b-ac00-a19a-83f12fb9ffa7",
                "DisplayName": "",
                "DocRefNumber": 1,
                "DiscriminatorType": "Signature"
              }
            ]
          }
        }
      },
      "DocumentOptions": [
        {
          "DocumentReference": "1",
          "IsHidden": false
        }
      ],
      "UseDefaultAgreements": true
    },
    {
      "OrderIndex": 2,
      "Recipients": [
        {
          "Email": "##EMAIL##",
          "FirstName": "##NAME##",
          "LastName": "##NAME##",
          "LanguageCode": "en",
          "EmailBodyExtra": "",
          "DisableEmail": false,
          "AddAndroidAppLink": false,
          "AddIosAppLink": false,
          "AddWindowsAppLink": false,
          "AllowDelegation": false,
          "SkipExternalDataValidation": false,
          "AuthenticationMethods": []
        }
      ],
      "EmailBodyExtra": "",
      "RecipientType": "Cc",
      "DocumentOptions": [],
      "UseDefaultAgreements": false
    },
    {
      "OrderIndex": 3,
      "Recipients": [
        {
          "Email": "##EMAIL##",
          "FirstName": "##NAME##",
          "LastName": "##NAME##",
          "LanguageCode": "en",
          "EmailBodyExtra": "",
          "DisableEmail": false,
          "AddAndroidAppLink": false,
          "AddIosAppLink": false,
          "AddWindowsAppLink": false,
          "AllowDelegation": false,
          "SkipExternalDataValidation": false,
          "AuthenticationMethods": []
        }
      ],
      "EmailBodyExtra": "",
      "RecipientType": "Cc",
      "DocumentOptions": [],
      "UseDefaultAgreements": false
    }
  ],
  "AddFormFields": {
    "Forms": {}
  },
  "OverrideFormFieldValues": {
    "Forms": {}
  },
  "AttachSignedDocumentsToEnvelopeLog": false
}
}



<envelope>
  <name>test</name>
  <eMailSubject>Please sign the enclosed envelope</eMailSubject>
  <eMailBody>Dear #RecipientFirstName# #RecipientLastName#
#PersonalMessage#
Please sign the envelope #EnvelopeName#
Envelope will expire at #ExpirationDate#</eMailBody>
  <enableReminders>true</enableReminders>
  <firstReminderDayAmount>5</firstReminderDayAmount>
  <recurrentReminderDayAmount>3</recurrentReminderDayAmount>
  <beforeExpirationReminderDayAmount>3</beforeExpirationReminderDayAmount>
  <daysUntilExpire>28</daysUntilExpire>
  <callbackUrl></callbackUrl>
  <statusUpdateCallbackUrl></statusUpdateCallbackUrl>
  <displayedEmailSender></displayedEmailSender>
  <steps>
    <step>
      <emailBodyExtra></emailBodyExtra>
      <orderIndex>1</orderIndex>
      <recipientType>Signer</recipientType>
      <useDefaultAgreements>true</useDefaultAgreements>
      <documentOptions>
        <documentOption docRef="1">
          <isHidden>false</isHidden>
        </documentOption>
      </documentOptions>
      <workstepConfiguration skipThirdPartyChecks="0">
        <WorkstepLabel>test</WorkstepLabel>
        <SmallTextZoomFactorPercent>100</SmallTextZoomFactorPercent>
        <WorkstepTimeToLiveInMinutes>43210</WorkstepTimeToLiveInMinutes>
        <FinishAction />
        <ViewerPreferences>
          <SendVisibleArea allowedDomain="*">0</SendVisibleArea>
          <FinishWorkstepOnOpen>0</FinishWorkstepOnOpen>
        </ViewerPreferences>
        <Policy version="1.1.0.0">
          <AdhocPolicies>
            <AllowModificationsAfterSignature>1</AllowModificationsAfterSignature>
          </AdhocPolicies>
          <GeneralPolicies>
            <AllowAdhocFreeHandAnnotations>0</AllowAdhocFreeHandAnnotations>
            <AllowAdhocPdfAttachments>0</AllowAdhocPdfAttachments>
            <AllowAdhocPdfPageAppending>0</AllowAdhocPdfPageAppending>
            <AllowAdhocPictureAnnotations>0</AllowAdhocPictureAnnotations>
            <AllowAdhocSignatures>0</AllowAdhocSignatures>
            <AllowAdhocStampings>0</AllowAdhocStampings>
            <AllowAdhocTypewriterAnnotations>0</AllowAdhocTypewriterAnnotations>
            <AllowEmailDocument>1</AllowEmailDocument>
            <AllowFinishWorkstep>1</AllowFinishWorkstep>
            <AllowPrintDocument>1</AllowPrintDocument>
            <AllowRejectWorkstep>1</AllowRejectWorkstep>
            <AllowSaveAuditTrail>1</AllowSaveAuditTrail>
            <AllowSaveDocument>1</AllowSaveDocument>
            <AllowUndoLastAction>1</AllowUndoLastAction>
            <AllowRotatingPages>0</AllowRotatingPages>
            <AllowRejectWorkstepDelegation>1</AllowRejectWorkstepDelegation>
          </GeneralPolicies>
          <WorkstepTasks originalSequenceMode="NoSequenceEnforced" SequenceMode="NoSequenceEnforced" />
        </Policy>
        <timeCreated>2019-09-23T12:12:34.6309766Z</timeCreated>
        <TransactionCodeConfigurations>
    <TransactionCodeConfiguration trConfId="smsAuthTransactionCodeId">
    </TransactionCodeConfiguration>
  </TransactionCodeConfigurations>
        <receiverInformation>
          <userInformation>
            <firstName>##NAME##</firstName>
            <lastName>##NAME##</lastName>
            <eMail>##EMAIL##</eMail>
          </userInformation>
          <showNamirialDisposableDisclaimer>1</showNamirialDisposableDisclaimer>
        </receiverInformation>
        <senderInformation>
          <userInformation>
            <firstName>##NAME##</firstName>
            <lastName>##NAME##</lastName>
            <eMail>##EMAIL##</eMail>
          </userInformation>
        </senderInformation>
        <pdfForms isEditingAllowed="0" />
        <TypewriterAnnotationTaskInfo />
        <attachmentFields />
        <signatureTemplate>
          <version>1.2.0.2</version>
          <positionReferenceCorner>Lower_Left</positionReferenceCorner>
          <positionUnits>PdfUnits</positionUnits>
        </signatureTemplate>
        <AuditingToolsConfiguration WriteAuditTrail="0">
          <NotificationConfiguration />
        </AuditingToolsConfiguration>
        <resourceUris>
          <delegationUri>https://demo.xyzmo.com//Resource/Delegate</delegationUri>
        </resourceUris>
        <LoggingMetaInformation>
          <envelopeId>7dd4ff4e-82a6-4a91-92d0-d5cd4d2e005b</envelopeId>
          <envelopeRecipientId>84d0db64-eff8-4640-8d5e-eeb52743f53a</envelopeRecipientId>
        </LoggingMetaInformation>
      </workstepConfiguration>
      <recipients>
        <recipient>
          <eMail>m.##NAME##+2@namirial.com</eMail>
          <emailBodyExtra></emailBodyExtra>
          <firstName>##NAME##</firstName>
          <lastName>##NAME##</lastName>
          <languageCode>en</languageCode>
          <disableEmail>false</disableEmail>
          <skipExternalDataValidation>false</skipExternalDataValidation>
          <addAndroidAppLink>false</addAndroidAppLink>
          <addIosAppLink>false</addIosAppLink>
          <addWindowsAppLink>false</addWindowsAppLink>
          <allowDelegation>true</allowDelegation>
          <authentications />
        </recipient>
        <recipient>
          <eMail>##EMAIL##</eMail>
          <emailBodyExtra></emailBodyExtra>
          <firstName>##NAME##</firstName>
          <lastName>##NAME##</lastName>
          <languageCode>en</languageCode>
          <disableEmail>false</disableEmail>
          <skipExternalDataValidation>false</skipExternalDataValidation>
          <addAndroidAppLink>false</addAndroidAppLink>
          <addIosAppLink>false</addIosAppLink>
          <addWindowsAppLink>false</addWindowsAppLink>
          <allowDelegation>true</allowDelegation>
          <authentications />
        </recipient>
      </recipients>
    </step>
    <step>
      <emailBodyExtra></emailBodyExtra>
      <orderIndex>2</orderIndex>
      <recipientType>Cc</recipientType>
      <useDefaultAgreements>false</useDefaultAgreements>
      <recipients>
        <recipient>
          <eMail>m.##NAME##+2@namirial.com</eMail>
          <emailBodyExtra></emailBodyExtra>
          <firstName>##NAME##</firstName>
          <lastName>##NAME##</lastName>
          <languageCode>en</languageCode>
          <disableEmail>false</disableEmail>
          <skipExternalDataValidation>false</skipExternalDataValidation>
          <addAndroidAppLink>false</addAndroidAppLink>
          <addIosAppLink>false</addIosAppLink>
          <addWindowsAppLink>false</addWindowsAppLink>
          <allowDelegation>false</allowDelegation>
          <authentications />
        </recipient>
      </recipients>
    </step>
    <step>
      <emailBodyExtra></emailBodyExtra>
      <orderIndex>3</orderIndex>
      <recipientType>Cc</recipientType>
      <useDefaultAgreements>false</useDefaultAgreements>
      <recipients>
        <recipient>
          <eMail>##EMAIL##</eMail>
          <emailBodyExtra></emailBodyExtra>
          <firstName>##NAME##</firstName>
          <lastName>##NAME##</lastName>
          <languageCode>en</languageCode>
          <disableEmail>false</disableEmail>
          <skipExternalDataValidation>false</skipExternalDataValidation>
          <addAndroidAppLink>false</addAndroidAppLink>
          <addIosAppLink>false</addIosAppLink>
          <addWindowsAppLink>false</addWindowsAppLink>
          <allowDelegation>false</allowDelegation>
          <authentications />
        </recipient>
      </recipients>
    </step>
  </steps>
  <attachSignedDocumentsToEnvelopeLog>false</attachSignedDocumentsToEnvelopeLog>
</envelope>


Result of the API call with REST:

{
{
    "BulkChildrenIds": [
        {
            "EnvelopeId": "7a648912-9a4d-48da-85ff-3342c080be28",
            "Email": "##EMAIL##"
        },
        {
            "EnvelopeId": "114b231d-132a-4219-b8ae-77df75f06091",
            "Email": "##EMAIL##"
        }
    ],
    "EnvelopeId": "1cf20eae-77b3-4188-95a3-dc1dc9a7b269"
}



<baseResult>ok</baseResult>
  <okInfo>
    <bulk id="f89d6068-f3a5-40f4-bf57-03d34718365b">
      <envelopeId eMail="##EMAIL##">4c79c834-d2e2-44c3-83b0-1072a3ec1562</envelopeId>
      <envelopeId eMail="##EMAIL##">624ed709-1b1d-4eee-825d-e150e7c4c917</envelopeId>
    </bulk>
  </okInfo>
</apiResult>


The result of the API calls contain the bulk id and an envelope id for each recipient.

The Callbacks got an additional bulk parameter to provide the bulk id:

http://www.mycallback.at?envelope=##EnvelopeId##&bulk=##BulkId##&action=##Action##

Finding Envelopes (v1) of Bulk: per default only bulk parent are returned. If you want to get the children of a bulk use the bulk parameter:

<findEnvelopesDescriptor>
   <status>Active</status>
   <bulk>dc4cdaa9-c204-470f-986d-94786ff159f7</bulk> <!-- new filter parameter -->
</findEnvelopesDescriptor>

The FindEnvelopes_v2 will return in the Extended version also details about the bulk id.

GetEnvelopesById also returns the bulk id. If you are calling with the bulk id, a list of all bulk recipients and its envelopes ids is returned.

GetEnvelopesById with a Bulk ID:

<apiResult version="0.0.0.0">
   <baseResult>ok</baseResult>
   <okInfo>
      <envelopeStatus>
...
         <id>5b69258c-2327-43ba-80ad-53b4b6a2f3eb</id>
         <bulk>5b69258c-2327-43ba-80ad-53b4b6a2f3eb</bulk>
...
         <bulkRecipients>
            <bulkRecipient eMail="test1@eflowauto.test" id="e9b53acc-9378-4308-99be-0fca92465dac">
...
            </bulkRecipient>
            <bulkRecipient eMail="test2@eflowauto.test" id="5701da00-2b8c-4e2a-8698-a66c43c3e4c7">
...
            </bulkRecipient>
         </bulkRecipients>
      </envelopeStatus>
   </okInfo>
</apiResult>

Detailed information about the bulk and the envelopes you get from the GetEnvelopesById API call. You can either place the bulk id or the envelope id.

<apiResult version="0.0.0.0">
   <baseResult>ok</baseResult>
   <okInfo>
      <envelopeStatus>
...
         <id>e9b53acc-9378-4308-99be-0fca92465dac</id>
         <bulk>5b69258c-2327-43ba-80ad-53b4b6a2f3eb</bulk> <!-- bulk id is set - see find result above -->
...
         <bulkRecipients>
            <bulkRecipient eMail="" id="">
...
            </bulkRecipient>
         </bulkRecipients>
      </envelopeStatus>
   </okInfo>
</apiResult>

The rest of the process is the same like sending a single envelope.