Anexos

Anexos de los participantes y anexos confidenciales.

POST/api/contract/attachments/{contractId}

Añadir un anexo

Añade un anexo a un contrato en borrador. Con participante, se lo pide a ese participante; sin él, es un anexo del contrato. Si se envía document, el anexo ya lleva el archivo.

Autenticación. Cabecera apikey con tu API key, o Authorization: Bearer con un token.

Parámetros de ruta

  • contractIdstringobligatorio

    ID del contrato.

Cuerpo application/json

  • documentobject

    Archivo del anexo (pdf o docx). Si no se envía, se crea un anexo vacío que el participante debe subir.

    2 campos
    • datastringobligatorio

      Contenido del archivo en Base64. Se admite también una data URL (data:application/pdf;base64,...).

    • typestringobligatorio

      Formato del archivo. Al crear un contrato: pdf o word. En anexos: pdf o docx.

  • filenamestring

    Nombre del archivo. Obligatorio si se envía document.

  • namestringobligatorio

    Nombre del anexo que ve el participante.

  • requiredboolean

    El participante debe subir el anexo para poder firmar.

  • validatedboolean

    El anexo ya está validado.

Respuestas

  • 200object
    Campos de la respuesta
    • attachmentidstringobligatorio

      ID del anexo creado.

    • successbooleanobligatorio
  • 400Petición no válida: parámetros, contrato inexistente o en un estado que no lo permite.
  • 401Credencial ausente, caducada o de otro entorno.
  • 403Al usuario le falta un privilegio (p. ej. API_ACCESS).

Petición

POST
/api/contract/attachments/{contractId}
curl -X POST "https://enterprise-stage.api.trato.io/api/contract/attachments/{contractId}" \
  -H "apikey: $TRATO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "document": {
    "data": "JVBERi0xLjcKJcfsj6IKNSAwIG9iago8PC9MZW5ndGggNiAwIFI...",
    "type": "pdf"
  },
  "filename": "ine.pdf",
  "name": "Identificación oficial",
  "required": true,
  "validated": true
}'

Respuesta

{
  "attachmentid": "65f1c2a9e4b0a1b2c3d4e5f7",
  "success": true
}
POST/api/contract/attachments/{contractId}/{participantId}

Añadir un anexo

Añade un anexo a un contrato en borrador. Con participante, se lo pide a ese participante; sin él, es un anexo del contrato. Si se envía document, el anexo ya lleva el archivo.

Autenticación. Cabecera apikey con tu API key, o Authorization: Bearer con un token.

Parámetros de ruta

  • contractIdstringobligatorio

    ID del contrato.

  • participantIdstringobligatorio

    ID del participante (participantid en las respuestas).

Cuerpo application/json

  • documentobject

    Archivo del anexo (pdf o docx). Si no se envía, se crea un anexo vacío que el participante debe subir.

    2 campos
    • datastringobligatorio

      Contenido del archivo en Base64. Se admite también una data URL (data:application/pdf;base64,...).

    • typestringobligatorio

      Formato del archivo. Al crear un contrato: pdf o word. En anexos: pdf o docx.

  • filenamestring

    Nombre del archivo. Obligatorio si se envía document.

  • namestringobligatorio

    Nombre del anexo que ve el participante.

  • requiredboolean

    El participante debe subir el anexo para poder firmar.

  • validatedboolean

    El anexo ya está validado.

Respuestas

  • 200object
    Campos de la respuesta
    • attachmentidstringobligatorio

      ID del anexo creado.

    • successbooleanobligatorio
  • 400Petición no válida: parámetros, contrato inexistente o en un estado que no lo permite.
  • 401Credencial ausente, caducada o de otro entorno.
  • 403Al usuario le falta un privilegio (p. ej. API_ACCESS).

Petición

POST
/api/contract/attachments/{contractId}/{participantId}
curl -X POST "https://enterprise-stage.api.trato.io/api/contract/attachments/{contractId}/{participantId}" \
  -H "apikey: $TRATO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "document": {
    "data": "JVBERi0xLjcKJcfsj6IKNSAwIG9iago8PC9MZW5ndGggNiAwIFI...",
    "type": "pdf"
  },
  "filename": "ine.pdf",
  "name": "Identificación oficial",
  "required": true,
  "validated": true
}'

