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 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

https://[host]/calinda/hub/selling/model/contractorsforcontract/list?action=getContractorsAbout&contract_id=[id du contrat]&offset=[position dans la liste]&size=[taille de la liste]

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 :

{
    "elements": [{
        "id": 941,
        "contractId": 1168,
        "contractorId": 281,  //identifiant du signataire
        "signatureMode": 2,
        "signatureStatus": "SIGNED", // état de la signature
        "signatureId": "33882819",
        "signatureDate": 1477673562987,  // date UTC en millisecondes depuis le 1 jan 1970
        "lastModificationDate": 1477673551721,
        "lastModificationPlace": "SERVER"
    }],
    "totalSize": 1
}
API : Récupération du résultat de la transaction
5 (100%) 1 vote