header API

API : Récupération du résultat de la transaction

Une fois la transaction effectuée, il est facile de récupérer son résultat, et d'accéder à tous les détails et documents afférents.

Récupération des informations du contrat

https://[host]/calinda/hub/selling/model/contract/read?action=getContract&contract_id=[id du contrat]

Résultat (contrat qui a été signé à distance par mail, dont on retrouve le sujet et le corps ici) :

{"id":18827, // id du contrat
"date":1456299951109,
"documentToken":"MtqsdfssMDA3OTQ3MF8xODA1Ml84MTA1OTYu003d",
"vendorEmail":"vendeur@votreentreprise.com",
"closed":true,
"transactionId":"2c969e2b52a819ad01531240f5bf7b38", 
// identifiant de la transaction chez tiers de confiance
"status":"ARCHIVED",
"customerEntityId":0,
"contractDefinitionId":86,
"customerNumber":"4xNDU2Mjk5MjYyMzU1LjU1OTQw",
"syncTimer":1456762870396,
"messageTitle":"Proposition Sellu0026Sign à distance",
"messageBody":"Bonjour,u003cbr/u003eu003cbr/u003eComme convenu voici ma proposition pour équiper tes équipes de 6 licences Sellu0026Sign à distance.u003cbr/u003eu003cbr/u003eTu peux signer électroniquement cette proposition en cliquant sur le bouton "signer le document" ci-dessous.u003cbr/u003eu003cbr/u003eBien à toi,u003cbr/u003eu003cbr/u003e",
"filename":"Proposition_SellSign_1.0_240216.pdf",
"keepOnMove":0}

Et voilà ! Le contrat et tous ses documents sont à présent disponibles dans votre Backoffice SELL&SIGN.

Il est également aisé de récupérer par API les éléments liés au contrat.

Récupération du document signé

https://[host]/calinda/hub/selling/do?m=getSignedContract&contract_id=[id du contrat]

Le résultat est un fichier binaire de type de contenu application/pdf. Si le contrat n'est pas encore prêt, le serveur peut retourner une erreur 500 avec un message précisant que le contrat n'est pas encore disponible.

Récupération du document PDF quelque soit le statut du contrat

https://[host]/calinda/hub/selling/do?m=getCurrentDocumentForContract&id=[id du contrat]

Le résultat est un fichier binaire de type de contenu application/pdf.

Récupération du dossier de preuve

https://[host]/calinda/hub/selling/do?m=getEvidences&contract_id=[id du contrat]

Le résultat est un fichier binaire de type de contenu application/zip. Si le dossier de preuve n'est pas encore disponible, un erreur 500 est retournée avec un message indiquant l'état.
La structure du fichier zip est la suivante :
/fichier pdf
/fichier xml de preuves
/pieces/piece jointe 1
/pieces/piece jointe ...
/pieces/fichier json contenant les informations recueillies sur l'équipement mobile ayant généré le contrat si celui ci a été réalisé 'offline'

Récupération des pièces jointes d'un contrat

Il faut tout d'abord lister les pièces jointes pour un contrat

https://[host]/calinda/hub/selling/model/picture/list?action=getPicturesForContract&contract_id=[id du contrat]

On obtient en résultat une liste de pièces jointe :

{"elements":[{"id":15,"optionId":603,"lastModificationDate":1468240073319,"imageToken":"MTQ2ODI0MDA3MzMwMF82MDNfNTIxNDY=","lastModificationPlace":"SERVER","name":"B61jolYIQAANbJv.png","contentType":"image\/png"},{"id":14,"optionId":603,"lastModificationDate":1468240070442,"imageToken":"MTQ2ODI0MDA3MDQzMl82MDNfOTY4MzYw","lastModificationPlace":"SERVER","name":"Milkyway-and-Earth_www.FullHDWpp.com_.jpg","contentType":"image\/jpeg"}],"totalSize":2}

