Habla con ventas (669) 925 3687
Reading:
Documentación API e.firma CeroPapel

Image

Buscar en documentación

Search
Popular:

Documentación API e.firma CeroPapel

by Pablo
septiembre 16, 2020

Este desarrollo está construido desde la base para funcionar con peticiones tipos REST en formato JSON, tanto para los datos que recibe como los que sirve

Headers

Todas las peticiones requieren que se le adjunte una cabecera con el formato: Header: AuthorizationValue: JWT [token]


Endpoints


Login

/signature/login

Descripción: Comprobar acceso a la API, obtener un token de autorización
Metodo: POST
Formato: JSON
Header: Authorization: JWT [token]
Estructura de body:

{ "username": "test", "password": "testpass"}

Regresa OK: HTTP STATUS 201
Body:

{ "uuid": "[uuid4]", "status": "0", "message": "ok"}

Registrar/Subir firma electrónica (cer y key)

Opción 1 – cer y key juntos

/signature

Descripción: subir firma electrónica, llave pública (cer) y privada (key)
Formato: JSON
Método: POST
Header: Authorization: JWT [token]
Estructura de body:

{ 
  "cer": "bytes de .cer en base 64", 
  "key": "bytes de key en base 64", 
  "password": "password en base 64", 
  "workspace_id": "identificador (uuid) del workspace al que pertenece la firma electrónica 'default' si no se específica"
}

Regresa ok: HTTP STATUS 201
body:

{ "signature_name": "[uuid4]", "status": "1"}

Opción 2 – cer y key por separado

Cer
/signature/cer

Descripción: subir certificado de la firma electrónica
Formato: JSON
Metodo: POST
Header: Authorization: JWT [token]
Estructura de body:

{ 
  "cer": "bytes de .cer en base 64", 
  "signature_name": "si ya se subió antes la otra parte de la firma ponga aquí el uuid devuelto", 
  "workspace_id": "identificador (uuid) del workspace al que pertenece la firma electrónica 'default' si no se específica"
}

Regresa ok: HTTP STATUS 201
body:

{ "signature_name": "[uuid4]", "status": "1"}
Key
/signature/key

Descripción: subir llave privada (.key) de la firma electrónica
Formato: JSON
Metodo: POST
Header: Authorization: JWT [token]
Estructura de body:

{ 
  "cer": "bytes de .cer en base 64", 
  "signature_name": "si ya se subió antes la otra parte de la firma ponga aquí el uuid devuelto", 
  "workspace_id": "identificador (uuid) del workspace al que pertenece la firma electrónica 'default' si no se específica"
}

Regresa ok: HTTP STATUS 201
body:

{ "signature_name": "[uuid4]", "status": "1"}

Reemplazar firma electrónica registrada

/signature/[signature uuid4]

Descripción: actualizar firma electrónica, cer y key
Formato: JSON
Método: PUT
Header: Authorization: JWT [token]
Estructura de body:

{ 
  "cer": "bytes de .cer en base 64", 
  "key": "bytes de key en base 64", 
  "password": "password en base 64", 
  "workspace_id": "identificador (uuid) del workspace al que pertenece la firma electrónica 'default' si no se específica"
}

Regresa ok: HTTP STATUS 201
body:

{ "signature_name": "[uuid4]", "status": "1"}

Borrar firma electrónica registrada

/signature/[signature uuid4]

Descripción: eliminar firma electronica, cer y key
Formato: JSON
Método: DELETE
Header: Authorization: JWT [token]
Estructura de body:

{ "workspace_id": "identificador (uuid) del workspace al que pertenece la firma electrónica 'default' si no se específica"}

Regresa ok: HTTP STATUS 204
body: No aplica


Verificar certificado

Opción 1 – firma registrada anteriormente

/signature/verify/cer

Descripción: verifica el estado del certificado
Método: POST
Formato: JSON
Header: Authorization: JWT [token]
Estructura de body:

{ 
  "signature_name": "uuid devuelto al subir el archivo o firma",
  "workspace_id": "identificador (uuid) del workspace al que pertenece la firma electrónica 'default' si no se específica"}

Regresa ok: HTTP STATUS 200
Body:

{ "status": "1", "message": "0 - Certificate status OK" }

Opción 2 – sin registrarse firma, certificado se envía con la petición

/signature/verify/cer

Descripción: verifica el estado del certificado
Método: POST
Formato: JSON
Header: Authorization: JWT [token]
Estructura de body:

{ "cer": "bytes de .cer en base 64" }

Regresa ok: HTTP STATUS 200
Body:

{ "status": "1", "message": "0 - Certificate status OK"}

Firmar un documento

Opción 1 – firma registrada previamente

/signature/sign

Descripción: firmar un documento con la firma especificada en [signature uuid4]
Metodo: POST
Formato: JSON
Header: Authorization: JWT [token]
Estructura de body:

{ 
  "signature_name": "[signature uuid4]", 
  "password": "password de key en base64", 
  "content": "contenido del documento", 
  "date": "fecha", 
  "dead_line": "fecha límite en caso de tenerlo", 
  "from_email": "email del emisor", 
  "from_name": "nombre del emisor", 
  "subject": "asunto", 
  "to": "receptor", 
  "attachment": "bytes de adjunto", 
  "type": "tipo de documento[Memorandum]", 
  "document_type": "Origen del documento [CeroPapel]", 
  "version": "1", 
  "workspace_id": "identificador (uuid) del workspace al que pertenece la firma electrónica 'default' si no se específica"
}

