ERP    

Crear Documento para firma


Para enviar documentos a firmar via API OBUMA esign :

 

Sobre la Autenticacion

Para acceder a la API solo hace falta tener una cuenta cliente de OBUMA ERP y un access-token. La API de OBUMA no es GRATIS, se cobra como un super usuario, y por el momento solo existe posibilidad de generar un unico TOKEN por empresa, tiene un costo asociado que debes consultar a nuestro departamento comercial.

El access-token debe ser enviado en una variable via header.

La API es del tipo REST y utiliza JSON para el envío y recepción de información.

 

REQUEST HEADER API v1.0

content-type:application/json
access-token: API-KEY-OBUMA

La version 1.0 admite una sola APIKEY para una empresa. 

 

REQUES HEADER API v2.0

content-type:application/json
access-token: API-KEY-OBUMA
access-url: API-ACCESS-URL or CLIENT URL

 

 

Sobre las URLs ( Endpoints ) :

La API consta de diversas URLs que ejecutan determinadas tareas, en dependencia de la url invocada.

Actualmente existen 5 URL principales, o mas comunes:

list : Entrega una lista de elementos de entidad determinada  (clientes, proveedores, empleados, etc...)

findById : Devuelve una entidad determinada por el ID entregado.

create : Crea una entidad nueva.

update : Actualiza una entidad con los datos entregados.

delete : Elimina una entidad. Normalmente en OBUMA no se pueden eliminar entidades, por lo cual los modulos que tengan permitida esta funcion lo mostraran en su lista de funciones.

 

 

Para ocupar la api, debes invocar la URL de la API + METODO + RECURSO

URL de la API : https://esign.obuma.cl/api/v2.0

METODO + RECURSO : /documents.list.json

Ejemplo : https://esign.obuma.cl/api/v2.0/documents.list.json

Esta url (endpoint) nos entrega una lista de todos los documentos de una empresa x. 

Debes obtener un access token: *** Entregado por OBUMA *** El access token debe ser resguardado como cualquier otra clave, y su uso es entera responsabilidad del cliente.

 

Sobre el retorno de datos :

Todas las consultas a la API devuelven una serie de variables con datos. Los datos devueltos son en JSON.

Todas las consultas, tienen un limite maximo de retorno de 100 items o rows.

"data-actual-total": 56
 
"data-actual-limit": 100
 
"data-actual-page": 1
 
"data-total-items": 56
 
"data-total-pages": 1
 
"data":  esta variable trae el retorno final de los datos solicitados, normalmente es un array, en algunos casos trae solo el dato solicitado.
 
Puede darse el caso de que algun metodo en especifico retorne otras variables.
 
 

 

 

POST /documents.create.json

BODY : json

 

{
"docs": [
{
"doc_name": "From ApiDoc 6",
"doc_description": "lA dEsC",
"signaters": [
{
"name": "MiNombre",
"email": "eperez@obuma.cl",

}
],
"signersAdvanced": [
{
"name": "",
"email": ""
}
],
"viewers": [
{
"name": "",
"email": ""
}
],
"tags": [
"t1",
"t2"
],
"doc_mimetype": "application/pdf",
"doc_base64": " contenido en base64"
}
]
}

 

 

GET /documents.list.json

 

Devuelve un array con todos los documentos del usuario

{
"data-actual-total": 30,
"data-actual-limit": 100,
"data-actual-page": 1,
"data-total-items": 30,
"data-total-pages": 1,
"data": [
{
"document_id": "308",
"document_name": "Anexo-Contrato-OBUMAerp-2-20221130235744.pdf",
"document_description": "",
"document_url_to_sign": "https://obuma-esign.s3.us-east-2.amazonaws.com/DocumentosGenerados/Usuario-4/files_signatures/doc4-52af712aac0b8ad94e4ce36a795c7726.pdf",
"document_url_signed": "https://obuma-esign.s3.us-east-2.amazonaws.com/DocumentosGenerados/Usuario-4/files_signatures/doc4-189b72fe5d292ce99d198775fffdb982.pdf",
"document_created_at": "2022-12-22 14:12:00",
"document_created_by": "4",
"document_status": "1",
"document_type": "0",
"document_check": "0",
"document_external_id": "",
"document_last_sign_at": "2022-12-22 14:43:06",
"document_last_sign_by": "3"
},

 

GET /documents.findByDocId.json/{$IdDocumento}

Devuelve un json con los detalles del documento consultado

 

GET /documents.findByUserId.json/{$IdUser}

 Devuelve un listado de todos los documentos de un usuario x

 

GET /documents.findByEmail.json/{$email}

Devuelve un listado de todos los documentos de un email x