Docusign: невозможно создать конверт из документа в restapi v2

Мы пытаемся создать конверт из документа pdf с помощью docusign restapi v2. Мы можем создать конверт, используя XML, но когда мы пытаемся использовать JSON, мы получаем следующую ошибку от docusign.

"errorCode": "ENVELOPE_IS_INCOMPLETE",
"message": "The Envelope is not Complete. A Complete Envelope Requires Documents, Recipients, Tabs, and a Subject Line. Envelope definition missing."

Весь POST, который мы отправляем, находится ниже от fiddler (с удаленным содержимым файла).

POST https://demo.docusign.net/restapi/v2/accounts/xxxxx/envelopes HTTP/1.1
X-DocuSign-Authentication: {"Username":"xxxxxx","Password":"xxxxx","IntegratorKey":"xxxxxx"}
Content-Type: multipart/form-data; boundary=AAA
Accept: application/json
Host: demo.docusign.net
Content-Length: 90500
Expect: 100-continue



--AAA
Content-Type: application/json
Content-Disposition: form-data
{
  "emailBlurb": "Blurb",
  "emailSubject": "Subhject",
  "documents": [
    {
      "name": "NDA.pdf",
      "documentId": "1"
    }
  ],
  "recipients": {
    "signers": [
      {
        "tabs": {
          "signHereTabs": [
            {
              "pageNumber": "1",
              "yPosition": "1",
              "xPosition": "1",
              "documentId": "1",
              "tabId": "1",
              "name": "TabName"
            }
          ]
        },
        "routingOrder": "1",
        "recipientId": "1",
        "name": "Ben",
        "email": "[email protected]"
      }
    ]
  },
  "status": "created"
}
--AAA
Content-Type: application/pdf
Content-Disposition: file; filename="NDA.pdf"; documentId="1"

<pdf file image content goes here>

    --AAA--

Насколько я могу судить, JSON выглядит правильно. Что-то не так, что нам здесь не хватает?


person user3084095    schedule 09.12.2013    source источник


Ответы (2)


Ваш JSON выглядит нормально, это может быть связано с тем, что у вас есть дополнительный символ CRLF или два, разделяющих ваши границы в теле запроса. В общем, это то, как вещи должны быть разнесены (каждая новая строка - это \ r \ n):

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

<YOUR VALID JSON GOES HERE>
--AAA
Content-Type:application/pdf
Content-Disposition: file; filename="document.pdf"; documentid=1 

<DOCUMENT BYTES GO HERE>
--AAA--

Вполне возможно, что дополнительная новая строка, которая у вас есть после байтов документа, вызывает вашу проблему.

person Ergin    schedule 09.12.2013
comment
Вот в чем проблема. У меня был неправильный CRLF после размещения контента непосредственно перед JSON. У нас также был дополнительный CRLF перед первой границей. Большое вам спасибо, я сошел с ума, пытаясь понять это. - person user3084095; 10.12.2013
comment
Без проблем, рад, что помог. Ваше здоровье! - person Ergin; 10.12.2013

У меня были те же симптомы проблемы.

У меня проблема была с "ограничителем границы". Обязательно используйте:

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

<YOUR VALID JSON GOES HERE>
--AAA--

если у вас нет документа в вашем многокомпонентном вложении

person Freddo411    schedule 25.07.2016