Sceller un document

Prérequis

Un cachet est une signature apposée par une personne morale. Pour activer la fonctionnalité de cachet électronique, votre espace de travail doit disposer d’un certificat de personne morale (CPM), délivré par Universign sur demande.

Pour demander qu’un document soit scellé par une personne morale, vous devez d’abord créer un champ de signature, puis attribuer un identifiant de cachet à ce champ.

Créer un champ de signature

Pour créer un champ, envoyez une requête à POST /v1/transactions/{transaction_id}/documents/document{id}/fields et transmettez signature dans l’argument type (notez qu’il s’agit de la valeur par défaut, il n’est donc pas obligatoire de définir le type).

curl
https://api.universign.com/v1/transactions/tx_AWo949MOq0JE/documents/doc_wWz6/fields \
-d type=signature

L’API renvoie un champ avec un ID :

{
    "id": "fld_a998",
    "type": "signature",
    "built_in": false,
    "consents": [],
    "updatable": true,
    "deletable": true
}

Notez que la taille du cachet est fixée à 200px x 50px et ne peut pas être modifiée. Assurez-vous que le cachet est bien positionné dans le document. Si l’un des bords du cachet dépasse les limites du document, l’API renvoie une erreur.

Attribuer un identifiant de cachet au champ

Pour apposer un cachet sur un document, envoyez une requête à POST /v1/transactions/{transaction_id}/signatures et transmettez l’identifiant du champ (via l’argument field) et l’identifiant du cachet (via l’argument signer), comme suit :

curl 
https://api.universign.com/v1/transactions/tx_AWo949MOq0JE/signatures \
-d signer=lpc_5x \
-d field=fld_a998

Éditer le logo d’un cachet

Vous pouvez utiliser un logo personnalisé pour le cachet qui sera apposé sur votre document. Vous pouvez utiliser le logo Universign, le logo de l’entité émettrice ou même apposer un cachet sur un document sans logo. Cet endpoint vous permet de définir le logo qui apparaîtra sur votre document scellé.

Pour éditer le logo qui s’affichera sur votre document scellé, envoyez une requête à POST /v1/transactions/{transaction_id}/seals/{seal_id} et transmettez l’argument logo_display :

curl https://api.universign.com/v1/transactions/tx_AWo949MOq0JE/seals/lpc_5x \
-d logo_display=issuing_entity

Les valeurs acceptées pour logo_display sont les suivantes :

  • certifcate : si vous souhaitez utiliser le logo Universign
  • issuing_entity : si vous souhaitez utiliser le logo de l’entité émettrice (valeur par défaut)
  • none : si vous ne souhaitez utiliser aucun logo

L’API renvoie un sous-objet seal.

{
  "id": "lpc_5x",
  "name": "scdName",
  "logo_display": "issuing_entity"
}

Personnaliser un logo de sceau (Uniquement pour la Full transaction request)

Vous pouvez utiliser un logo de cachet personnalisé lorsque vous demandez une Full transaction request. Pour ce faire, vous devez d’abord posséder un certificat de personne morale (CPM). Ensuite, ajoutez les arguments id du certificat et signature_image à votre requête. Notez que vous ne pouvez définir signature_image que si la valeur logo_display est certificate.

"sealers": [
  {
  "id": "lpc_wa7ZVZGxzOq0",
  "signature_image" : "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"
  }
]

Conditions

  • Le logo du cachet est transmis en base64.
  • Le logo du cachet ne doit pas dépasser 2 Mo.
  • Seuls les formats PNG et JPG sont acceptés.

Pour plus d’informations, consultez Full transaction request.

Désassigner un signataire d’un champ

Vous pouvez désassigner un signataire d’un champ. Pour ce faire, ajoutez l’argument delete à votre requête et définissez-la sur true.

curl 
https://api.universign.com/v1/transactions/tx_AWo949MOq0JE/signatures \
-d signer=lpc_5x \
-d field=fld_a998 \
-d delete=true

Positionner un champ

Un cachet peut être visible ou invisible dans le PDF. Lorsque vous créez un champ, il est invisible par défaut, mais vous pouvez spécifier sa position sur une page du document.

Vous pouvez spécifier la position du champ en définissant ses coordonnées sur la page du document ou en utilisant une ancre :

Avec des coordonnées

La position d’un champ est définie par le numéro de page ainsi que par les coordonnées horizontales (x) et verticales (y) en pixels. Pour spécifier la position, envoyez une requête à POST /v1/transactions/{transaction_id}/documents/{document_id}/fields/{field_id} et transmettez les arguments de position :

curl
https://api.universign.com/v1/transactions/tx_AWo949MOq0JE/documents/doc_wWz6/fields/fld_a998 \  
-d page=1 \ 
-d x=75 \ 
-d y=200  

Avec une ancre

Universign peut rechercher une chaîne de caractères dans le document et positionner automatiquement le champ de signature en dessous. Pour positionner le champ, envoyez une requête à POST /v1/transactions/{transaction_id}/documents/{document_id}/fields et transmettez la valeur de la chaîne de caractères dans l’argument anchor :

curl
https://api.universign.com/v1/transactions/tx_AWo949MOq0JE/documents/doc_wWz6/fields \
-d anchor=client signature  

Notez que la position d’un champ peut être définie lors de la création du champ via l’endpoint (POST /v1/transactions/{transaction_id}/documents/document{id}/fields), ou lorsque le champ existe déjà via l’endpoint (POST /v1/transactions/{transaction_id}/documents/{document_id}/fields/{field_id}).


Demander une consultation
Demander une validation
Espace Développeur
Guides
Services
Référence API