Question

Je travaille actuellement avec l'API DocuSign Repos et je me demande si quelqu'un a un exemple de la manière dont je peux ajouter des documents et des modèles dans une enveloppe.J'ai accès à l'ID de modèle dont j'ai besoin et j'ai utilisé des modèles composites pour créer une enveloppe avec plusieurs documents avec des modèles correspondants.Je ne fais que cela en utilisant le modèle ID cependant.Maintenant, j'essaie de comprendre comment ajouter un document au modèle composite.Si le document contient un modèle (j'ai accès à l'ID de modèle s'il en dispose d'une), il devrait appliquer le modèle à ce document.

Puis-je appliquer des modèles à un document via l'API de repos?Si oui, quelqu'un a-t-il un exemple?

Était-ce utile?

La solution

Voici quelques exemples montrant comment les modèles composites peuvent être utilisés pour combiner des informations à partir de modèles (s) des informations spécifiées via la demande d'API elle-même.

exemple n ° 1:

La demande d'exemple suivante crée une enveloppe dans laquelle le modèle est utilisé pour définir les balises et les rôles de destinataire de l'enveloppe, mais les informations de document et de destinataire sont fournies par la demande de l'API lui-même.

POST https://demo.docusign.net/restapi/v2/accounts/ACCOUNTNBR/envelopes HTTP/1.1

X-DocuSign-Authentication: {"Username":"USERNAME","Password":"PASSWORD","IntegratorKey":"INTEGRATORKEY"}
Content-Type: multipart/form-data; boundary=MY_BOUNDARY
Accept: application/json
Host: demo.docusign.net
Content-Length: 162100

--MY_BOUNDARY
Content-Type: application/json
Content-Disposition: form-data

{
    "emailBlurb":"Test Email Body",
    "emailSubject": "Test Email Subject",
    "status" : "sent",
    "compositeTemplates": [
    {
        "serverTemplates": [
        {
            "sequence" : 1,
            "templateId": "TEMPLATE_ID"
        }],
        "inlineTemplates": [
        {
            "sequence" : 2,
            "recipients": {
                "signers" : [{
                    "email": "bettysemail@outlook.com",
                    "name": "Betty Adamson",
                    "recipientId": "1",
                    "roleName": "RoleOne"
                }]
            }
        }],
        "document": {
            "documentId": 1,
            "name": "test1.pdf"
        }
    }]
}

--MY_BOUNDARY
Content-Type: application/pdf
Content-Disposition: file; filename="TestDocAPI.pdf"; documentid="1"

<document bytes removed>

--MY_BOUNDARY--

Comme indiqué ci-dessus, pour fournir des documents via la demande d'API lui-même exige que vous soumetiez une demande multi-pièces - où la première partie représente le JSON complet pour la demande et chacun Une partie ultérieure de la demande représente le contenu d'un seul document qui est référencé dans le JSON. Si votre JSON fait référence à plusieurs documents, votre demande contiendrait une partie supplémentaire / séparée pour chaque document.

Les modèles composites sont puissants en ce sens qu'ils vous donnent une grande flexibilité en termes de combinaison d'informations à partir de modèles d'informations (documents, destinataires) fournis via la demande d'API elle-même au moment de l'exécution. L'exemple ci-dessus est très simple (un modèle, un document, un destinataire) - mais il peut facilement être étendu pour les cas où vous souhaitez combiner plusieurs modèles / documents / destinataires.

(la demande d'exemple sur P26-27 du guide API de repos indique le format de base requis lors de l'envoi d'une demande de plusieurs pièces: http://www.docusign.com/sites/default/files/resites_api_guide_v2.pdf .)

exemple n ° 2:

Ensuite, supposons que vous souhaitiez inclure dans une enveloppe dans une enveloppe tous les documents définis dans un modèle, mais vous souhaitez également inclure deux documents supplémentaires (non définis par un modèle) dans l'enveloppe. L'exemple de demande suivant crée une enveloppe avec 2 documents spécifiés dans le cadre de la demande d'API (CustomerAreement.pdf et Invoice.pdf), ainsi que tous les documents définis par le modèle qui est référencé dans la 3ème structure de modèle composite. Quelques notes générales:

  • Les documents apparaîtront dans l'enveloppe dans l'ordre qu'ils sont spécifié dans la demande JSON. Dans cet exemple, cela signifie que la commande de document est la suivante: 1) CustomerAreement.pdf (spécifié via la demande d'API dans la première structure de modèle composite), 2) Invoice.pdf (spécifié via la demande d'API dans la deuxième structure de modèle composite) et 3 ) Tous les documents spécifiés par le modèle qui est référencé dans la troisième structure de modèle composite.

  • Bien que chaque structure de modèle composite individuelle doit spécifier Info destinataire - Docusign correspondra / fusionnera toutes les informations de destinataire identiques lors de la formulation de la collection de destinataires de l'enveloppe. Dans cet exemple, l'enveloppe résultante n'a qu'un seul destinataire: Abby Abbott.

Parce que nous spécifions deux documents via la demande d'API, la demande dispose d'un total de trois parties: 1) JSON, 2) Contenu du premier document, 3) Contenu du deuxième document.

POST https://demo.docusign.net/restapi/v2/accounts/ACCOUNTNBR/envelopes HTTP/1.1

X-DocuSign-Authentication: {"Username":"USERNAME","Password":"PASSWORD","IntegratorKey":"INTEGRATORKEY"}
Content-Type: multipart/form-data; boundary=MY_BOUNDARY
Accept: application/json
Host: demo.docusign.net
Content-Length: 162100

--MY_BOUNDARY
Content-Type: application/json
Content-Disposition: form-data

{
    "status" : "sent",
    "emailSubject" : "Test Envelope Subject",
    "emailBlurb" : "Test Envelope Blurb",
    "compositeTemplates": [
    {
        "inlineTemplates": [
        {
            "sequence" : 1,
            "recipients": {
                "signers" : [{
                    "email": "abbysemail@outlook.com",
                    "name": "Abby Abbott",
                    "recipientId": "1"
                }]
            }
        }],
        "document": {
            "documentId": 1,
            "name": "CustomerAgreement",
            "fileExtension": "pdf"
        }
    },
    {
        "inlineTemplates": [
        {
            "sequence" : 2,
            "recipients": {
                "signers" : [{
                    "email": "abbysemail@outlook.com",
                    "name": "Abby Abbott",
                    "recipientId": "1"
                }]
            }
        }],
        "document": {
            "documentId": 2,
            "name": "Invoice",
            "fileExtension": "pdf"
        }
    },
    {
        "serverTemplates": [
        {
            "sequence" : 1,
            "templateId": "TEMPLATE_ID"
        }],
        "inlineTemplates": [
        {
            "sequence" : 2,
            "recipients": {
                "signers" : [{
                    "email": "abbysemail@outlook.com",
                    "name": "Abby Abbott",
                    "recipientId": "1",
                    "roleName": "Initiator",
                    "routingOrder":"1"
                }
                ]
            }
        }]
    }]
}

--MY_BOUNDARY
Content-Type: application/pdf
Content-Disposition: file; filename="CustomerAgreement.pdf"; documentid="1"

    <document bytes removed>

--MY_BOUNDARY
Content-Type: application/pdf
Content-Disposition: file; filename="Invoice.pdf"; documentid="2"

    <document bytes removed>

--MY_BOUNDARY--

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top