Création de document
/document/saveclé privéeprk_Ce service permet de générer un document de manière dynamique à partir d'un modèle Auco ou d'un document personnalisé créé au préalable. Contrairement à l'envoi direct d'un fichier PDF, dans ce flux le document n'est pas joint en tant que fichier. Seules les informations (variables) requises par le modèle ou le document de base sont envoyées ; elles servent à générer automatiquement le document et à activer le processus de signature.
Avant d'intégrer ce point de terminaison, vous pourriez avoir besoin de consulter comment définir les positions de signature et les configurations de validation d'identité.
Étapes pour créer un document :
- Consulter les modèles ou documents personnalisés disponibles : Commencez par consulter les ressources disponibles (modèles propres ou Auco) afin d'identifier le document de base que vous souhaitez utiliser.
- Obtenir l'identifiant (_id) du document de base : Une fois le modèle ou le document souhaité identifié, obtenez son _id pour poursuivre le processus.
- Consulter les variables requises du document sélectionné : Utilisez le service correspondant pour récupérer la liste des variables à renseigner. Cette étape est essentielle pour construire correctement la requête de création du document.
- Construire et envoyer la requête de création : Avec les informations sur les variables, vous pouvez assembler le corps de la requête (POST) pour générer le document.
Vous trouverez ci-dessous les paramètres nécessaires pour ce service, ainsi que des exemples et les réponses possibles du système.
Authentification
Incluez votre clé privée dans l'en-tête Authorization.
Authorization: prk_xxx...
Paramètres de création
| Nom | Type | Description |
|---|---|---|
email | String obligatoire | E-mail du créateur du processus. |
document | String obligatoire | ID du document personnalisé ou du modèle Auco. |
sign | Boolean obligatoire | Paramètre qui définit si le processus se déroulera par signature numérique et électronique. La valeur par défaut est false ; dans ce cas, le document sera envoyé par e-mail pour être imprimé. |
name | String obligatoire | Nom du processus de signature du document, uniquement si le processus de pièce jointe inclut la signature du document. |
message | String conditionnel | Message qui sera inclus dans le corps de l'e-mail notifiant les signataires ou approbateurs du document. Obligatoire lorsqu'un participant est notifié par e-mail. |
subject | String conditionnel | Objet avec lequel l'e-mail de notification sera envoyé aux signataires ou approbateurs. Obligatoire lorsqu'un participant est notifié par e-mail. |
folder | String conditionnel | Si vous souhaitez enregistrer ce processus dans un dossier spécifique, vous devez indiquer le chemin de ce dossier dans ce paramètre. Notez que le dossier doit exister et appartenir au créateur du processus. |
remember | Number conditionnel | Paramètre qui active les rappels automatiques avec l'intervalle de temps (en heures) entre chaque notification. |
expiredDate | Date facultatif | Date d'expiration du document. Elle doit être postérieure à 3 jours après la date de création du processus et est envoyée au format JSON Date. |
camera | Boolean facultatif | Ce paramètre indique si la validation par photo est obligatoire ; la valeur par défaut est false. |
otpCode | Boolean facultatif | Ce paramètre indique si la validation par code OTP est obligatoire ; la valeur par défaut est false. |
options | Object facultatif | Ce paramètre indique les spécifications de la validation d'identité. En savoir plus |
notification | Boolean facultatif | Définit si Auco notifie les participants une fois le processus créé. La valeur par défaut est true. S'applique à tous les signataires, sauf ceux que le modèle marque avec leur propre notification dans le signatureProfile. |
targetWebhooks | Array[String] facultatif | Si vous disposez de plusieurs webhooks, vous pouvez envoyer le nom du webhook auquel vous souhaitez que les mises à jour de ce processus soient notifiées. |
tags | Array[String] facultatif | Si vous souhaitez classer les processus avec des étiquettes, vous pouvez envoyer les noms des étiquettes auxquelles associer le processus (elles doivent exister). |
data | Array facultatif | Ce paramètre envoie toutes les données dont le modèle a besoin pour générer le document. |
data[x].key | String obligatoire | Nom du paramètre enregistré dans le modèle. |
data[x].value | String obligatoire | Valeur attribuée au paramètre. |
readers | Array facultatif | Ce paramètre est une liste d'objets qui définit les participants ne faisant pas partie du processus de signature, mais qui doivent pouvoir observer chaque phase de celui-ci. |
readers[x].name | String obligatoire | Nom du lecteur. |
readers[x].email | String obligatoire | E-mail du lecteur. |
🧪 Exemples d'utilisation
Vous pouvez copier n'importe lequel des exemples selon votre langage préféré.
- N'oubliez pas que les adresses e-mail et les numéros de téléphone des signataires ne doivent pas être répétés.
- Les lecteurs recevront des notifications pour chaque mise à jour du processus de signature.
- Format de date :
'DD/MM/YYYY' - Les numéros de téléphone doivent inclure l'indicatif du pays, par exemple :
+57, +1, +52...
Processus de signature de base
- curl
- Python
- Node.js
curl --location 'https://api.auco.ai/v1.5/ext/document/save' \
--header 'Authorization: prk_private_key_company' \
--header 'Content-Type: application/json' \
--data-raw '{
"email": "example@auco.ai",
"name": "PRUEBA 1",
"notification": false,
"data": [
{
"key": "name_customer",
"value": "Frimante 1"
},
{
"key": "document_type_customer",
"value": "cc"
},
{
"key": "cedula_customer",
"value": "1234156"
},
{
"key": "email_customer",
"value": "example@auco.ai"
},
{
"key": "phone_customer",
"value": "+573173654513"
}
],
"document": "64823dc5ce28a265e02d68f3",
"sign": true
}'
import requests
import json
url = "https://api.auco.ai/v1.5/ext/document/save"
payload = json.dumps({
"email": "example@auco.ai",
"name": "PRUEBA 1",
"notification": False,
"data": [
{
"key": "name_customer",
"value": "Frimante 1"
},
{
"key": "document_type_customer",
"value": "cc"
},
{
"key": "cedula_customer",
"value": "1234156"
},
{
"key": "email_customer",
"value": "example@auco.ai"
},
{
"key": "phone_customer",
"value": "+573173654513"
}
],
"document": "64823dc5ce28a265e02d68f3",
"sign": True
})
headers = {
'Authorization': 'prk_private_key_company',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
const axios = require('axios');
let data = JSON.stringify({
email: 'example@auco.ai',
name: 'PRUEBA 1',
notification: false,
data: [
{
key: 'name_customer',
value: 'Frimante 1',
},
{
key: 'document_type_customer',
value: 'cc',
},
{
key: 'cedula_customer',
value: '1234156',
},
{
key: 'email_customer',
value: 'example@auco.ai',
},
{
key: 'phone_customer',
value: '+573173654513',
},
],
document: '64823dc5ce28a265e02d68f3',
sign: true,
});
let config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://api.auco.ai/v1.5/ext/document/save',
headers: {
Authorization: 'prk_private_key_company',
'Content-Type': 'application/json',
},
data: data,
};
axios
.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
📥 Exemples de réponse
Création du processus
{
"document": "DOCUMENTCODE",
"signProfile": [
{
"id": "ZR",
"email": "example@auco.ai"
}
]
}
📋 Champs de la réponse
| Champ | Type | Description |
|---|---|---|
document | String | Code du processus créé. C'est la valeur que les autres services prennent comme code : GET /document, GET /document/roadmap et les autres. |
signProfile | Array<Object> | Optionnel. Renvoyé lorsqu'un participant n'est pas notifié par Auco. Il contient un élément par participant du processus ; ceux qu'Auco notifie sont renvoyés sans id. |
signProfile[].id | String | Identifiant du participant au sein du processus. C'est la valeur que des services tels que GET /whatsapp/records prennent comme userId. |
signProfile[].email | String | E-mail du participant. |
signProfile n'est renvoyé que si un participant n'est pas notifiéL'exemple ci-dessus envoie notification: false. Avec cette valeur, Auco ne notifie pas
les participants ; la réponse les renvoie donc avec leur id et vous pouvez distribuer le processus
vous-même. Un participant que le modèle marque avec notification: true dans son signatureProfile
est notifié par Auco et est renvoyé sans id. Avec notification à true —valeur par défaut—, la
réponse ne contient que document.
⚠️ Réponses d'erreur
| Code | Description |
|---|---|
| 400 | Paramètres manquants, ou certaines validations ne respectent pas les conditions d'applicabilité |
| 401 | Authentification invalide ou absente |