Saltearse al contenido

Agregar un item al carrito

Agrega una nueva mercadería o servicio al carrito de compras. Permite incluir mercaderías o servicios con sus respectivos precios y cantidades.


URL base: https://api.guarani.app

POST /carritos/{id}/items
Ventana de terminal
# USD
curl -X POST "https://api.guarani.app/carritos/{id}/items" \
-H "Content-Type: application/json" \
-H "x-api-key: Bearer <access_token>" \
-d '{
"mercaderia_id": "ejemplo-uuid-mercaderia-123",
"precio_unitario": {
"0": 9.59,
"5": 0,
"10": 4.10
},
"precio_unitario_original": 13.69,
"cantidad": 1,
"total": 13.69
}' | jq
# PYG
curl -X POST "https://api.guarani.app/carritos/{id}/items" \
-H "Content-Type: application/json" \
-H "x-api-key: Bearer <access_token>" \
-d '{
"mercaderia_id": "ejemplo-uuid-mercaderia-123",
"precio_unitario": {
"0": 70000,
"5": 0,
"10": 30000
},
"precio_unitario_original": 100000,
"cantidad": 1,
"total": 100000
}' | jq

Nota: Se envía mercaderia_id o servicio_id, pero no ambos. Nota: Asegúrate de reemplazar {id} con el ID del carrito y <access_token> con un token JWT válido proporcionado por el equipo Guaraní.
Importante:
Es imprescindible incluir un token de acceso válido en el encabezado x-api-key para autenticar y autorizar el uso de este endpoint. Sin este token, la solicitud será rechazada.


ParámetroTipoRequeridoDescripción
iduuidID del carrito que se desea agregar el item. (ver carritos)
EncabezadoValorDescripción
Content-Typeapplication/jsonIndica que los datos se envían en formato JSON.
x-api-keyBearer <access_token>Token de autenticación necesario para acceder al recurso.
CampoTipoRequeridoTamañoDescripción
mercaderia_iduuidNo36ID de la mercadería, si el ítem corresponde a un producto. (ver mercaderias)
servicio_iduuidNo36ID del servicio, si el ítem corresponde a un servicio. (ver servicios)
precio_unitarioobjeto-Precio por unidad del producto o servicio.
precio_unitario_originalnumber-Precio original del producto o servicio.
cantidadnumber-Cantidad de unidades del producto o servicio.
totalnumber-Total del precio después de calcular el precio unitario con la cantidad.
CampoTipoRequeridoTamañoDescripción
0numberNo-Precio con IVA 0%
5numberNo-Precio con IVA 5%
10numberNo-Precio con IVA 10%
{
"success": true,
"codigo": "201",
"message": "Recurso creado con éxito.",
"data": {
"id": "90dc3f8e-965e-40d6-8f6e-a7cda122959f",
"mercaderia": {
"id": "ejemplo-uuid-mercaderia-123",
"codigo_original": "CODIGO ORIGINAL DE EJEMPLO",
"codigo_fabricante": "CODIGO FABRICANTE DE EJEMPLO",
"codigo_interno": "01-1234567",
"codigo_barra": "CODIGO DE BARRAS DE EJEMPLO",
"descripcion": "DESCRIPCION DE EJEMPLO",
"descripcion_larga": "DESCRIPCION LARGA DE EJEMPLO",
"observacion": "OBSERVACION DE EJEMPLO",
"mercaderia_clasificacion_id": "ejemplo-uuid-clasificacion-mercaderia-123",
"mercaderia_marca_id": "ejemplo-uuid-marca-123",
"imagen_url": null,
"unidades": {
"unidad_medida_compra": {
"id": "5f49c6c1-d622-4f5b-9d8b-2d1636b584ab",
"codigo_sifen": "77",
"representacion": "UNI",
"descripcion": "Unidad"
},
"factor_conversion": 1,
"unidad_medida_venta": {
"id": "5f49c6c1-d622-4f5b-9d8b-2d1636b584ab",
"codigo_sifen": "77",
"representacion": "UNI",
"descripcion": "Unidad"
}
},
"precios": [
{
"precio_unitario": {
"0": 0,
"5": 0,
"10": 100000
},
"moneda": "PYG",
"establecimiento_id": "ejemplo-uuid-establecimiento-123"
}
]
},
"servicio": null,
"precio_unitario": 100000,
"precio_unitario_original": 100000,
"total": 100000,
"cantidad": 1,
"iva": {
"iva_tipo": 10,
"monto": 2727.2727275,
"afectacion": 28.03738318
}
}
}
CampoTipoDescripción
iduuidUUID único del item creado en el carrito.
mercaderiaobjetoInformación completa de la mercadería (null si es servicio).
servicioobjetoInformación completa del servicio (null si es mercadería).
precio_unitarionumberPrecio final por unidad aplicado.
precio_unitario_originalnumberPrecio original por unidad antes de descuentos o ajustes.
totalnumberMonto total del item (precio_unitario × cantidad).
cantidadnumberCantidad de unidades del producto o servicio.
ivaobjetoInformación del cálculo del IVA aplicado.
CampoTipoDescripción
iduuidUUID de la mercadería.
codigo_internostringCódigo interno de la mercadería. Ver tabla de código interno
codigo_originalstringCódigo original del fabricante o proveedor.
codigo_fabricantestringCódigo asignado por el fabricante.
codigo_barrastringCódigo de barras del producto.
descripcionstringNombre o descripción corta de la mercadería.
descripcion_largastringDescripción extendida de la mercadería.
observacionstringObservaciones o notas adicionales.
mercaderia_clasificacion_iduuidUUID de la clasificación o categoría de la mercadería.
mercaderia_marca_iduuidUUID de la marca de la mercadería.
imagen_urlstringURL de la imagen del producto (puede ser null si no dispone).
unidadesobjectObjeto con información de unidades de compra/venta y factor de conversión.
preciosarrayLista de precios por establecimiento, incluye valores por tipo de IVA y moneda correspondiente
CampoTipoDescripción
unidad_medida_compraobjectDatos de la unidad de medida utilizada para comprar la mercadería. (ver unidades-medidas)
factor_conversionnumberFactor de conversión entre la unidad de compra y la de venta (ej.: 1 caja = 12 unidades).
unidad_medida_ventaobjectDatos de la unidad de medida utilizada para vender la mercadería. (ver unidades-medidas)

Cada elemento del arreglo precios posee la siguiente estructura:

CampoTipoDescripción
precio_unitarioobjectObjeto con precios por tipo de IVA. Las claves son "0", "5" y "10" representando el porcentaje.
monedastringCódigo de moneda en formato ISO 4217 (ej.: PYG, USD).
establecimiento_iduuidUUID del establecimiento al que pertenece este precio.
CampoTipoDescripción
iva_tiponumberTipo de IVA aplicado: 0%, 5% o 10%.
montonumberMonto del IVA calculado en la moneda correspondiente.
afectacionnumberPorcentaje de afectación del IVA sobre el precio total.

Para más información sobre posibles errores de carritos, consulta las siguientes secciones: errores.