Créer la requête provisionnée

Afficher en MarkdownOuvrir dans Claude

Provisionnement de la demande

Une demande de signature peut être provisionnée en effectuant les appels suivants à l’API REST du Request Manager depuis le backend, en transmettant la clé API dans l’en-tête d’autorisation :

Provisionnement d'une requête de signature
Provisionnement d'une requête de signature
  • Créer une demande de signature et obtenir un ID de demande,

  • Téléverser les documents que vous souhaitez rattacher à la demande de signature,

  • Passer le statut de la demande de signature à started.

Pensez à toujours effectuer ces appels depuis le backend de votre application demandeuse. La clé API configurée précédemment dans le fichier client.properties doit être stockée et conservée secrète dans l’application demandeuse.

Créer une demande

Voici comment l’application demandeuse initie une demande de signature pour une signature serveur :

POST /api/requests HTTP/1.1
Authorization: ApiKey 5xVpCQPEYdncwHXwCDf5sqyfN9GPrio5
Content-Type: application/json
Content-Length: 64
{
"params" : {
"signerEmail" : "john.doe@my-idp.com"
}
}

Remarquez comment nous pouvons imposer l’identité du signataire en transmettant des déclarations (claims) sur son identité.

Un objet demande est renvoyé, incluant un ID de demande :

{
"clientId" : "01",
"created" : 1787667779656,
"id" : "req_01_6V3nZjiXXcMkrtUwZy4Ljj2K",
"params" : {
"bypassViewer" : "false",
"signerEmail" : "john.doe@my-idp.com"
},
"profiles" : {
"default" : {
"forceScrollDocument" : "false"
}
},
"status" : "created",
"updated" : 1787667779656
}

Consultez la documentation API relative à la création d’une requête pour plus d’informations sur ce point d’entrée.

Paramètres de la demande

Les paramètres de demande peuvent être configurés dans le fichier client.properties afin de s’appliquer à toutes les demandes de signature provisionnées par une application demandeuse spécifique. Par exemple, voici comment imposer la locale dans la page de consentement :

params.locale=fr

Consultez la section Guides > Opération > Configuration pour plus d’informations sur le fichier client.properties.

Par commodité, les paramètres de demande peuvent également être transmis à la création de la demande :

POST /api/requests HTTP/1.1
Authorization: ApiKey 5xVpCQPEYdncwHXwCDf5sqyfN9GPrio5
Content-Type: application/json
Content-Length: 42
{
"params" : {
"locale" : "fr"
}
}

Profils de signature

Un profil de signature est un ensemble de paramètres de signature appliqués lors de la signature d’un document. Les profils de signature peuvent être configurés dans le fichier client.properties afin d’être disponibles pour toutes les demandes de signature provisionnées par une application demandeuse spécifique.

profiles.myProfile.signatureType=pades
profiles.myProfile.signatureLevel=lta
profiles.myProfile.forceScrollDocument=true

Consultez la section Guides > Opération > Configuration pour plus d’informations sur le fichier client.properties.

Téléverser les documents

Pour chaque document à signer, l’application demandeuse téléverse le contenu du document, en transmettant l’ID de la demande dans l’URL et le nom de fichier dans un en-tête HTTP :

POST /api/requests/req_01_6V3nZjiXXcMkrtUwZy4Ljj2K/profiles/default/documents HTTP/1.1
Authorization: ApiKey 5xVpCQPEYdncwHXwCDf5sqyfN9GPrio5
Content-Disposition: attachment; filename="document.pdf"
Content-Type: application/pdf
%PDF-1.3
%[contenu binaire du fichier PDF]
4 0 obj
<< /Length 5 0 R /Filter /FlateDecode >>
stream
...

Un objet document est renvoyé :

{
"created" : 1787667779665,
"displayedParts" : [ {
"contentType" : "application/pdf",
"filename" : "document.pdf",
"hash" : "obcUcumzUOJsClVDv/jHTNefKTRlTJULnZx4dfOrx+I=",
"name" : "data",
"profileId" : "default",
"size" : 12341
} ],
"id" : "doc_PCaHAgw3UfT1S5D32Rt2q8s4",
"parts" : [ {
"contentType" : "application/pdf",
"filename" : "document.pdf",
"hash" : "obcUcumzUOJsClVDv/jHTNefKTRlTJULnZx4dfOrx+I=",
"name" : "data",
"profileId" : "default",
"size" : 12341
} ],
"profileId" : "default",
"requestId" : "req_01_6V3nZjiXXcMkrtUwZy4Ljj2K",
"workflowIdx" : 0
}

Consultez la documentation API relative à l’ajout de documents pour plus d’informations sur ce point d’entrée.

Par commodité, les profils de signature peuvent également être configurés par demande de signature, en transmettant des paramètres à la création de la demande :

POST /api/requests HTTP/1.1
Authorization: ApiKey 5xVpCQPEYdncwHXwCDf5sqyfN9GPrio5
Content-Type: application/json
Content-Length: 152
{
"profiles" : {
"myProfile" : {
"signatureType" : "pades",
"signatureLevel" : "lta",
"forceScrollDocument" : "true"
}
}
}

Un profil de signature spécifique peut ensuite être utilisé lors du téléversement d’un document en transmettant l’ID du profil dans l’URL :

POST /api/requests/req_01_K4g2LkhhAXvruWbtt2KWM6ag/profiles/myProfile/documents HTTP/1.1
Authorization: ApiKey 5xVpCQPEYdncwHXwCDf5sqyfN9GPrio5
Content-Type: application/pdf
%PDF-1.3
%[contenu binaire du fichier PDF]
4 0 obj
<< /Length 5 0 R /Filter /FlateDecode >>
stream
...

Démarrer la demande

Une fois les documents à signer téléversés, l’application demandeuse passe le statut de la demande de signature à started, en transmettant l’ID de la demande dans l’URL :

POST /api/requests/req_01_6V3nZjiXXcMkrtUwZy4Ljj2K/start HTTP/1.1
Authorization: ApiKey 5xVpCQPEYdncwHXwCDf5sqyfN9GPrio5

L’URL de la page de consentement est renvoyée, incluant un jeton de demande :

{
"consentPageUrl" : "https://evidence-manager.lex-persona.com/?requestToken=eyJhbGciOiJIUzI1NiJ9.eyJjbGllbnRJZCI6IjAxIiwiY29uc2VudFZlcnNpb24iOiJWMiIsInNhbHQiOiJKOXNVWlI2RiIsInJtVmVyc2...#requestId=req_01_6V3nZjiXXcMkrtUwZy4Ljj2K"
}

Consultez la documentation API relative au lancement de la requête pour plus d’informations sur ce point d’entrée.