The SELL&SIGN API gives you the possibility to create new contracts, to manage your customer base and to manage the contracts in progress. This API is accessible in Java, JavaScript, and as a REST-like web service.
With the same SELL&SIGN API, you can create digital signature transactions in the 3 SELL&SIGN signature modes:
-
Online Digital Signature
The API lets you get any PDF document signed online on your website or in your web application
-
Digital Signature by E-mail
With the same API, you can also trigger the sending of a PDF document by e-mail to get it signed remotely
-
Digital Signature on a Tablet
This API gives you the ability to synchronize the PDF document with your tablet to sign it face-to-face
This documentation focuses on the case of an existing PDF document you want to get signed.
However, the SELL&SIGN API also gives the possibility to handle other situations, like the creation of a personalized signature course with marketing visuals, pictures board and an automated generation of the PDF contract ready to be signed.
Please contact us to access these advanced features of SELL&SIGN!
Using the API with HTTP GET
Although the HTTP PUT method is highly recommended, the REST API is accessible by simple HTTP GET calls on URLs built like this:
https://[host]/calinda/hub/selling/model/[class]/[action type]?action=[method]&[parameters]
Example on the SELL&SIGN cloud
To retrieve all the contract templates present on your licence.
https://cloud.sellandsign.com/calinda/hub/selling/model/contractdefinition/list?action=getContractDefinitionList
Returns:
[{
"id":86, // this is the identifier of the PDF ADHOC contract template in this sample license
"name":"Get a PDF document signed",
"documentName":"","documentToken":"",
"imageToken":"abc123",
"rank":1,
"onFlyComposable":false,
"syncTimer":1451488562978,
"lastModificationPlace":"SERVER",
"minContractor":1,
"maxContractor":100,
"signatureModePageRequired":true,
"conditionToken":"",
"autovalidationToken":"",
"contentToken":"",
"showOptions":false
},
{
"id":162,
"name":"Calinda Sellsign",
"documentName":"Calinda_sell_sign",
"documentToken":"abc123",
"imageToken":"abc123\u003d",
"rank":5,
"onFlyComposable":false,
"syncTimer":1475845922546,
"lastModificationPlace":"SERVER",
"minContractor":1,
"maxContractor":1,
"signatureModePageRequired":true,
"conditionToken":"",
"autovalidationToken":"",
"contentToken":"abc123",
"showOptions":false
},
{
"id":344,
"name":"mandat SEPA",
"documentName":"SEPA",
"documentToken":"abc123",
"imageToken":"abc123",
"rank":6,
"onFlyComposable":false,
"syncTimer":1464001096006,
"lastModificationPlace":"SERVER",
"minContractor":1,
"maxContractor":1,
"signatureModePageRequired":true,
"conditionToken":"",
"autovalidationToken":"",
"contentToken":"",
"showOptions":false,
"reportGeneratorToken":""
}]
Example on the SELL&SIGN cloud
To retrieve the signature modes allowed for the contract template number 86.
https://cloud.sellandsign.com/calinda/hub/selling/model/signaturemode/list?action=getSignatureModesFor&contract_definition_id=86
Returns:
{
"newElementAdded":true,"elements":
[{
"id":101,
"contractDefinitionId":86,
"mode":"INSTANT_OTP",
"status":1,
"lastModificationDate":1451488562992,
"lastModificationPlace":1
},
{
"id":102,
"contractDefinitionId":86,
"mode":"INSTANT_PAD",
"status":1,
"lastModificationDate":1451488562997,
"lastModificationPlace":1
},
{
"id":103,
"contractDefinitionId":86,
"mode":"MAIL_OTP",
"status":1,
"lastModificationDate":1451488563000,
"lastModificationPlace":1
}],
"totalSize":3
}
In order to avoid some limitations like the limited length of the URLs, using the API in HTTP POST is recommended.
Using the API in HTTP POST
The API in HTTP POST and in HTTP GET both work with the same interfaces. The difference is in the way of communicating the parameters to the server. Indeed, instead of beeing included as URL parameters, they are transmitted to the server directly in the request, in the form of a JSON structure.
For exemple, a HTTP POST on the following URL:
https://[host]/calinda/hub/selling/model/[class]/[action type]?action=[method]
will result in calling the method « method », and the settings will be directly passed in the HTTP request, like on the following example:
Example on the SELL&SIGN cloud
To get the signature modes allowed for the contract form number 1.
POST https://cloud.sellandsign.com/calinda/hub/selling/model/signaturemode/list?action=getSignatureModesFor
{
"contract_definition_id" : "1"
}
Returns the same as the equivalent GET call:
{
"newElementAdded":true,"elements":
[{
"id":101,
"contractDefinitionId":86,
"mode":"INSTANT_OTP",
"status":1,
"lastModificationDate":1451488562992,
"lastModificationPlace":1
},
{
"id":102,
"contractDefinitionId":86,
"mode":"INSTANT_PAD",
"status":1,
"lastModificationDate":1451488562997,
"lastModificationPlace":1
},
{
"id":103,
"contractDefinitionId":86,
"mode":"MAIL_OTP",
"status":1,
"lastModificationDate":1451488563000,
"lastModificationPlace":1
}],
"totalSize":3
}
In case of HTTP error
An error HTTP 400 could indicate a missing required parameter, or an inappropriate value. The message included in the error will give you the detailed cause. In case of error HTTP 500, you can contact the support team for assistance by posting a ticket on our support portal.