Crear Usuarios Móviles
Permite crear uno o múltiples usuarios móviles en el sistema mediante una única petición. Este endpoint está diseñado para operaciones en lote (batch), permitiendo insertar hasta 10,000 registros por petición.
Método: POST
Endpoint
Sección titulada «Endpoint»https://api.ventasremotas.com/v1/sellers/batch-createEncabezados de la solicitud
Sección titulada «Encabezados de la solicitud»| Header | Valor | Descripción |
|---|---|---|
Content-Type | application/json | Indica que los datos se envían en formato JSON |
Accept | application/json | Indica que la respuesta debe estar en formato JSON |
Subscription-Key | {subscription_key} | Clave de suscripción para acceder a la API |
Authorization | Bearer {access_token} | Token de acceso obtenido del endpoint /token |
Parámetros del Cuerpo (Body)
Sección titulada «Parámetros del Cuerpo (Body)»El body debe ser un array de objetos, donde cada objeto representa un usuario móvil a crear.
Límites
Sección titulada «Límites»| Parámetro | Valor | Descripción |
|---|---|---|
| Mínimo de items | 1 | El array no puede estar vacío |
| Máximo de items | 10,000 | Número máximo de usuarios móviles por petición |
El cuerpo (Body) de la solicitud debe enviarse en formato JSON y debe incluir un array con los siguientes parámetros.
| Campo | Tipo | Nulo | Restricciones | Descripción |
|---|---|---|---|---|
code | string (max 18) | No | No permite: espacio, #, %, &, *, {, }, \, :, <, >, ?, /, +, . | Código del usuario móvil asignado desde el ERP |
name | string (max 50) | No | Nombre completo del usuario móvil | |
type | string (max 30) | No | Tipo de usuario móvil | |
phone | string (max 20) | No | Número de teléfono del usuario móvil | |
email | string (max 50) | Sí | Correo electrónico del usuario móvil | |
address | string (max 300) | No | Dirección del usuario móvil | |
city | string (max 50) | Sí | Ciudad del usuario móvil | |
country | string (max 50) | Sí | País del usuario móvil | |
region | string (max 50) | Sí | Región o departamento del usuario móvil | |
state | string (max 1) | No | Valores permitidos: Y, N | Determina la disponibilidad del usuario móvil: Y activo, N inactivo |
location | string (max 20) | Sí | Código de bodega asignada al usuario para consultar inventario | |
operation_center | string (max 10) | Sí | Centro de operación asignado al usuario móvil | |
cedula | string (max 18) | Sí | Número de cédula o documento de identidad del usuario móvil |
Formato de tipos de dato
Sección titulada «Formato de tipos de dato»- string (max N): Cadena de texto con longitud máxima de
Ncaracteres.
Ejemplo de Solicitud
Sección titulada «Ejemplo de Solicitud»Aquí tienes un ejemplo de cómo debería quedar el cuerpo de la solicitud en formato JSON:
[ { "code": "VEND-001", "name": "Juan Pérez", "type": "EXTERNO", "phone": "3001234567", "email": "juan.perez@empresa.com", "address": "Calle 100 #15-20", "city": "Bogotá", "country": "Colombia", "region": "Cundinamarca", "state": "Y", "location": "BOG-NORTE", "operation_center": "CO-01", "cedula": "1234567890" }, { "code": "VEND-002", "name": "María López", "type": "INTERNO", "phone": "3109876543", "email": null, "address": "Carrera 45 #30-12", "city": "Medellín", "country": "Colombia", "region": "Antioquia", "state": "Y", "location": null, "operation_center": null, "cedula": null }]Ejemplo de Respuesta
Sección titulada «Ejemplo de Respuesta»{ "statusCode": 201, "message": "Sellers created successfully"}{ "statusCode": 400, "errors": [ { "message": "Invalid JSON in request body" } ]}{ "statusCode": 415, "errors": [ { "message": "Content-Type: application/json is required" } ]}Errores globales (estructura del body)
Sección titulada «Errores globales (estructura del body)»Si el body no es un array:
{ "statusCode": 422, "errors": [ { "message": "Request body must be an array" } ]}Si el array está vacío:
{ "statusCode": 422, "errors": [ { "message": "Request body cannot be empty" } ]}Si excede el límite de 10,000 items:
{ "statusCode": 422, "errors": [ { "message": "Array exceeds maximum limit of 10000 items" } ]}Errores por item (validación de campos)
Sección titulada «Errores por item (validación de campos)»Los errores se agrupan por el índice del item en el array:
{ "statusCode": 422, "errors": [ { "index": 0, "errors": [ { "field": "code", "message": "Field is required" }, { "field": "name", "message": "Field cannot be null or empty" } ] }, { "index": 2, "errors": [ { "field": "code", "message": "Field exceeds maximum length of 18 characters" } ] } ]}Tipos de Errores de Validación por Campo
Sección titulada «Tipos de Errores de Validación por Campo»Errores de presencia y nulidad:
| Error | Descripción |
|---|---|
Field is required | El campo no fue enviado en el objeto (la clave no existe) |
Field cannot be null or empty | El campo fue enviado con valor null o vacío y no acepta nulos |
Unknown field | Se envió un campo que no existe en la configuración |
Item must be an object | Un elemento del array no es un objeto JSON |
Errores de tipo de dato:
| Error | Descripción |
|---|---|
Field must be a string | El valor no es una cadena de texto |
Errores de longitud:
| Error | Descripción |
|---|---|
Field exceeds maximum length of X characters | La cadena excede la longitud máxima permitida |
Errores de valores permitidos:
| Error | Descripción |
|---|---|
Value must be one of: Y, N | El valor no está en la lista de valores permitidos (campo state) |
Errores de formato:
| Error | Descripción |
|---|---|
Field contains forbidden characters. The following are not allowed: space, #, %, &, *, {, }, \, :, <, >, ?, /, +, . | El campo code contiene caracteres prohibidos |
{ "statusCode": 423, "errors": [ { "message": "Resource is locked and cannot be accessed." } ]}Error de conexión a base de datos
Sección titulada «Error de conexión a base de datos»{ "statusCode": 500, "errors": [ { "message": "Error connecting to database" } ]}Error de operación en base de datos
Sección titulada «Error de operación en base de datos»{ "statusCode": 500, "errors": [ { "message": "Database operation failed" } ]}Error en Redis
Sección titulada «Error en Redis»{ "statusCode": 500, "errors": [ { "message": "Redis operation failed" } ]}Error en validaciones
Sección titulada «Error en validaciones»{ "statusCode": 500, "errors": [ { "message": "Unexpected error in the validations" } ]}Error inesperado
Sección titulada «Error inesperado»{ "statusCode": 500, "errors": [ { "message": "Unexpected error" } ]}Error del Servidor
Estos errores indican problemas internos en el servidor, la base de datos o el servicio de cache. Si persisten, contacta al equipo de soporte.