Regresa ok: HTTP STATUS 201
Body:

{ "certificate_number": "[número de certificado en hexadecimal]", "hash": "[hash generado]", "uuid": "[uuid4 del xml firmado]"}

Opción 2 – se envía firma con la petición

/signature/sign

Descripción: firmar un documento con la firma incluida en la petición
Método: POST
Formato: JSON
Header: Authorization: JWT [token]
Estructura de body:

{ 
  "password": "password de key en base64", 
  "content": "contenido del documento", 
  "date": "fecha", 
  "dead_line": "fecha límite en caso de tenerlo", 
  "from_email": "email del emisor", 
  "from_name": "nombre del emisor", 
  "subject": "asunto", 
  "to": "receptor", 
  "attachment": "bytes de adjunto", 
  "type": "tipo de documento[Memorandum]", 
  "document_type": "Origen del documento [CeroPapel]", 
  "version": "1", 
  "cer": "bytes de .cer en base 64", 
  "key": "bytes de key en base 64"
}

Regresa ok: HTTP STATUS 201
Body:

{ "certificate_number": "[número de certificado en hexadecimal]", "hash": "[hash generado]", "uuid": "[uuid4 del xml firmado]"}

Adjuntar firma a documento, firmado anteriormente

Opción 1 – firma registrada previamente

/signature/sign/[xml signed uuid4]

Descripción: añadir firma a documento previamente/ya firmado, la nueva firma a usar se específica en [signature uuid4] y el documento al cual se añade firma se específica en [xml signed uuid4]
Método: POST
Formato: JSON
Header: Authorization: JWT [token]
Estructura body:

{ 
  "signature_name": "[signature uuid4", 
  "password": "[password en base64]", 
  "workspace_id": "identificador (uuid) del workspace al que pertenece la firma electrónica 'default' si no se específica"}

Regresa ok: HTTP STATUS 201
Body:

{ "certificate_number": "[número de certificado en hexadecimal]", "hash": "[hash generado]", "uuid": "[uuid4 del xml firmado]"}

Opción 2 – sin firma registrada previamente, se envía con la petición

/signature/sign/[xml signed uuid4]

Descripción: añadir firma a documento previamente/ya firmado, la nueva firma a usar se específica en [signature uuid4] y el documento al cual se añade firma se específica en [xml signed uuid4]
Método: POST
Formato: JSON
Header: Authorization: JWT [token]
Estructura body:

{ 
  "password": "[password en base64]", 
  "workspace_id": "identificador (uuid) del workspace al que pertenece la firma electrónica 'default' si no se específica", 
  "cer": "bytes de .cer en base 64", 
  "key": "bytes de key en base 64"
}

Regresa ok: HTTP STATUS 201
Body:

{ "certificate_number": "[número de certificado en hexadecimal]", "hash": "[hash generado]", "uuid": "[uuid4 del xml firmado]"}

Obtener XML firmado

/signature/xml/[xml signed uuid4]/signed

Descripción: Obtiene el XML firmado
Método: GET
Formato: JSON
Header: Authorization: JWT [token]
Body: No aplica
Regresa ok: HTTP STATUS 200
Body:

{ "xml": "[bytes de XML en base64]", "uuid": "[uuid4 del documento]"}

Cancelar documento firmado

Opción 1 – firma registrada anteriormente

/signature/[signature uuid4]/cancel/[xml signed uuid4]

Descripción: cancela el documento especificado en [xml signed uuid4]usando la firma especificada en name en body
Método: POST
Formato: JSON
Header: Authorization: JWT [token]
Body:

{ "signature_name": "[signature uuid4", "password": "[password en base64]", "workspace_id": "identificador (uuid) del workspace al que pertenece la firma electrónica 'default' si no se específica"}

Regresa ok: HTTP STATUS 201
Body:

{ "certificate_number": "[número de certificado en hexadecimal]", "hash": "[hash generado]", "uuid": "[uuid4 del xml cancelado]"}

Opción 2 – sin firma registrada anteriormente, se envía con la petición

/signature/cancel/[xml signed uuid4]

Descripción: cancela el documento especificado en [xml signed uuid4]usando la firma especificada en [signature uuid4]
Método: POST
Formato: JSON
Header: Authorization: JWT [token]
Body:

{ "password": "[password en base64]", "workspace_id": "identificador (uuid) del workspace al que pertenece la firma electrónica 'default' si no se específica", "cer": "bytes de .cer en base 64", "key": "bytes de key en base 64"}

Regresa ok: HTTP STATUS 201
Body:

{ "certificate_number": "[número de certificado en hexadecimal]", "hash": "[hash generado]", "uuid": "[uuid4 del xml cancelado]"}

Obtener XML de documento cancelado

/signature/xml/[xml canceled uuid4]/canceled

Descripción: Obtiene el XML cancelado
Método: GET
Formato: JSON
Header: Authorization: JWT [token]
Body: No aplica
Regresa ok: HTTP STATUS 200
Body:

{ "xml": "[bytes de XML en base64]", "uuid": "[uuid4 del documento]"}

¿Listo para lanzar? 🚀

Mándanos un email a hola@ceropapel.mx para darte una cuenta de prueba.

Did you find this article helpful?
0 out of 0 found this helpful
¿Todavía tienes preguntas? Contáctanos


0 Comments

Deja un comentario

Arrow-up