Respuesta

{
  "attachmentid": "65f1c2a9e4b0a1b2c3d4e5f7",
  "success": true
}
DELETE/api/contract/attachments/{contractId}/{participantId}/{attachmentId}

Quitar el anexo de un participante

Autenticación. Cabecera apikey con tu API key, o Authorization: Bearer con un token.

Parámetros de ruta

  • contractIdstringobligatorio

    ID del contrato.

  • participantIdstringobligatorio

    ID del participante (participantid en las respuestas).

  • attachmentIdstringobligatorio

    ID del anexo.

Respuestas

  • 200object
    Campos de la respuesta
    • errorstring

      Motivo cuando success es false.

    • successbooleanobligatorio
  • 400Petición no válida: parámetros, contrato inexistente o en un estado que no lo permite.
  • 401Credencial ausente, caducada o de otro entorno.
  • 403Al usuario le falta un privilegio (p. ej. API_ACCESS).

Petición

DELETE
/api/contract/attachments/{contractId}/{participantId}/{attachmentId}
curl -X DELETE "https://enterprise-stage.api.trato.io/api/contract/attachments/{contractId}/{participantId}/{attachmentId}" \
  -H "apikey: $TRATO_API_KEY"

Respuesta

{
  "error": "No attachment was deleted",
  "success": true
}
GET/api/contracts/{contractId}/confidential-attachments

Listar anexos confidenciales

Requiere API_ACCESS y CREATE_SHAREDOCS_PROTECTED.

Autenticación. Cabecera apikey con tu API key, o Authorization: Bearer con un token.

Parámetros de ruta

  • contractIdstringobligatorio

    ID del contrato.

Respuestas

  • 200array<object>
  • 400Petición no válida: parámetros, contrato inexistente o en un estado que no lo permite.
  • 401Credencial ausente, caducada o de otro entorno.
  • 403Al usuario le falta un privilegio (p. ej. API_ACCESS).

Petición

GET
/api/contracts/{contractId}/confidential-attachments
curl "https://enterprise-stage.api.trato.io/api/contracts/{contractId}/confidential-attachments" \
  -H "apikey: $TRATO_API_KEY"

Respuesta

[
  {
    "_id": "string",
    "filename": "string",
    "name": "string",
    "required": true,
    "url": "string",
    "validated": true
  }
]
POST/api/contracts/{contractId}/confidential-attachments

Añadir un anexo confidencial

Anexo que solo ven el dueño y los usuarios autorizados. Requiere API_ACCESS y CREATE_SHAREDOCS_PROTECTED.

Autenticación. Cabecera apikey con tu API key, o Authorization: Bearer con un token.

Parámetros de ruta

  • contractIdstringobligatorio

    ID del contrato.

Cuerpo application/json

  • documentobject

    Archivo del anexo (pdf o docx). Si no se envía, se crea un anexo vacío que el participante debe subir.

    2 campos
    • datastringobligatorio

      Contenido del archivo en Base64. Se admite también una data URL (data:application/pdf;base64,...).

    • typestringobligatorio

      Formato del archivo. Al crear un contrato: pdf o word. En anexos: pdf o docx.

  • filenamestring

    Nombre del archivo. Obligatorio si se envía document.

  • namestringobligatorio

    Nombre del anexo que ve el participante.

  • requiredboolean

    El participante debe subir el anexo para poder firmar.

  • validatedboolean

    El anexo ya está validado.

Respuestas

  • 200object
    Campos de la respuesta
    • attachmentidstringobligatorio

      ID del anexo creado.

    • successbooleanobligatorio
  • 400Petición no válida: parámetros, contrato inexistente o en un estado que no lo permite.
  • 401Credencial ausente, caducada o de otro entorno.
  • 403Al usuario le falta un privilegio (p. ej. API_ACCESS).

