API general

La API general está diseñada para poder obtener, listar, actualizar, crear y eliminar entradas de datos en el sistema. Se puede utilizar para automatizar procesos como la gestión de proveedores o la creación de diseños.

Modelos y acciones

Cada tipo de datos (por ejemplo, un cmp, un diseño, un proveedor, etc.) se denomina modelo; cada modelo ofrece varias acciones (get/list/update/…). Puedes utilizar la llamada a info para recibir la especificación OpenAPI de todos los modelos y acciones:

https://[API-Endpoint]/info

Ten en cuenta que las llamadas no autenticadas al modelo de información darán lugar a una especificación OpenAPI para acciones no autenticadas. Para obtener todos los modelos y acciones disponibles para tu cuenta, autentícate primero.

Estructura de la URL

Las llamadas a la acción siguen la estructura:

https://[API-Endpoint]/model/[MODELNAME]/[ACTIONNAME]

Ejemplo:

https://[API-Endpoint]/model/CMP/list

Además de las llamadas a modelos, hay llamadas a la autenticación y a la especificación OpenAPI:

https://[API-Endpoint]/auth/[AUTH-ACTION]
https://[API-Endpoint]/info

Estructura general del mensaje

La comunicación se realiza mediante el intercambio de datos JSON. Para iniciar una acción, envía una solicitud POST con los siguientes datos JSON en el cuerpo HTTP:

{
  "accessType": 1,         // Access type (may be required for authentication calls)
  "lang":       1|2|3|..., // Language (optional)  
  "kmd":        "...",     // Authentication token (optional/required depending on context)  
  "key":        "..."      // Your API-Key (optional/required depending on context)
  // other fields might be required depending on context
}

El contenido de los datos JSON puede variar en función de la acción que se vaya a realizar. Por lo tanto, consulta la sección Acciones aquí.

Dependiendo de la implementación del proyecto, key puede ser necesaria para determinadas acciones (por ejemplo, crear un nuevo usuario). Ponte en contacto con tu gestor de cuentas para recibir tu clave.

Importante: ¡Mantén tu clave privada y no la transmitas a través del navegador, sino siempre mediante una conexión de servidor a servidor!

La API responderá con un cuerpo JSON con el siguiente formato:

{
  "status":     "...",  // Status: Success|Error 
  "statuscode": 0..999, // Status code
  "msg":        "...",  // Human readable status message
  "model":      "...",  // Context dependend. May return model type to be displayed or null
  "action":     "...",  // Action performed
  "data":        ...    // Type and content is depended on context  
}

Códigos de error

La API utilizará los siguientes códigos de error para señalar problemas. El código de error se envía a través de la statuscode propiedad de la respuesta.

CódigoDescripción
100-199Códigos de error generales
101No se han encontrado datos de entrada
102view/accessType falta o es incorrecto
103No se han enviado ID o los ID no son válidos. Envía al menos un ID
104Filtro incorrecto: el campo X no existe en Y
105Falta la acción o es incorrecta
106El parámetro X es obligatorio/falta
107Acción de la barra de herramientas desconocida o vacía
108Acción no permitida
109Acción fallida
110La acción no permite más de un ID o ninguno.
111No se han encontrado datos para el ID x.
112Error de creación, ver mensaje de error. Para mensajes específicos de campos, ver response.data
113Error de actualización, ver mensaje de error. Para mensajes específicos de campos, ver response.data
114No hay datos para crear/actualizar un elemento
115Los ID deben ser una matriz
116No se puede firmar la contraseña
117Se ha superado la cantidad máxima de artículos
  
200-299Errores de inicio de sesión/acceso
201Servidor de anuncios desactivado
202Usuario no encontrado
203IP en lista negra
204Contraseña incorrecta
205Faltan credenciales
206Error de inicio de sesión desconocido
207IP no incluida en la lista blanca
208Es necesario cambiar la contraseña (contraseña demasiado antigua)
209Acceso no permitido
210La renovación de la contraseña no se ha realizado correctamente

211

Token incorrecto
212Token caducado
213Cuenta aún no activa
214Tipo de acceso desconocido
215Es necesario cambiar la contraseña
216Desactivado
217Error desconocido
218Clave de autenticación ausente o vacía
219Falta la autenticación de dos factores (enviar parámetro 2fa)
220Autenticación de dos factores incorrecta
221Autenticación de dos factores: falta el código OTP
222Autenticación de dos factores: código OTP incorrecto
223Autenticación de dos factores: falta el código de correo electrónico
224Autenticación de dos factores: Código de correo incorrecto
225Autenticación de dos factores: falta el código SMS
226Autenticación de dos factores: código SMS incorrecto
227Autenticación de dos factores: se ha enviado el correo
228Autenticación de dos factores: se ha enviado el SMS
229Se ha enviado el correo electrónico de actualización de contraseña
230Contraseña actualizada
  
300-399Códigos de error internos
301No se pudo resolver la dependencia de X en Y
302La dependencia de X ha dado como resultado una lista vacía
303No hay ninguna columna que actualizar
304Error de dependencia en el uso del campo
305Error de dependencia en campo vacío
306La consulta de la lista ha dado como resultado una lista de campos vacía
307No se ha encontrado la llamada de retorno de autenticación
308No se ha encontrado el archivo de inclusión de la API: …
399Error interno general
  
900-999Códigos de error personalizados; consulte el mensaje

Tipos de acceso

Dependiendo de la estructura de la API, existen diferentes tipos de acceso (campo JSON «accessType»). Ponte en contacto con tu gestor de cuentas para recibir el ID del tipo de acceso que puedes utilizar.

Modelos

Dependiendo del proyecto y de tus derechos de acceso, es posible que veas diferentes modelos (estructuras de datos que se deben recibir o insertar desde o hacia la base de datos). Haz clic en el botón de acción rights para recibir una lista de modelos y acciones.

We do our best to keep this purely informative documentation up to date. However, if you notice that any of these guides need a little touch-up, let us know!