Как я могу создать конверт с API DocuSign, если я получаю сообщение об ошибке «Неверное тело запроса»? - PullRequest
0 голосов
/ 01 августа 2020

Я пытаюсь создать и отправить конверт, но все время получаю это сообщение: «INVALID_REQUEST_BODY:» Тело запроса отсутствует или неправильно отформатировано. Незавершенная строка. Ожидаемый разделитель: ". Путь 'emailSubject', строка 1, позиция 150."} "

Я думаю, что ошибка где-то здесь, но я не могу ее найти (я новичок в JSON и DocuSign API):

{
"documents" : 
[
    {
        "documentBase64" : "DocData",
        "documentId" : 1,
        "fileExtension" : "pdf",
        "name" : "DocuSignTestingProposal.pdf"
    }
],
"emailSubject" : "Replace with Template EMAIL",
"recipients" : 
{
    "signers" : 
    [
        {
            "email" : "mbust@email.com",
            "name" : "MBUST",
            "recipientId" : 1,
            "routingOrder" : 1,
            "tabs" : 
            {
                "dateTabs" : 
                [
                    {
                        "anchorString" : "**Date1Here**",
                        "anchorUnits" : "pixels",
                        "anchorXOffset" : 1,
                        "anchorYOffset" : 1,
                        "documentId" : 1,
                        "fontSize" : "Size12",
                        "height" : 30,
                        "pageNumber" : 1,
                        "recipientId" : 1,
                        "width" : 100
                    }
                ],
                "signHereTabs" : 
                [
                    {
                        "anchorString" : "**Sign1Here**",
                        "anchorUnits" : "pixels",
                        "anchorXOffset" : 1,
                        "anchorYOffset" : 1,
                        "documentId" : 1,
                        "pageNumber" : 1,
                        "recipientId" : 1
                    }
                ]
            }
        }
    ]
},
"status" : "sent"

}

Полный запрос, который я использую, следующий:

https://demo.docusign.net/restapi/v2.1/accounts/XXXXAccount#XXXX/envelopes
--request POST
--header "Authorization: Bearer {{TOKEN}}"
--header Content-Type: application/json
--data {"documents":[{"documentBase64":"DocData","documentId":1,"fileExtension":"pdf","name":"DocuSignTestingProposal.pdf"}],"emailSubject":"Replace with Template EMAIL","recipients":{"signers":[{"email":"mbust@email.com","name":"MBUST","recipientId":1,"routingOrder":1,"tabs":{"dateTabs":[{"anchorString":"**Date1Here**","anchorUnits":"pixels","anchorXOffset":1,"anchorYOffset":1,"documentId":1,"fontSize":"Size12","height":30,"pageNumber":1,"recipientId":1,"width":100}],"signHereTabs":[{"anchorString":"**Sign1Here**","anchorUnits":"pixels","anchorXOffset":1,"anchorYOffset":1,"documentId":1,"pageNumber":1,"recipientId":1}]}}]},"status":"sent"}

Получение токена и номера учетной записи сработали хорошо. Но на создание конверта у меня уходит несколько часов, и я не могу найти проблему. Спасибо за вашу помощь.

Ответы [ 2 ]

0 голосов
/ 03 августа 2020

Ты прав, Ларри. Это было что-то вроде подмены на пути. Я использую FileMaker для отправки запроса, и решением было добавить знак @ перед переменной данных cURL в параметрах curl (ie., «--Data @ $ data»). Это исправило это. Спасибо!

0 голосов
/ 02 августа 2020

Я согласен, что ваш запрос выглядит нормально. Я подозреваю, что ваша оболочка или что-то еще выполняет замену на пути между вашей командой оболочки и тем, что получает DocuSign.

Другая потенциальная проблема - это содержимое документа. Вы кодируете данные документа в Base64?

Чтобы узнать, что DocuSign фактически получает, используйте функцию Ведение журнала запросов API .

Если это не помогает, пожалуйста обновите (отредактируйте) свой вопрос фактическим запросом из вывода журнала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...