Crear pasarela de contratación
Asegúrate de tener claros los requisitos de la API REST de Tractis antes de empezar la integración.
Para usar esta acción es necesario tener claro cómo funciona la acción Crear contrato
Descripción
Esta acción te ofrece una pasarela de contratación integrable como parte de los flujos de trabajo definidos en tu aplicación. El flujo es el siguiente:
- El usuario suministra los datos necesarios para el contrato en tu aplicación web.
- Tu aplicación crea el contrato en Tractis mediante la API a partir de los datos suministrados por el usuario y recoge la URL del contrato creado.
- Tu aplicación redirige al usuario a la URL del nuevo contrato creado en Tractis.
- Una vez el usuario ha firmado el contrato es redirigido de vuelta a tu aplicación web.
La acción se invoca con: POST /contracts/gateway
Utilización
Esta acción es igual que Crear contrato y recibe los mismos parámetros. La única diferencia de esta acción es el contenido de la cabecera Location en la respuesta:
- Si el contrato se ha creado para que lo firme un cliente sin iniciar sesión en tractis: La cabecera Location tiene la URL de acceso única para el usuario. (ver “Crear contrato > Enviando contratos para firmar a tu cliente sin que se registre en Tractis“)
- En cualquier otro caso: La cabecera Location tiene la URL del contrato como en la acción Crear contrato.
Hay que tener en cuenta que, pese a que podamos redirigir al usuario al contrato directamente, por defecto, este recibirá la URL por email igualmente (a no ser que se especifique dentro del member el parámetro invitation_notify a false, la responsabilidad de llevar e informar al usuario queda en tus manos).
Impotante: Sólo se permite especificar un miembro con permisos de firma que pueda firmar el contrato sin haber iniciado sesión (invited=false).
Ejemplos de invocación
En este primer ejemplo vemos como la acción devuelve la URL de acceso única del cliente cuando especificamos que no queremos requerir a nuestro cliente registrarse en Tractis (ver “Crear contrato > Enviando contratos para firmar a tu cliente sin que se registre en Tractis“).
$ curl -u demo@tractis.com:password \
-H 'Accept: application/xml' \
-H 'Content-Type: application/xml' \
-i -X POST https://www.tractis.com/contracts/gateway \
-d \
'<contract>
<name>Contrato de ejemplo con envío de invitación</name>
<redirect-when-signed>http://www.google.es</redirect-when-signed>
<team>
<member>
<email>ernesto.jimenez@tractis.com</email>
<sign>true</sign>
<invited>false</invited>
</member>
</team>
</contract>'
HTTP/1.1 201 Created
Status: 201 Created
Location: https://www.tractis.com/contracts/749311594/token/c2682cc5025bcf7e8b167f3a3485c52c65a43448
Content-Type: application/xml; charset=utf-8
En el siguiente ejemplo vemos como la cabecera Location contiene la URL normal del contrato cuando no especificamos que no queremos requerir a nuestro cliente registrarse en Tractis.
$ curl -u demo@tractis.com:password \
-H 'Accept: application/xml' \
-H 'Content-Type: application/xml' \
-i -X POST https://www.tractis.com/contracts/gateway \
-d \
'<contract>
<name>Contrato de confidencialidad</name>
</contract>'
HTTP/1.1 201 Created
Status: 201 Created
Location: https://www.tractis.com/contracts/574874770
Content-Type: application/xml; charset=utf-8
Cómo crear una pasarela de contratación
Para usar Tractis como pasarela de contratación es necesario:
- Crear el contrato mediante la acción POST /contracts/gateway con:
- El parámetro
redirect-when-signed
(ver Crear contrato). - La plantilla que queremos cargar (ver “Crear contrato > Crear un contrato a partir de una plantilla“).
- Los detalles del usuario que va a firmar (ver “Crear contrato > Enviando contratos para firmar a tu cliente sin que se registre en Tractis“).
- El parámetro
- Obtener la cabecera Location de la respuesta de la API y enviar al usuario a la URL indicada en la cabecera (ver redirección 302).
- Una vez el usuario haya firmado el contrato será redirigido a la URL que se especificó en el parámetro
redirect-when-signed
al crear el contrato.