DocUsign REST API를 사용하여 문서에 템플릿을 적용하려면 어떻게합니까?

StackOverflow https://stackoverflow.com//questions/20034028

  •  21-12-2019
  •  | 
  •  

문제

현재 DocUsign REST API로 작업하고 있으며 누구든지 누구나 한 봉투에 문서 및 템플릿을 추가 할 수있는 방법을 보여주는 것입니다.나는 템플릿 ID가 필요한 템플릿 ID에 액세스 할 수 있으며 복합 템플릿을 사용하여 해당 템플릿이있는 여러 문서가있는 봉투를 만들었습니다.템플릿 ID를 사용 하여이 작업을 수행하고 있습니다.이제 복합 템플릿에 문서를 추가하는 방법을 알아 내려고합니다.문서에 템플릿이 포함되어있는 경우 (하나의 템플릿 ID에 액세스 할 수 있습니다) 해당 문서에 템플릿을 적용해야합니다.

REST API를 통해 템플릿을 문서에 적용 할 수 있습니까?그렇다면 누구에게도 예제가 있습니까?

도움이 되었습니까?

해결책

여기에는 API 요청 자체를 통해 지정된 정보와 함께 정보를 템플릿에서 결합하기 위해 복합 템플릿을 사용할 수있는 방법을 보여주는 몇 가지 예가 있습니다.

예제 # 1 :

다음 예제 요청은 템플릿이 봉투에 대한 태그와받는 사람 역할을 정의하는 데 템플릿을 사용하는 봉투를 만들지 만 API 요청 자체에서 문서 및받는 사람 정보가 제공됩니다.

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

위에 표시된 바와 같이 API 요청 자체를 통해 문서를 제공하려면 다중 파트 요청 을 제출해야합니다. - 첫 번째 부분이 요청에 대한 완전한 JSON을 나타내는 경우, 각각 이후 요청의 일부는 JSON에서 참조하는 단일 문서의 내용을 나타냅니다. JSON이 여러 문서를 참조하면 각 문서에 대해 추가 / 별도의 부분 을 포함합니다.

복합 템플릿은 템플릿에서 정보를 런타임에 API 요청 자체를 통해 제공된 정보 (문서, 수신자)와 결합하는 데 큰 유연성을 제공한다는 점에서 강력합니다. 위의 예는 매우 간단합니다 (하나의 템플리트, 하나의 문서, 수신자 하나, 수신자) - 여러 템플릿 / 문서 /받는 사람을 결합하려는 경우에 쉽게 확장 될 수 있습니다.

(REST API 안내서의 P26-27의 예제 요청은 다중 파트 요청을 보낼 때 필요한 기본 형식을 보여줍니다. http://www.docusign.com/sites/default/files/rest_api_guide_v2.pdf .)

예제 # 2 :

다음으로 템플리트에 정의 된 모든 문서를 봉투에 포함 시키려고 가정하지만 봉투에 두 개의 추가 문서 (템플릿에 의해 정의되지 않음)를 포함하고자합니다. 다음 예제 요청은 API 요청 (CustomerAgreement.pdf 및 invoice.pdf)의 일부로 지정된 2 개의 문서와 3RD 복합 템플릿 구조에서 참조하는 템플릿에 의해 정의 된 모든 문서가있는 봉투를 만듭니다. 몇 가지 일반 메모 :

  • 문서가 봉투에 나타납니다. JSON 요청에 명시되어 있습니다. 이 예에서는 문서 순서가 1) CustomerAgreement.pdf (첫 번째 복합 템플릿 구조에서 API 요청을 통해 지정), 2) invoice.pdf (두 번째 복합 템플릿 구조에서 API 요청을 통해 지정됨), 3 ) 세 번째 복합 템플릿 구조에서 참조하는 템플릿이 지정한 모든 문서입니다.

  • 개별 복합 템플릿 구조가 수신자 정보를 지정해야하지만 봉투에 대한받는 사람 컬렉션을 형성 할 때 동일한받는 사람 정보를 일치시켜 / 병합합니다. 이 예에서 결과 봉투에는 하나의 수신자 만 있습니다. Abby Abbott.

API 요청을 통해 두 개의 문서를 지정하기 때문에 요청은 총 세 부분이 있습니다. 1) JSON, 2) 첫 번째 문서 내용, 3) 두 번째 문서의 내용.

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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top