문제

DocUsign API를 사용하여 복합 템플릿에 문서를 추가하려고하고 있으며 문서는 내가 기대할 수있는 봉투에로드되지 않습니다. 나는 현재 복합 템플릿을 사용하지 않고 문서를 추가하지 않고 문서를 추가하는 테스트 JSON을 사용하고 있습니다. 그러나 복합 템플릿이 문서 위로 바로 건너 뛰는 것 같습니다. 내가 어떻게 작성하는 방법이 있습니다 :

{
"emailSubject": "Test Email Subject_FA",
"emailBlurb": "Test Email Body_FA",
"status": "created",
"compositeTemplates": [
    {
        "inlineTemplates": [
            {
                "sequence": "1",
                "recipients": {
                    "signers": [
                        {
                            "email": "test1@yahoo.com",
                            "name": "test1",
                            "recipientId": "1",
                            "routingOrder": "1",
                            "roleName": "Client 1"
                        },
                        {
                            "email": "test2@gmail.com",
                            "name": "test2",
                            "recipientId": "2",
                            "routingOrder": "2",
                            "roleName": "Client 2"
                        }
                    ],
                    "documents": [
                        {
                            "transformPdfFields": "false",
                            "name": "test0.pdf",
                            "documentId": "1"
                        }
                    ]
                }
            }
        ]
    },
    {
        "inlineTemplates": [
            {
                "sequence": "1",
                "recipients": {
                    "signers": [
                        {
                            "email": "test1@yahoo.com",
                            "name": "test1",
                            "recipientId": "1",
                            "routingOrder": "1",
                            "roleName": "Client 1"
                        },
                        {
                            "email": "test2@gmail.com",
                            "name": "test2",
                            "recipientId": "2",
                            "routingOrder": "2",
                            "roleName": "Client 2"
                        }
                    ],
                    "documents": [
                        {
                            "transformPdfFields": "false",
                            "name": "test1.pdf",
                            "documentId": "2"
                        }
                    ]
                }
            }
        ]
    }
]
.

}

이것은 내가 겪고있는 조금 테스트 일 것입니다. 나는 이것이 비현실적이라는 것을 이해합니다. 그러나 내가 이해하려고하는 것은 이것이 이것이 봉투에 문서를 추가하지 않는 이유입니다. 아래의 요청은 내가 위에서 무엇을하려고하는 것입니다.

{
"emailSubject": "Test Email Subject_FA",
"emailBlurb": "Test Email Body_FA",
"status": "created",
"documents": [
    {
        "name": "test0.pdf",
        "documentId": "1"
    },
    {
        "name": "test1.pdf",
        "documentId": "2"
    },
    {
        "name": "test2.pdf",
        "documentId": "3"
    }
],
"recipients": {
    "signers": [
        {
            "email": "test1@yahoo.com",
            "name": "test1",
            "recipientId": "1",
            "clientUserId": "1",
            "signerName": "test1",
            "defaultRecipient": "true",
            "defaultRecipientSpecified": "true",
            "routingOrder": "1"
        },
        {
            "email": "test2@gmail.com",
            "name": "test2",
            "recipientId": "2",
            "clientUserId": "2",
            "signerName": "test2",
            "routingOrder": "2"
        }
    ]
}
.

}

누구든지 복합 템플릿에 대한 봉투가 문서를로드하지 않는 이유를 알고 있습니까?

미리 감사드립니다!

업데이트 :

여기에 합성 템플릿에 대한 나의 요청이 있습니다.

--MY_BOUNDARY
Content-Type: application/json
Content-Disposition: form-data
{                
"emailSubject": "Test Email Subject_FA",
"emailBlurb": "Test Email Body_FA",
"status" : "created",               
"compositeTemplates": [               
{                    
"inlineTemplates": [  
{ 
    "sequence": "1",    
    "recipients": 
    {                           
        "signers": [                              
        {                              
            "email": "test1@yahoo.com",    
            "name": "test1",             
            "recipientId": "1"                
        },                              
        {                              
            "email": "test2@gmail.com",  
            "name": "test2",         
            "recipientId": "2"              
        }                            
        ],                           
        "document":                  
        {                            
            "name": "test0",              
            "documentId": "1",            
            "fileExtension": "pdf"         
        }                               
    }                  
}                  
]               
},               
{                
"inlineTemplates": [   
{                     
    "sequence": "2",       
    "recipients": {         
    "signers": [            
        {                        
            "email": "test1@yahoo.com",   
            "name": "test1",          
            "recipientId": "1"
        },
        {                              
            "email": "test3@yahoo.com",  
            "name": "test3",                           
            "recipientId": "2"                               
        }
    ],                  
    "document":                                 
        {    
            "name": "test1",                             
            "documentId": "2",                           
            "fileExtension": "pdf"                       
        }                                             
    }                  
}                  
]               
}               
]           
}
--MY_BOUNDARY

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

--MY_BOUNDARY

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




--MY_BOUNDARY--
.

NAME 및 FileDxtension을 사용하기 위해 문서를 조정하여 파일 이름에 .pdf 확장자를 꺼냅니다. 나는 그것을 두 가지 방법으로 시도했고 운이 없었습니다.

도움이 되었습니까?

해결책

요청 JSON 요청에서 문서 객체의 콜렉션 / 배열로 " 문서 "(복수형)를 지정하는 것이 좋습니다. composityptemplates 배열 내의 각 복합 템플릿 항목은 대부분의 경우에만 단일 문서를 포함 할 수 있습니다. 즉, 복합 템플릿 내의 문서를 지정하는 JSON 구문은 다음과 같습니다.

"document": {
    "documentId": 1,
    "name": "test1.pdf"
}
.

i.e., 문서 는 단수이며, 객체 (객체의 배열이 아닌)입니다. '복합 템플릿'JSON 요청의 전체 요청 구문은 이전 질문에 대한 답변으로 표시됩니다. 템플릿을 적용하려면 어떻게해야합니까? DocUsign REST API를 사용하는 문서에 .

ret :

"업데이트"아래에 게시 한 요청의 JSON 부분에서는 수신자 개체 내부에서 문서 을 포함했음을 알아 봅니다 (포함됨 inlinetemplates 객체 내에서) - 문서 에 대한 올바른 위치가 아닙니다. JSON 구조를 다음 (올바른) 구조와 밀접하게 비교하고 그에 따라 요청을 조정하십시오. 본질적으로 문서 inlinetemplates 내에 있지 않은 inlinetemplates 의 피어가되어야합니다.

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"
        }
    }]
}

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