Quickstart

En unos minutos: crear un contrato desde una plantilla, rellenarlo y enviarlo a firmar. Los ejemplos usan el entorno seleccionado arriba (Stage (pruebas)).

Stage, Producción y Producción UE son entornos independientes. Usuarios, API keys y datos no se comparten: una credencial de un entorno da 401 en los demás. Integra primero en Stage y, al pasar a producción, cambia solo la URL base y la credencial. Ver entornos.

1. API key

Entra en la app del entorno y copia tu API key en Perfil > Seguridad: abrir Perfil > Seguridad. Envíala en la cabecera apikey de cada llamada. La URL base del entorno seleccionado es https://enterprise-stage.api.trato.io.

export TRATO_API_KEY="tu-api-key"
curl https://enterprise-stage.api.trato.io/api/list/templates -H "apikey: $TRATO_API_KEY"

2. Elige una plantilla

GET /api/list/templates devuelve tus plantillas. Guarda el templateId de la que quieras usar: las plantillas se crean en la app y cada entorno tiene las suyas.

3. Crea el contrato

El contrato se crea en borrador. Guarda el contractid de la respuesta.

curl -X POST https://enterprise-stage.api.trato.io/api/create/contract \
  -H "apikey: $TRATO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"source": "template", "templateid": "{templateId}", "contractName": "NDA ACME"}'

4. Participantes y variables

GET /api/contract/variables/{contractId} lista los participantes (participantid) y sus variables (por apiName). Rellena los datos de cada participante y sus variables:

curl -X POST https://enterprise-stage.api.trato.io/api/contract/participant/{contractId}/{participantId} \
  -H "apikey: $TRATO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Ana", "last_name": "García", "email": "ana@example.com", "obligation": "individual"}'

curl -X POST https://enterprise-stage.api.trato.io/api/contract/variables/{contractId}/{participantId} \
  -H "apikey: $TRATO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"rfc": "GALA800101XXX"}'

5. Envía a firmar

Con showSignLinks la respuesta incluye el enlace de firma de cada participante (además del correo que les envía TRATO).

cURL

curl -X POST https://enterprise-stage.api.trato.io/api/contract/send/{contractId} \
  -H "apikey: $TRATO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"showSignLinks": true}'

6. Consulta el estado

GET /api/contract/status/{contractId} devuelve el estado; cuando es RECEIVED_SIGNED, pdf trae el PDF firmado. Para no consultar periódicamente, configura un webhook.

Siguiente: la referencia de la API con todos los endpoints.

cURL

curl https://enterprise-stage.api.trato.io/api/contract/status/{contractId} -H "apikey: $TRATO_API_KEY"