إضافة المستندات إلى المغلفات باستخدام القوالب المركبة في DocuSign

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

سؤال

أحاول إضافة مستندات إلى قالب مركب باستخدام 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--

لقد قمت بتعديل المستند الخاص بي لاستخدام الاسم وfileDxtension، لذلك استبعدت الامتداد .pdf في اسم الملف حيث يبدو أن ذلك طريقة أخرى لتنفيذ ذلك.لقد حاولت ذلك في كلا الاتجاهين ولم يحالفني الحظ.

هل كانت مفيدة؟

المحلول

في طلب JSON الذي نشرته، أنت تحدد "وثائق"(الجمع) كمجموعة/مصفوفة وثيقة الكائنات - وهذا غير صحيح.كل عنصر قالب مركب داخل CompositeTemplates يمكن أن تحتوي المصفوفة فقط، على الأكثر، على a أعزب وثيقة.وهذا يعني أن بناء جملة JSON لتحديد المستند داخل قالب مركب هو كما يلي:

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

أي.، وثيقة مفرد، وهو كائن (وليس مجموعة من الكائنات).يتم عرض بنية الطلب الكاملة لطلب JSON "القوالب المركبة" في إجابة سؤالك السابق:
كيف يمكنني تطبيق قالب على مستند باستخدام Docusign REST API.

إعادة "التحديث" لسؤالك:

في جزء 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