Vous pouvez uniquement créer une transaction à partir d’un modèle publié.
Lors de la création d’une transaction à partir d’un modèle, seul le paramètre template_id est requis. Tous les autres paramètres sont optionnels, sauf s’ils sont exigés par le créateur du modèle.
Le créateur du modèle peut définir certains éléments (document, spécimen ou participant) comme optionnels. Dans ce cas, lors de la création d’une transaction, vous pouvez choisir d’inclure ou de supprimer les éléments optionnels (comme illustré dans l’exemple de requête ci-dessous).
Pour créer une transaction à partir d’un modèle, envoyez une requête vers POST /v1/transactions/template et transmettez l’argument template_id.
curl
https://api.universign.com/v1/transactions/template \
-d template_id: tpl_weVPZX7wDvm7 \
-d folder_id: fol_DGX2qbq6yGmm \
-d autostart: true \
-d name: MyTemplateTransaction \
-d participants[$1740405926564].email: [email protected] \
-d participants[[email protected]].remove: true \
-d documents[doc_0VK8].file: file_3D2xGaD8ZzaEdsl3mDwv4Lq2zA \
-d documents[doc_0VK8].name: Contract template.pdf \
-d fields[fld_dn0].x: 324 \
-d fields[fld_dn0].y: 422 \
-d fields[fld_dn0].page: 2 \
-d fields[fld_dn0].height: 25 \
-d fields[fld_dn0].width: 100 \
-d fields[fld_QPYM].x: 64 \
-d fields[fld_QPYM].y: 425 \
-d fields[fld_QPYM].page: 2
-d fields[fld_dn0].height: 23 \
-d fields[fld_dn0].width: 92\
template_id: L’identifiant du modèle utilisé pour créer la transaction.folder_id: L’identifiant du dossier dans lequel vous souhaitez créer la transaction.autostart: Indique si la transaction doit se lancer automatiquement.name: Le nom de la transaction.participant[$id].email: L’email du participant inconnu.participant[email].remove: Définir àtruesi vous ne souhaitez pas inclure ce participant dans la transaction. À utiliser uniquement siremovableest vrai.document[$id].file: L’identifiant du fichier final remplaçant le spécimen du modèle.document[$id].name: Le nom du document final remplaçant le spécimen. Ne peut pas être défini si le nom du spécimen est verrouillé par le créateur du modèle.fields[id].x: La coordonnée horizontale du champ sur la page du document (en pixels).fields[id].y: La coordonnée verticale du champ sur la page du document (en pixels).fields[id].page: Le numéro de la page où positionner le champ.-
fields[id].height: La hauteur du champ (exprimée dans les unités d’espace utilisateur par défaut du PDF). À définir uniquement si le type de champ estsignature,text,labeloudropdown. Si elle n’est pas indiquée, la hauteur est définie sur la hauteur de la police. La valeur par défaut est19. Pour les champssignature, la valeur minimale est23et le ratio de hauteur doit être 4 x la largeur. -
fields[id].width: La largeur du champ (exprimée dans les unités d’espace utilisateur par défaut du PDF). À définir uniquement si le type de champ estsignature,text,labeloudropdown. La valeur par défaut est200. Pour les champssignature, la valeur minimale est92et le ratio de hauteur doit être 4 x la largeur. fields[id].value: La valeur d’un champtextoulabelaffichée au participant. À définir uniquement sivalue_lockedestfalse(ce qui signifie que le créateur du modèle autorise l’utilisateur du modèle à remplir le champ lorsqu’il utilise le modèle).
Dans cet exemple de demande, le créateur du modèle a demandé :
- un participant connu facultatif,
- un participant inconnu obligatoire à définir,
- un spécimen à remplacer par le document final à signer.
L’API renvoie un objet de transaction.
{
"object" : "transaction",
"id" : "tx_kLVed6DQdd34",
"folder_id" : "fol_DGX2qbq6yGmm",
"created_at" : "2025-02-24T16:43:41Z",
"started_at" : "2025-02-24T16:43:41Z",
"expires_at" : "2025-03-10T16:43:41Z",
"name" : "MyTemplateTransaction",
"folder_name" : "Default folder",
"stalled" : false,
"language" : "fr",
"sender_name_display" : "issuing_entity",
"creator" : {
"name" : "John ",
"email" : "[email protected]",
"workspace_name" : "DemoWS"
},
"state" : "started",
"participants" : [ {
"email" : "[email protected]",
"phone_number_type" : "suggestion",
"min_signature_level" : "level1",
"schedule" : [ 0 ],
"ongoing_conversation" : false,
"has_unread_message" : false,
"state" : "open",
"access_control" : "standard",
"shared_contact" : false,
"waiting_period" : 0,
"full_name_type" : "suggestion"
} ],
"watchers" : [ {
"member_id" : "mbr_x7qgzxz9e1XM",
"email" : "[email protected]",
"full_name" : "John "
} ],
"sealers" : [ ],
"documents" : [ {
"id" : "doc_GX67",
"name" : "Mandatory document",
"editable" : true,
"updatable" : true,
"deletable" : false,
"fields" : [ {
"id" : "fld_v5K",
"position" : {
"page" : 2,
"x" : 324,
"y" : 422,
"width" : 100,
"height" : 25
},
"type" : "signature",
"built_in" : false,
"consents" : [ ],
"optional_consents" : [ ],
"updatable" : true,
"deletable" : true
}, {
"id" : "fld_64aO",
"position" : {
"page" : 2,
"x" : 64,
"y" : 425,
"width" : 92,
"height" : 23
},
"type" : "signature",
"built_in" : false,
"consents" : [ ],
"optional_consents" : [ ],
"updatable" : true,
"deletable" : false
} ],
"big_file" : false,
"available" : true
} ],
"field_groups" : [ {
"id" : "fld_v5K",
"type" : "field"
}, {
"id" : "fld_64aO",
"type" : "field"
} ],
"instructions" : {
"signatures" : [ {
"signer" : "[email protected]",
"field" : "fld_64aO"
} ],
"reviews" : [ ],
"captures" : [ ],
"sequencing" : [ ],
"editions" : [ ]
},
"actions" : [ {
"id" : "act_1ZOnqm0kxxkaZ",
"actor" : "[email protected]",
"state" : "open",
"url" : "https://apps.universign.net/npds/act_1ZOnqm0kxxkaZ",
"tasks" : [ {
"type" : "signature",
"state" : "todo",
"field" : "fld_64aO"
} ],
"stalled" : false
} ],
"action_graph" : {
"start" : [ "act_1ZOnqm0kxxkaZ" ],
"act_1ZOnqm0kxxkaZ" : [ "end" ]
},
"metadata" : { },
"progress_value" : 0,
"ongoing_conversation" : false,
"has_unread_message" : false,
"origin" : "webapp",
"carbon_copies" : [ ],
"task_count" : 1,
"tasks_to_do" : 1,
"collected" : [ ],
"can_reviewer_access_signed_documents" : true,
"issuing_entity" : {
"id" : "iss_aX0wDPD86DlQ",
"name" : "DemoWS",
"lock_sender_name_display" : false
},
"max_expiry" : "180_days",
"uploads" : [ ],
"private" : true
}