Petición

POST
/api/contracts/{contractId}/confidential-attachments
curl -X POST "https://enterprise-stage.api.trato.io/api/contracts/{contractId}/confidential-attachments" \
  -H "apikey: $TRATO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "document": {
    "data": "JVBERi0xLjcKJcfsj6IKNSAwIG9iago8PC9MZW5ndGggNiAwIFI...",
    "type": "pdf"
  },
  "filename": "ine.pdf",
  "name": "Identificación oficial",
  "required": true,
  "validated": true
}'

Respuesta

{
  "attachmentid": "65f1c2a9e4b0a1b2c3d4e5f7",
  "success": true
}
DELETE/api/contracts/{contractId}/confidential-attachments/{attachmentId}

Quitar un anexo confidencial

Autenticación. Cabecera apikey con tu API key, o Authorization: Bearer con un token.

Parámetros de ruta

  • contractIdstringobligatorio

    ID del contrato.

  • attachmentIdstringobligatorio

    ID del anexo confidencial.

Respuestas

  • 200object
    Campos de la respuesta
    • errorstring

      Motivo cuando success es false.

    • successbooleanobligatorio
  • 400Petición no válida: parámetros, contrato inexistente o en un estado que no lo permite.
  • 401Credencial ausente, caducada o de otro entorno.
  • 403Al usuario le falta un privilegio (p. ej. API_ACCESS).

Petición

DELETE
/api/contracts/{contractId}/confidential-attachments/{attachmentId}
curl -X DELETE "https://enterprise-stage.api.trato.io/api/contracts/{contractId}/confidential-attachments/{attachmentId}" \
  -H "apikey: $TRATO_API_KEY"

Respuesta

{
  "error": "No attachment was deleted",
  "success": true
}
POST/api/contracts/{contractId}/participants/{participantId}/attachments

Añadir un anexo

Añade un anexo a un contrato en borrador. Con participante, se lo pide a ese participante; sin él, es un anexo del contrato. Si se envía document, el anexo ya lleva el archivo.

Autenticación. Cabecera apikey con tu API key, o Authorization: Bearer con un token.

Parámetros de ruta

  • contractIdstringobligatorio

    ID del contrato.

  • participantIdstringobligatorio

    ID del participante (participantid en las respuestas).

Cuerpo application/json

  • documentobject

    Archivo del anexo (pdf o docx). Si no se envía, se crea un anexo vacío que el participante debe subir.

    2 campos
    • datastringobligatorio

      Contenido del archivo en Base64. Se admite también una data URL (data:application/pdf;base64,...).

    • typestringobligatorio

      Formato del archivo. Al crear un contrato: pdf o word. En anexos: pdf o docx.

  • filenamestring

    Nombre del archivo. Obligatorio si se envía document.

  • namestringobligatorio

    Nombre del anexo que ve el participante.

  • requiredboolean

    El participante debe subir el anexo para poder firmar.

  • validatedboolean

    El anexo ya está validado.

Respuestas

  • 200object
    Campos de la respuesta
    • attachmentidstringobligatorio

      ID del anexo creado.

    • successbooleanobligatorio
  • 400Petición no válida: parámetros, contrato inexistente o en un estado que no lo permite.
  • 401Credencial ausente, caducada o de otro entorno.
  • 403Al usuario le falta un privilegio (p. ej. API_ACCESS).

Petición

POST
/api/contracts/{contractId}/participants/{participantId}/attachments
curl -X POST "https://enterprise-stage.api.trato.io/api/contracts/{contractId}/participants/{participantId}/attachments" \
  -H "apikey: $TRATO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "document": {
    "data": "JVBERi0xLjcKJcfsj6IKNSAwIG9iago8PC9MZW5ndGggNiAwIFI...",
    "type": "pdf"
  },
  "filename": "ine.pdf",
  "name": "Identificación oficial",
  "required": true,
  "validated": true
}'

Respuesta

{
  "attachmentid": "65f1c2a9e4b0a1b2c3d4e5f7",
  "success": true
}