Los recursos disponibles en la API son:
- Ventas
- Clientes
- ClientesEventuales
- Vendedores
- Clientes
- Clientes Eventuales
- Sucursales de Clientes
- Inventario
- Articulos
- Articulos
- Precios
- Existencias
- Lineas
- Familias
- Categorias
- Unidades de Wmpaque
- Otros
- Usuarios
- Grupos de Usuario
- Sucursales de la Empresa
- Series de Documentos
SAIT Software Administrativo cuenta con una API que es usada para conexión con Sistemas de Terceros por ejemplo:
- Tiendas de Comercio Electrónico
- Aplicaciones de Venta en Ruta
- Portal de Facturación en Línea
La conexión con Sistemas de Terceros se logra mediante:
- Llamadas API Restful tradicionales a los recursos de SAIT (HTTP POST,READ,PUT,DELETE = Create,Read,Update,Delete )
- Generación Webhooks hacia el otro sistema, mediante un POST cada vez que se recibe un evento del tipo: Create, Update o Delete
En SAIT, los recursos los agrupamos según el módulo de operación del sistema.
- Ventas
- Cobranza
- Caja
- Inventario
- Compras
- Cuentas por Pagar
- Bancos
- Contabilidad
El acceso a la API se otorga mediante una API Key única para cada Sistema de Tercero y que debe indicarse en el Request mediante el Header: X-sait-api-key por ejemplo:
GET http://miempresa.saitnube.com/api/v3/clientes/13
X-sait-api-key: frizispe9swlhim0
La API puede manejar el formato JSON o XML según la preferencia del programador.
- El formato default es JSON.
- Si desea manejar el formato XML debe indicar en el Request el Header: Content-Type:application/xml
GET http://miempresa.saitnube.com/api/v3/clientes/13
X-sait-api-key: frizispe9swlhim0
Content-Type: application/xml
Los códigos HTTP de respuesta son los típicos de las API Restful, según el tipo de acción CRUD:
Request | Acción | Código | Significado |
---|---|---|---|
POST | (C) Create - Crear un recurso | 201 | Recurso ha sido creado. |
400 | Error de validación al crear recurso | ||
GET | (R) Read - Leer un recurso | 200 | Recurso ha sido leido |
404 | Recurso NO exite | ||
PUT | (U) Update - Actualizar un recurso | 200 | Recurso ha sido actualizado |
404 | Recurso no existe | ||
400 | Error de validación al acualizar recurso | ||
DELETE | (D) Delete - Borrar un recurso | 200 | Recurso ha sido borrado |
404 | Recurso no existe |
Además de los código errores generales:
Código | Significado |
---|---|
500 | Error interno de la API |
401 | Acceso No Autorizado a la API |
Las respuestas de la API inlcuyen siempre 2 campos y opcionalmente uno adicional en el body:
- result: es un objeto y representa el recurso leido o creado.
- error: es un string y representa el mensaje de error en caso de falla.
- errobj: es opcional, solo se usa en POST y PUT y representa un objeto conteniendo los datos que NO cumplieron con las validaciones necesarias.
Ejemplo de recurso creado 201
{
"result": {
"id":1,
"nomcli":"Bimbo de Mexico"
},
"error": ""
}
Ejemplo de recurso actualizado 200
{
"result": "UPDATED",
"error": ""
}
Ejemplo de falla 400
{
"result": null,
"error": "No es posible emitir factura anteriores a 72 horas."
}
Ejemplo de falla de validacions 400
{
"result": null,
"error": "Fallas de Validacion de datos.",
"errobj": {
"nombre":"Excede de 50 posiciones",
"estado":"No es valido"
}
}
En caso de éxito en la llamada, el valor de result será dependiendo del tipo de acción, ver la siguiente tabla:
Verbo | Acción | Código | Valor regresado en "result" | Ejemplo |
---|---|---|---|---|
POST | Create | 201 | Recurso creado | {"id":1,"created":"2023-02-07 21:37:46","numcli":"10","nomcli":"Bimbo de Mexico"} |
GET | Read | 200 | Recurso leido | {"id":1,"created":"2023-02-07 21:37:46","numcli":"10","nomcli":"Bimbo de Mexico"} |
PUT | Update | 200 | UPDATED | "UPDATED" |
DELETE | Delete | 200 | DELETED | "DELETED" |
GET ?cond | Read Many | 200 | Arreglo de Recursos solicitados | [ {recurso1},{recurso2},{recurso3} ] |