PureBasic / DocuSign REST API / Add an attachment to a DRAFT or IN-PROCESS envelope.
Back to Collection Items
IncludeFile "CkJsonObject.pb"
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkHttp.pb"
IncludeFile "CkHttpResponse.pb"
Procedure ChilkatExample()
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
http.i = CkHttp::ckCreate()
If http.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success.i
; Use this online tool to generate code from sample JSON: Generate Code to Create JSON
; The following JSON is sent in the request body.
; {
; "attachmentId": "sample string 1",
; "label": "sample string 2",
; "attachmentType": "sample string 3",
; "name": "sample string 4",
; "accessControl": "sample string 5",
; "data": "sample string 6",
; "remoteUrl": "sample string 7"
; }
json.i = CkJsonObject::ckCreate()
If json.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckUpdateString(json,"attachmentId","sample string 1")
CkJsonObject::ckUpdateString(json,"label","sample string 2")
CkJsonObject::ckUpdateString(json,"attachmentType","sample string 3")
CkJsonObject::ckUpdateString(json,"name","sample string 4")
CkJsonObject::ckUpdateString(json,"accessControl","sample string 5")
CkJsonObject::ckUpdateString(json,"data","sample string 6")
CkJsonObject::ckUpdateString(json,"remoteUrl","sample string 7")
; Adds the "Authorization: Bearer {{accessToken}}" header.
CkHttp::setCkAuthToken(http, "{{accessToken}}")
CkHttp::ckSetRequestHeader(http,"Accept","application/json")
sbRequestBody.i = CkStringBuilder::ckCreate()
If sbRequestBody.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckEmitSb(json,sbRequestBody)
resp.i = CkHttp::ckPTextSb(http,"PUT","https://domain.com/v2.1/accounts/{{accountId}}/envelopes/{{envelopeId}}/attachments/{{attachmentId}}",sbRequestBody,"utf-8","application/json",0,0)
If CkHttp::ckLastMethodSuccess(http) = 0
Debug CkHttp::ckLastErrorText(http)
CkHttp::ckDispose(http)
CkJsonObject::ckDispose(json)
CkStringBuilder::ckDispose(sbRequestBody)
ProcedureReturn
EndIf
Debug Str(CkHttpResponse::ckStatusCode(resp))
Debug CkHttpResponse::ckBodyStr(resp)
CkHttpResponse::ckDispose(resp)
CkHttp::ckDispose(http)
CkJsonObject::ckDispose(json)
CkStringBuilder::ckDispose(sbRequestBody)
ProcedureReturn
EndProcedure
Curl Command
curl -X PUT
-H "Accept: application/json"
-H "Authorization: Bearer {{accessToken}}"
-d '{
"attachmentId": "sample string 1",
"label": "sample string 2",
"attachmentType": "sample string 3",
"name": "sample string 4",
"accessControl": "sample string 5",
"data": "sample string 6",
"remoteUrl": "sample string 7"
}'
https://domain.com/v2.1/accounts/{{accountId}}/envelopes/{{envelopeId}}/attachments/{{attachmentId}}
Postman Collection Item JSON
{
"name": "Add an attachment to a DRAFT or IN-PROCESS envelope.",
"request": {
"method": "PUT",
"header": [
{
"key": "Accept",
"value": "application/json"
},
{
"key": "Authorization",
"value": "Bearer {{accessToken}}"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"attachmentId\": \"sample string 1\",\n \"label\": \"sample string 2\",\n \"attachmentType\": \"sample string 3\",\n \"name\": \"sample string 4\",\n \"accessControl\": \"sample string 5\",\n \"data\": \"sample string 6\",\n \"remoteUrl\": \"sample string 7\"\n}"
},
"url": {
"raw": "{{baseUrl}}/v2.1/accounts/{{accountId}}/envelopes/{{envelopeId}}/attachments/{{attachmentId}}",
"host": [
"{{baseUrl}}"
],
"path": [
"v2.1",
"accounts",
"{{accountId}}",
"envelopes",
"{{envelopeId}}",
"attachments",
"{{attachmentId}}"
],
"variable": [
{
"key": "accountId",
"value": "{{accountId}}"
},
{
"key": "attachmentId",
"value": "{{attachmentId}}"
},
{
"key": "envelopeId",
"value": "{{envelopeId}}"
}
]
}
},
"response": [
]
}