Ir al contenido

Crear o Actualizar Artículo

Endpoint para registrar o actualizar información de artículos en el sistema TitanicSoft desde Synergy. Permite la sincronización bidireccional de datos de productos/artículos incluyendo sus características, marca, tipo, línea y unidad de medida.

Endpoint: /api/articulo/

  • POST - Para crear un nuevo artículo (synergy_id NO debe existir)
  • PUT - Para actualizar un artículo existente (synergy_id DEBE existir)

{
"synergy_id": "1234",
"nombre": "FILTRO DE ACEITE MARCA XYZ",
"codigo": "FILT-001",
"descripcion": "FILTRO DE ACEITE PARA MOTOR DIESEL",
"unidad_medida": "NIU",
"marca": "BOSCH",
"observacion": "Artículo de alta rotación",
"tipo": "REPUESTO",
"linea": "FILTROS",
"sublinea": "FILTROS DE ACEITE"
}

AtributoValor EsperadoTipo de datoRequisitoLongitud
synergy_idEjemplo: “1234” - Identificador único del artículo en SynergyStringobligatorio1 hasta 30
nombreNombre completo del artículoStringobligatorio1 hasta 255
codigoCódigo único del artículo. Se convierte a mayúsculas automáticamenteStringobligatorio4 hasta 15
descripcionDescripción detallada del artículoStringobligatorio1 hasta 100
unidad_medidaCódigo SUNAT de unidad de medida. Ejemplo: “NIU” (UNIDAD), “KGM” (KILOGRAMO), “MTR” (METRO), etc.Stringobligatorio1 hasta 15
marcaMarca del artículo. Se crea automáticamente si no existeStringobligatorio1 hasta 100
observacionObservaciones adicionales del artículoStringopcional0 hasta 300
tipoTipo de artículo. Ejemplo: “REPUESTO”, “INSUMO”, “HERRAMIENTA”. Se crea automáticamente si no existeStringopcional0 hasta 15
lineaLínea del artículo. Se crea automáticamente si no existeStringopcional0 hasta 15
sublineaSublínea del artículo. Debe existir la línea para crear la sublínea. Se crea automáticamente si no existeStringopcional0 hasta 100

{
"codigo_http": 201,
"estado": "success",
"accion": "creado",
"synergy_id": "1234",
"mensaje": "Artículo creado exitosamente"
}
{
"codigo_http": 200,
"estado": "success",
"accion": "actualizado",
"synergy_id": "1234",
"mensaje": "Artículo actualizado exitosamente"
}

Escenario: Se utiliza un método diferente a POST o PUT (GET, DELETE, etc.)

{
"codigo_http": 405,
"estado": "method_not_allowed",
"mensaje": "Método no permitido. Use POST para crear o PUT para actualizar."
}

2. Error de Validación de Campos - Código 400

Sección titulada «2. Error de Validación de Campos - Código 400»

Escenario: Los datos enviados no cumplen con las reglas de validación (campos requeridos vacíos, longitud incorrecta, etc.)

{
"codigo_http": 400,
"estado": "validation_error",
"mensaje": "Error en la validación",
"detalles": {
"synergy_id": "El campo synergy_id es requerido",
"nombre": "El campo nombre debe tener al menos 1 caracteres",
"codigo": "El campo codigo debe tener entre 4 y 15 caracteres"
}
}

3. Conflicto - Artículo Ya Existe (POST) - Código 409

Sección titulada «3. Conflicto - Artículo Ya Existe (POST) - Código 409»

Escenario: Se intenta crear un artículo con POST pero el synergy_id ya existe en la base de datos

{
"codigo_http": 409,
"estado": "conflict",
"mensaje": "El artículo ya existe con este synergy_id",
"detalles": {
"synergy_id": "1234",
"codigo_existente": "FILT-001",
"solucion": "Use PUT para actualizar el artículo existente"
}
}

4. No Encontrado - Artículo No Existe (PUT) - Código 404

Sección titulada «4. No Encontrado - Artículo No Existe (PUT) - Código 404»

Escenario: Se intenta actualizar un artículo con PUT pero el synergy_id no existe en la base de datos

{
"codigo_http": 404,
"estado": "not_found",
"mensaje": "El artículo no existe con este synergy_id",
"detalles": {
"synergy_id": "1234",
"solucion": "Use POST para crear un nuevo artículo"
}
}

Escenario: El código de unidad de medida enviado no existe en la tabla de unidades de medida de SUNAT

{
"codigo_http": 400,
"estado": "validation_error",
"mensaje": "Unidad de medida no existe en la tabla de unidades de medida de la SUNAT",
"detalles": {
"codigo_sunat": "XXX"
}
}

Códigos SUNAT válidos más comunes:

  • NIU: UNIDAD
  • KGM: KILOGRAMO
  • MTR: METRO
  • LTR: LITRO
  • ZZ: UNIDAD (SERVICIOS)
  • GLL: GALÓN
  • DAY: DÍA
  • HUR: HORA
  • TNE: TONELADA
  • SET: JUEGO
  • CAN: CAJA