Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

La API Defontana está organizada en torno a REST. Nuestra API tiene URLs predecibles orientadas a los recursos, acepta cuerpos de solicitud codificados por formulario, devuelve respuestas codificadas por JSON y utiliza códigos de respuesta HTTP, autenticación y verbos estándar.

...

Expand
titleAcerca de los Ambientes de Pruebas

Los ambientes de prueba mantienen una disponibilidad en los siguientes horarios:

Día

Estado

Inicio

Fin

Lunes

Status
colourGreen
titleDisponible

08:00

20:00

Martes

Status
colourGreen
titleDisponible

08:00

20:00

Miércoles

Status
colourGreen
titleDisponible

08:00

20:00

Jueves

Status
colourGreen
titleDisponible

08:00

20:00

Viernes

Status
colourGreen
titleDisponible

08:00

20:00

Sábado

Status
colourRed
titleNo disponible

-

-

Domingo

Status
colourRed
titleNo disponible

-

-

Así mismo, estos ambientes se actualizan semanalmente para tener la información en línea contra producción, esto quiere decir que los cambios realizados, documentos emitidos, configuraciones, etc. realizadas durante el transcurso de la semana en el ambiente de replicación NO estarán disponibles a la siguiente semana.

Se recomienda que todas las configuraciones sean realizadas en el ambiente productivo, para evitar pérdida de información.

...

A continuación se detallan los métodos disponibles en la API Defontana, pero antes un pequeño recordatorio:

HTTP

CRUD

OBSERVACIÓN

GET

Lectura

Status
colourGreen
titledisponible

POST

Creación

Status
colourGreen
titledisponible

PUT

Actualización/Reemplazo

Status
colourRed
titleno disponible

PATCH

Actualización/Reemplazo Parcial

Status
colourRed
titleno disponible

DELETE

Eliminación

Status
colourRed
titleno disponible

AUTH

Expand
titleAuth

Obtiene el token de autenticación de un usuario en particular, mediante las “credenciales tradicionales” de acceso al sistema.

Image RemovedImage Added

Ambientes

Tip

Verbo HTTP: GET

Parámetros

Campo

Descripción

Requerido

Client

Identificador del cliente

Si

Company

Identificador de la empresa

Si

User

Identificador del usuario

Si

Password

Contraseña del usuario

Si

De retorno, en caso de haber ingresado los datos de acceso en forma correcta, nos aparecerá un mensaje similar al siguiente. El token de acceso vendrá en el campo “access_token”.

Respuesta

De retorno, en caso de haber ingresado los datos de acceso en forma correcta, nos aparecerá un mensaje similar al siguiente. El token de acceso vendrá en el campo “access_token”

Code Block
languagejson
{
  "success": true,
  "message": null,
  "access_token": "eyJ0eXAiOiJLCJh1NiJ9.ey...iZiDAwMzAX0.TR39EE6gtrk",
  "expires_in": 378604799,
  "token_type": "bearer"
}

Respuesta

De retorno en caso de haber ingresado los datos de acceso en forma incorrecta, nos aparecerá un mensaje similar al siguiente. El mensaje de error vendrá en el campo “message“ como “Login failed“

Code Block
languagejson
{
  "access_token": null,
  "expires_in": 0,
  "token_type": null,
  "success": false,
  "message": "Login failed"
}
Expand
titleEmailLogin

Obtiene el token de autenticación de un usuario en particular, mediante las credenciales de acceso al sistema a través de correo y contraseña.

Ambientes

Tip

Verbo HTTP: GET

Parámetros

Campo

Descripción

Requerido

Email

Email de acceso

Password

Contraseña del email

Client

Campo para indicar el id de cliente con el cual se requiere iniciar sesión (solo requerido si el correo está asociado a más de un cliente en el ERP)

No

Company

Campo para indicar el id de empresa con la cual se requiere iniciar sesión (solo requerido si el correo está asociado a más de una empresa)

No

User

Campo para indicar el usuario con el cual se requiere iniciar sesión (solo requerido si el correo está asociado a clientes de distintos servicios)

No

De retorno, en caso de haber ingresado los datos de acceso en forma correcta y no tener más de una empresa y/o usuarios asociados al correo, nos aparecerá un mensaje similar al siguiente. El token de acceso vendrá en el campo “access_token”.

Respuesta

Code Block
languagejson
{
  "success": true,
  "message": null,
  "jumpUsers": [
  {
    "client": "empresas defontana",
    "company": "dfchile",
    "user": "gpuellestorres",
    "service": "international"
  } ],
    "authResult":
    {
      "success": true,
      "message": null,
      "access_token": "eyJ0eXAKV1J9.eyJuWJBRD...jMjYy0fQ.pi3hW7cPBs",
      "expires_in": 378604799,
      "token_type": "bearer"
  }
}

Se puede dar el caso de que nos llegue una respuesta similar a lo siguiente:

Code Block
languagejson
{ 
  "success": true, 
  "message": "Debe indicar un cliente/empresa/usuario a utilizar", 
  "jumpUsers": [ 
  { 
    "client": "client1",
    "company": "company1", 
    "user": "user1", 
    "service": "international" 
  }, 
{ 
    "client": "client1",
    "company": "company2", 
    "user": "user2", 
    "service": "international" 
  }, 
{ 
    "client": "client2", 
    "company": "company2", 
    "user": "user1", 
    "service": "pyme" 
  }
]
}