A partir de l'attribut 'imageToken', il est possible de télécharger le contenu de la pièce en appelant :

https://[host]/calinda/hub/selling/do?m=loadPicture&image_token=[le token extrait de la liste]

Le résultat est un fichier binaire de type de contenu correspondant à la pièce jointe (cette information se retrouve aussi dans la liste obtenue plus tôt)

Récupération des états de signature d'un contrat

POST https://<service-url>/calinda/hub/selling/model/contractorstatus/list?action=loadContractorsStatusForContractDashboard

Cette méthode vous permet de parcourir la liste des signataires, vous devrez donc spécifier un offset et une taille pour définir votre sous liste retournée.
On obtient une liste d'état des signatures du contrat sous la forme :

{ 
"contract_id": "[contract id]",
"keyword":"[keyword to search a contractor by firstname/lastname/email]",
"status":"[the state of the signature NONE / SENT / SIGNED]",
“offset” : [offset],
“size”: [size]
}

On obtient une liste d'état des signatures du contrat sous la forme :

{"elements":[{"contractId":120,"signatureMode":7,"signatureStatus":"SENT","signatureId":"","signatureDate":0,"lastSignDateCheck":1579875400254,"lastSignPlaceCheck":"SERVER","contractorForContractId":7961,"rank":0,"messageTitle":"","messageBody":"","id":2514,"customerNumber":"MTQ2Mi4xNTc5ODcyMjk1MjA3LjQyODk3","civility":"MONSIEUR","firstname":"A","lastname":"Y","email":"addremail@email.com","address1":"1 rue neuve","postalCode":"13001","city":"Marseille","syncTimer":1579877412186,"lastModificationPlace":"SERVER","companyName":"MYCOMP","isDefault":0,"country":"France","cellPhone":"0123456789","birthdate":0,"actorId":1522,"localisation":"fr_FR"},{"contractId":120,"signatureMode":3,"signatureStatus":"SIGNED","signatureId":"116080383","signatureDate":1579877179372,"lastSignDateCheck":1579877179372,"lastSignPlaceCheck":"SERVER","contractorForContractId":795,"rank":1,"messageTitle":"","messageBody":"","refusal":{"id":103,"contractorsForContractId":795,"message":"NON C'EST NON","refusalDate":1579876170998,"acknowledgedFlag":0,"comment":"","contractId":120,"lastModificationDate":1579876170998,"lastModificationPlace":"SERVER"},"id":2513,"customerNumber":"MTQ2Mi4xNTc5ODcyMjk1MjA3LjQyODk3","civility":"MONSIEUR","firstname":"A","lastname":"M","phone":"","email":"anotheremail@email.com","address1":"1 rue du bord de mer","address2":"","postalCode":"13001","city":"Marseille","syncTimer":1579877412280,"lastModificationPlace":"SERVER","companyName":"MY COMP","isDefault":1,"country":"France","cellPhone":"0123456789","jobTitle":"","registrationNumber":"","birthdate":0,"birthplace":"","actorId":9,"localisation":"fr_FR"}],"totalSize":2}

Gestion des refus de signature

Récupérer un refus de signature 

Permet de récupérer les détails d'un refus de signature à partir de son id.

POST/GET https://cloud.sellandsign.com/calinda/hub/selling/model/refusal/read?action=getRefusal
Request Format: JSON (contentType: application/json;charset=utf-8)
Request Structure: { "id": [refusal id] }
Response Format: JSON
Response Structure: {"id":162,"contractorsForContractId":7750,"message":"test","refusalDate":1000000000000,"comment":"truc","contractId":8267,"lastModificationDate":1576596935744,"lastModificationPlace":"SERVER"}
GET example
https://cloud.sellandsign.com/calinda/hub/selling/model/refusal/read?action=getRefusal&id=162

Récupérer le dernier refus d'un signataire

