Domanda

Attualmente sto lavorando con l'API di riposo Docusign e mi chiedo se qualcuno ha un esempio di come posso aggiungere documenti e modelli in una busta.Ho accesso all'ID del modello che ho bisogno e ho utilizzato modelli compositi per creare una busta con più documenti con modelli corrispondenti.Sto facendo questo usando solo l'ID del modello però.Ora sto cercando di capire come aggiungere un documento al modello composito.Se il documento contiene un modello (ho accesso agli ID template se ne ha uno) dovrebbe applicare il modello a quel documento.

Posso applicare modelli a un documento attraverso l'API di riposo?Se è così, qualcuno ha un esempio?

È stato utile?

Soluzione

Ecco un paio di esempi che mostrano come i modelli compositi possano essere utilizzati per combinare le informazioni dai modelli (s) con le informazioni specificate tramite la richiesta API stessa.

Esempio # 1:

La seguente richiesta di esempio crea una busta in cui viene utilizzato il modello per definire i tag e i ruoli del destinatario per la busta, ma le informazioni del documento e del destinatario sono fornite nella richiesta API stessa.

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--
.

Come mostrato sopra, per fornire documenti tramite la richiesta API stessa richiede di presentare una richiesta multid-part - dove la prima parte rappresenta il JSON completo per la richiesta e ciascuno La successiva parte della richiesta rappresenta il contenuto di un singolo documento che è referenziato nel JSON. Se il tuo JSON fa riferimento a più documenti, la tua richiesta conterrebbe una parte aggiuntiva / separata per ogni documento.

I modelli compositi sono potenti in quanto ti danno una grande flessibilità in termini di combinazione di informazioni da modelli con informazioni (documenti, destinatari) forniti tramite la richiesta API stessa in fase di runtime. L'esempio sopra è molto semplice (un modello, un documento, un destinatario) - ma può essere facilmente esteso per i casi in cui si desidera combinare più modelli / documenti / destinatari.

(la richiesta di esempio su P26-27 della Guida API di riposo mostra il formato di base richiesto durante l'invio di una richiesta multid-part: http://www.docusign.com/sites/default/files/rest_api_guide_v2.pdf .)

Esempio # 2:

Avanti, supponiamo di voler includere in una busta tutti i documenti definiti in un modello, ma si desidera anche includere due documenti aggiuntivi (non definiti da un modello) nella busta. La seguente richiesta di esempio crea una busta con 2 documenti specificati come parte della richiesta API (CustomerGrement.pdf e Fattura.pdf) e tutti i documenti definiti dal modello referenziato nella terza struttura del modello composito. Un paio di note generali:

    .
  • I documenti appariranno nella busta nell'ordine in cui sono specificato nella richiesta JSON. In questo esempio, ciò significa che l'ordine del documento è: 1) customardagnement.pdf (specificato tramite la richiesta API nella prima struttura del modello composito), 2) fattura.pdf (specificato tramite la richiesta API nella seconda struttura del modello composita) e 3 ) Tutti i documenti specificati dal modello referenziato nella terza struttura del modello composito.

  • Sebbene ogni singola struttura del modello composito debba specificare informazioni sul destinatario - DocuSign corrisponderà / unire qualsiasi informazione del destinatario identico quando si formano la raccolta dei destinatari per la busta. In questo esempio, la busta risultante ha solo un destinatario: Abby Abbott.

Poiché stiamo specificando due documenti tramite la richiesta API, la richiesta ha un totale di tre parti: 1) JSON, 2) Contenuto del primo documento, 3) Contenuto del secondo documento.

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--
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top