En este tipo de casos debemos ingresar un id de cliente, empresa y/o usuario, para indicar con cuáles deseamos obtener un token. Para el ejemplo anterior, bastaría con indicar el “client2” de id de cliente (ya que no tenemos más de una empresa o usuario asociados a aquel cliente) y el método nos entregaría un token de acceso para la combinación [client2, company2, user1].

Expand
titleRegainToken

Obtiene un token de acceso a partir de una sesión ya existente

Ambientes

Tip

Verbo HTTP: GET

Headers

Tipo

Valor

Requerido

Content-Type

“application/json“

Autorization

Token de autenticación del usuario de Integración. Debe ingresarse con el siguiente formato “bearer TOKEN”

Parámetros

Campo

Descripción

Requerido

Client

Campo para indicar el id de cliente con el cual se requiere iniciar sesión (solo requerido si el correo está asociado a más de un cliente en el ERP)

Company

Campo para indicar el id de empresa con la cual se requiere iniciar sesión (solo requerido si el correo está asociado a más de una empresa)

User

Identificador del usuario

Session

Identificador de la sesión

Respuesta

De retorno, en caso de haber ingresado los datos de acceso en forma correcta, nos aparecerá un mensaje similar al siguiente.

Code Block
languagejson
{
  "success": false,
  "message": "Login failed",
  "access_token": null,
  "expires_in": 0,
  "token_type": null
}

Respuesta

De retorno en caso de haber ingresado los datos de acceso en forma incorrecta, nos aparecerá un mensaje similar al siguiente.

Code Block
{
  "success": false,
  "message": "Login failed",
  "access_token": null,
  "expires_in": 0,
  "token_type": null
}
Expand
titleCheck

Obtiene un chequeo si la sesión aun esta vigente o no

Ambientes

Tip

Verbo HTTP: GET

Headers

Tipo

Valor

Requerido

Content-Type

“application/json“

Autorization

Token de autenticación del usuario de Integración. Debe ingresarse con el siguiente formato “bearer TOKEN”

Parámetros

(no aplica)

Respuesta

De retorno, en caso de tener los datos de acceso en forma correcta, nos aparecerá un mensaje similar al siguiente.

Code Block
languagejson
{
  "success": true,
  "message": "Sesión válida.",
  "exceptionMessage": null
}

Respuesta

De retorno, en caso de tener los datos de acceso en forma incorrecta, nos aparecerá un mensaje similar al siguiente.

Code Block
languagejson
{
  "success": false,
  "message": "Sesión inválida.",
  "exceptionMessage": null
}

ACCOUNTING

Expand
titleGetVoucher

Permite obtener los datos de un comprobante contable.

Ambientes

Tip

Verbo HTTP: GET

Headers

Tipo

Valor

Requerido

Content-Type

“application/json“

Autorization

Token de autenticación del usuario de Integración. Debe ingresarse con el siguiente formato “bearer TOKEN”

Parámetros

Campo

Descripción

Requerido

VoucherType

Tipo de comprobante

Number

Número de comprobante

fiscalYear

Año fiscal del comprobante

Respuesta

Code Block
languagejson
{
  "header": {
    "fiscalYear": 2020,
    "voucherType": "EGRESO",
    "voucherTypeName": "EGRESO",
    "isOpening": false,
    "companyId": "dfchile",
    "companyName": "DEFONTANA CHILE SPA.",
    "number": 1,
    "date": "2020-01-02T00:00:00",
    "comment": "Cancelo Nomina Chile FXR 30-12",
    "state": "A",
    "entryUser": "mrus",
    "entryDate": "2020-01-03T11:46:35.05",
    "affectedPlan": 1
},
  "detail": [
    {
      "accountCode": "110602",
      "debit": 19605,
      "credit": 0,
      "secondaryDebit": 0,
      "secondaryCredit": 0,
      "exchangeRate": 0,
      "comment": "Cancelo Rendicion R. Garcia",
      "fileId": "13.176.789-7",
      "documentType": "",
      "documentSeries": "",
      "documentNumber": 0,
      "documentExpirationDate": "1900-01-01T00:00:00",
      "originDocumentData": "",
      "bussinessCenterId": "",
      "classifier1Id": "",
      "classifier2Id": "",
      "movementTypeId": "",
      "movementSeries": "",
      "movementNumber": ""
  },
  ...
  {
      "accountCode": "110103",
      "debit": 0,
      "credit": 616836,
      "secondaryDebit": 0,
      "secondaryCredit": 0,
      "exchangeRate": 0,
      "comment": "Cancelo Nomina Chile FXR 30-12",
      "fileId": "",
      "documentType": "",
      "documentSeries": "",
      "documentNumber": 0,
      "documentExpirationDate": "1900-01-01T00:00:00",
      "originDocumentData": "",
      "bussinessCenterId": "",
      "classifier1Id": "",
      "classifier2Id": "",
      "movementTypeId": "CB",
      "movementSeries": "",
      "movementNumber": ""
    }
  ]
}

...

Expand
titleUpdateVoucher

Permite ingresar un comprobante contable.

Ambientes

Tip

Verbo HTTP: POST

Headers

Tipo

Valor

Requerido

Content-Type

“application/json”

Authorization

Token de autenticación del usuario de Integración. Debe ingresarse con el siguiente formato “bearer TOKEN”

Parámetros

(se envían los mismos parámetros indicados en el método InsertVoucher)

Respuesta

Code Block
languagejson
{
  "voucherType": "Egreso",
  "number": 101,
  "fiscalYear": 2020,
  "success": true,
  "message": ""
}

...