Representa un Carrito de Compras.
El atributo billing
representa los datos de facturación. Son opcionales y sólo tienen efecto si se desea una
factura personalizada.
El atributo payment_info
contiene los datos del pago:
is_balance_in_use
activa o desactiva el uso de saldo para el pago del pedido.promo_code_id
indica el ID del PromoCode a usar.currency_iso
representa la moneda del pago para que se haga la conversión de montos y mostrar el pago en la
moneda elegida.payment_method_type
indica el tipo de método de pago. gateway
para las integraciones y form
para los pagos
manuales.payment_method_id
posee el ID del método de pago. Contiene el ID del PaymentMethod
en caso de gateway
o el ID
del Form
en casos de payment_method_type=form
El atributo delivery
almacena los datos de la entrega. Los atributos latitude_e6
y longitude_e6
contiene las
coordenadas de la ubicación de entrega. En caso de órdenes PickUp, se debe configurar ambos valores en 0
.
address
contiene la ubicación descriptiva (en texto).notes
contiene las notas adicionales de entrega. Por ejemplo: "Dejar con el vigilante".is_gift
indica que el pedido se trata de un regalo. En caso de is_gift=true
se debe enviar receiver_name
y
receiver_phone
con el nombre y teléfono de la persona que recibe el pedido.scheduled_at
contiene la fecha y hora de programación de la orden en UTC. Si es null
, la orden será ASAP.selected_delivery_id
contiene la flota elegida para el delivery. En caso de no especificar, el API asignará
la flota por defecto para la entrega.currency_iso
Representa la moneda del pedido (refleja la moneda de la Company). No se puede modificar.
status
indica el estado actual del carrito (En construcción, se usará con las listas de compras).
items
representa el detalle de productos del carrito. Cada item tiene un atributo is_valid
que indica si la
configuración del producto es válida (en construcción). Actualmente siempre devuelve true.
El atributo resume
contiene los valores calculados del Carrito.
is_valid
si los datos son válidos. Esto no toma en cuenta la configuración de productos, sino los datos de
entrega y pagos.prices
muestra el monto total del pedido. En caso que prices
contenga un array errors
no vacío, indica que
los productos en cuestión ya no son válidos para hacer el pedido, y dichos errores deben corregirse.fees
contiene el detalle de las tarifas a cobrar.
subtotal
muestra el total sumado de los productos elegidos.delivery_details
contiene el desglose de los montos de envío.selected_delivery_id
indica el ID de la flota elegida para el envío.available_delivery_providers
contiene una lista de las flotas disponibles para hacer tu envío. El usuario
podría elegir entre ellas.service_details
contiene el desglose de los montos de los cargos por servicio. Si el label
es -
se debe
mostrar el texto de "Servicio" según el idioma que corresponda.discount_details
contiene el desglose de los descuentos aplicados.taxes_details
contiene el desglose de los ajustes adicionales aplicados al monto del pedido.total_to_pay
representa el total a pagar aplicando todos los elementos indicados arriba.estimated_route
contiene información de la ruta estimada para realizar la entrega.payment
contiene información a mostrar para el pago. payment.debt
contiene la deuda total con el saldo y
descuentos ya aplicados. A esto se le suma el payment.payment_tax
que indica las comisiones de pago adicionales
para el método de pago seleccionado. Por último, el payment.payment_total
indica el monto total a pagar con las
comisiones de pago ya sumadas. Los atributos con prefijo payment_
muestran la información en la moneda del pago
en vez de la moneda de la Company.payment_error
no es null, indica que no se puede usar el método de pago elegido y se muestra información
del motivo.{
"id": 4,
"client_id": 10148,
"branch_id": 138,
"resume": {
"is_valid": true,
"goods_type": null,
"is_service": true,
"is_custom_pickup": true,
"is_digital": false,
"prices": {
"subtotal_original_e2": 0,
"subtotal_e2": 0,
"weight": 0,
"errors": []
},
"fees": {
"coordinates_e6": [
0,
0
],
"distance_in_meters": 0,
"available_balance": {
"amount_e2": 13959,
"currency_iso": "USD",
"formatted_iso": "USD 139.59",
"formatted": "139.59$"
},
"subtotal_e2": 0,
"subtotal": {
"amount_e2": 0,
"currency_iso": "USD",
"formatted_iso": "USD 0.00",
"formatted": "0.00$"
},
"delivery_fee_e2": 0,
"delivery_details": null,
"selected_delivery_id": null,
"available_delivery_providers": null,
"service_e2": 0,
"service_details": [],
"discount": 0,
"discount_details": [],
"taxes_e2": 0,
"taxes_details": [],
"total_e2": 0,
"total": {
"amount_e2": 0,
"currency_iso": "USD",
"formatted_iso": "USD 0.00",
"formatted": "0.00$"
},
"balance_payment": {
"amount_e2": 0,
"currency_iso": "USD",
"formatted_iso": "USD 0.00",
"formatted": "0.00$"
},
"total_to_pay": {
"amount_e2": 0,
"currency_iso": "USD",
"formatted_iso": "USD 0.00",
"formatted": "0.00$"
},
"estimated_route": null,
"estimated_weight": 0,
"payment": null,
"payment_error": null
},
"checkout": null,
"items_count": 0
},
"delivery": {
"selected_delivery_id": null,
"selected_delivery_type": 1,
"scheduled_at": null,
"receiver_name": null,
"receiver_phone": null,
"is_gift": false,
"latitude_e6": 0,
"longitude_e6": 0,
"address": null,
"notes": null,
"pickup_latitude_e6": 0,
"pickup_longitude_e6": 0,
"pickup_address": "Villa Venecia, Cumana, Sucre, Venezuela",
"locations": [
{
"latitude_e6": 10450452,
"longitude_e6": -64174234,
"address": "Villa Venecia, Cumana, Sucre, Venezuela",
"notes": null
}
],
"is_trip": false
},
"billing": {
"dni": null,
"phone": null,
"name": null,
"email": null,
"address": null
},
"payment_info": {
"is_balance_in_use": true,
"promo_code_id": null,
"promo_code": null,
"currency_iso": null,
"payment_method_type": null,
"payment_method_id": null,
"company_id": 116,
"is_valid": true
},
"currency_iso": "USD",
"status": "pending",
"created_at": "2024-05-29 13:26:59",
"updated_at": "2025-06-10 14:53:19"
}
Atributo | Tipo | Descripción |
---|---|---|
id |
int |
- |
client_id |
int |
- |
branch_id |
int\|null |
- |
resume |
CartResume\|null |
- |
delivery |
DeliveryInfo |
- |
billing |
BillingInfo\|null |
- |
payment_info |
PaymentInfo |
- |
currency_iso |
string |
- |
status |
string |
- |
created_at |
datetime\|null |
- |
updated_at |
datetime\|null |
- |
{info} Soporta: Paginación Filters Carga dinámica
Método | URI | Cabeceras |
---|---|---|
GET | /companies/{companyId}/carts |
Authorization |
{info} Soporta: Carga dinámica
Método | URI | Cabeceras |
---|---|---|
GET | /companies/{companyId}/carts/{cartId} |
Authorization |
Método | URI | Cabeceras |
---|---|---|
PATCH | /companies/{companyId}/carts/{cartId} |
Authorization |
{
"billing": {
"dni": "nullable|string|max:32",
"phone": "nullable|string|max:32",
"name": "nullable|string|max:80",
"email": "nullable|string|email:rfc,filter",
"address": "nullable|string|max:512"
},
"delivery": {
"selected_delivery_id": "nullable|integer",
"scheduled_at": "nullable|date",
"receiver_name": "nullable|string|max:80",
"receiver_phone": "nullable|string|max:32",
"is_gift": "boolean",
"latitude_e6": "integer|between:-90000000,90000000",
"longitude_e6": "integer|between:-180000000,180000000",
"address": "nullable|string|max:512",
"notes": "nullable|string|max:255",
"locations": [
{
"latitude_e6": "required|integer|between:-90000000,90000000",
"longitude_e6": "required|integer|between:-180000000,180000000",
"address": "nullable|string|max:512",
"notes": "nullable|string|max:255"
}
],
"is_trip": "boolean"
},
"payment_info": {
"is_balance_in_use": "boolean",
"promo_code_id": "nullable|integer",
"currency_iso": "nullable|string|max:8",
"payment_method_type": "nullable|string|in:gateway,form,post-payment,balance",
"payment_method_id": "nullable"
}
}
Método | URI | Cabeceras |
---|---|---|
DELETE | /companies/{companyId}/carts/{cartId} |
Authorization |
{info} Soporta: Carga dinámica
Método | URI | Cabeceras |
---|---|---|
GET | /companies/{companyId}/clients/{clientId}/carts/latest |
Authorization |
{info} Soporta: Carga dinámica
Método | URI | Cabeceras |
---|---|---|
GET | /companies/{companyId}/clients/{clientId}/branches/{branchId}/carts |
Authorization |
{info} Soporta: Carga dinámica
Método | URI | Cabeceras |
---|---|---|
GET | /companies/{companyId}/clients/{clientId}/branches/{branchId}/carts |
Authorization |
Método | URI | Cabeceras |
---|---|---|
POST | /companies/{companyId}/carts/{cartId}/clear |
Authorization |
Recalcula los datos del carrito con la data actual.
Método | URI | Cabeceras |
---|---|---|
POST | /companies/{companyId}/carts/{cartId}/checkout |
Authorization |
{
"submit": "nullable|boolean"
}
Método | URI | Cabeceras |
---|---|---|
POST | /companies/{companyId}/carts/{cartId}/replace-items-from-order |
Authorization |
{
"order_id": "required|integer|exists:orders,id"
}