Permet de récupérer le refus de signature le plus récent pour un signataire sur un contrat (via le contractors_for_contract id).

POST/GET https://cloud.sellandsign.com/calinda/hub/selling/model/refusal/read?action=getLastRefusal
Request Format: JSON (contentType: application/json;charset=utf-8)
Request Structure: { "contractors_for_contract_id": [signature id] }
Response Format: JSON
Response Structure: {"id":164,"contractorsForContractId":7750,"message":"test","refusalDate":2876596935744,"acknowledgedFlag":2,"comment":"otherthings","contractId":8267,"lastModificationDate":1576661782652,"lastModificationPlace":"SERVER"}
GET example
https://cloud.sellandsign.com/calinda/hub/selling/model/refusal/read?action=getLastRefusal&contractors_for_contract_id=7750

Récupérer tous les refus d'un signataire

Permet de récupérer tous les refus de signature pour un signataire sur un contrat (via le contractors_for_contract id). Les résultats peuvent être découpés par un offset et une taille.

POST/GET https://cloud.sellandsign.com/calinda/hub/selling/model/refusal/read?action=getRefusals
Request Format: JSON (contentType: application/json;charset=utf-8)
Request Structure:
"contractors_for_contract_id": [signature id],
“offset” : [offset],
“size”: [size]
}
Response Format: JSON
Response Structure:
{
   "elements": [
{ "id": 164,"contractorsForContractId": 7750,"message": "test","refusalDate": 2876596935744,"acknowledgedFlag": 2,"comment": "otherthings","contractId": 8267,"lastModificationDate": 1576661782652,"lastModificationPlace": "SERVER"},
{ "id": 163,"contractorsForContractId": 7750,"message": "test","refusalDate": 1876596935744,"acknowledgedFlag": 1,"comment": "truc","contractId": 8267,"lastModificationDate": 1576598255068,"lastModificationPlace": "SERVER"},
…,
{"id": 171,"contractorsForContractId": 7750,"message": "why","refusalDate": 1000000000000,"acknowledgedFlag": 1,"comment": "something","contractId": 8267,"lastModificationDate": 1576662581684,"lastModificationPlace": "SERVER"}
],
   "totalSize": 5
}
GET example
https://cloud.sellandsign.com/calinda/hub/selling/model/refusal/read?action=getRefusals&contractors_for_contract_id=7750

Récupérer les derniers refus de signature pour un contrat

Permet de récupérer les derniers refus de signature pour un contrat ( identifié par son contract id), dans l'ordre chronologique inverse. Les résultats peuvent être découpés par un offset et une taille.

POST/GET https://cloud.sellandsign.com/calinda/hub/selling/model/refusal/read?action=getLastRefusalsByContract
Request Format: JSON (contentType: application/json;charset=utf-8)
Request Structure:
{
"contract_id": [contract id],
“offset” : [offset],
“size”: [size]
}
Response Format: JSON
Response Structure:
{
   "elements": [
{ "id": 164,"contractorsForContractId": 7750,"message": "test","refusalDate": 2876596935744,"acknowledgedFlag": 2,"comment": "otherthings","contractId": 8267,"lastModificationDate": 1576661782652,"lastModificationPlace": "SERVER"},
{ "id": 163,"contractorsForContractId": 7750,"message": "test","refusalDate": 1876596935744,"acknowledgedFlag": 1,"comment": "truc","contractId": 8267,"lastModificationDate": 1576598255068,"lastModificationPlace": "SERVER"},
…,
{"id": 171,"contractorsForContractId": 7750,"message": "why","refusalDate": 1000000000000,"acknowledgedFlag": 1,"comment": "something","contractId": 8267,"lastModificationDate": 1576662581684,"lastModificationPlace": "SERVER"}
],
   "totalSize": 5
}
GET example
https://cloud.sellandsign.com/calinda/hub/selling/model/refusal/read?action=getLastRefusalsByContract&contract_id=81