Любая помощь очень ценится!Rails 4 HTTParty Docusign api invalid base 64 string
Я посылаю запрос пост конверт с помощью HTTParty к апи DocuSign и получаю сообщение об ошибке, которое утверждает: The input is not a valid Base-64 string as it contains a non-base 64 character
Вот мой HTTP пост:
req = HTTParty.post(baseUrl, body: { "status": "sent", "emailSubject": "Send this already", "documents": [{ "documentId": "1", "name": "test.pdf" }], "recipients": { "signers": [{ "name": "joe dirt", "email": "[email protected]", "recipientId": "1", "routingOrder": "1", "tabs": { "signHereTabs": [{ "xPosition": "150", "yPosition": "200", "documentId": "1", "pageNumber": "2" }], } }] } }.to_json, headers: { "Content-Type" => "application/json", "Content-Transfer-Encoding" => "Base64", 'X-DocuSign-Authentication' => '{ "Username" : "blah-blahblah-blah-blah-blah", "Password" : "blah", "IntegratorKey" : "blah-blah-blah-blah-blah" }' }, :debug_output => $stdout)
отладчик выплевывает следующие:
"HTTP/1.1 400 Bad Request\r\n" "Cache-Control: no-cache\r\n" "Pragma: no-cache\r\n" "Content-Length: 226\r\n" "Content-Type: application/json; charset=utf-8\r\n" "Expires: -1\r\n"
Это полный запрос показан на моем сервере:
<- "POST /restapi/v2/accounts/1906554/envelopes HTTP/1.1\r\nAccept: application/json\r\nContent-Type: application/json\r\nX-Docusign-Authentication: { \n \"Username\" : \"blah-blah-blah-b;ah-blah\", \n \"Password\" : \"blah\", \n \"IntegratorKey\" : \"blah-blah-blah-blah-blah\" \n }\r\nConnection: close\r\nHost: demo.docusign.net\r\nContent-Length: 394\r\n\r\n" <-"{ \"status\":\"sent\", \"emailSubject\":\"Example of one recipient, type signer\", \"documents\":[{ \"documentId\":\"1\", \"name\":\"RE Ally MNDA_MAster.pdf\", \"documentBase64\":\"base64 document bytes...\"}], \"recipients\":{\"signers\":[{ \"name\":\"joe dirt\", \"email\":\"[email protected]\", \"recipientId\":\"1\", \"routingOrder\":\"1\", \"tabs\":{ \"signHereTabs\"[{ \"xPosition\":\"150\", \"yPosition\":\"200\", \"documentId\":\"1\", \"pageNumber\":\"2\" }] } }] }"
За их документации, я получаю успешную заявку на мой BaseUrl, когда я делаю так:
HTTParty.get('https://demo.docusign.net/restapi/v2/login_information', headers: {
'Accept' => 'application/json',
'Content-Type' => 'application/json',
'X-DocuSign-Authentication' => '{
"Username" : "blah-bla-blah-bla-blah",
"Password" : "blahword1",
"IntegratorKey" : "blah-blah-blah-blah-blah"
}'
}
)
This is how docusign is expecting my post to look
Вышеуказанный объект - это целый объект JSON? –
Ну, должно быть. Как вы можете видеть, я добавил функцию .to_json в свой запрос httparty для преобразования. Я добавлю, как выглядит запрос на моем сервере. –
Почему вы используете значение '' '' для 'X-DocuSign-Authentication'? Пожалуйста, проверьте '{ « Имя пользователя »:« blah-blahblah-blah-blah-blah », « Пароль »:« бла », « IntegratorKey »:« blah-blah-blah-blah-blah » } '' –