Base URL
Autenticacion
Todos los endpoints requieren autenticacion mediante Bearer Token en el header Authorization.
Rate Limiting
La API implementa rate limiting por usuario. El limite de requests por hora depende del plan del usuario.
X-RateLimit-Limit- Limite maximo de requests por horaX-RateLimit-Remaining- Requests restantes en la ventana actual
Endpoints
Verifica que el servicio este funcionando correctamente. No requiere autenticacion.
| Parametro | Tipo | Descripcion |
|---|---|---|
| idc * | string | Identificador unico del item |
| Parametro | Tipo | Descripcion |
|---|---|---|
| idc * | string | Identificador unico del producto |
| Parametro | Tipo | Descripcion |
|---|---|---|
| idc * | string | Identificador unico del producto |
Retorna los datos de la imagen del producto segun la API de HeavenCommerce.
Nota: Este endpoint depende de la configuracion del catalogo en HeavenCommerce.
Obtiene la configuracion actual asociada al token. Devuelve los IDs de las listas de precios y las sucursales configuradas para el calculo de stock.
| Campo | Tipo | Descripcion |
|---|---|---|
| id_precio_lista | integer | ID de la lista de precios principal |
| id_precio_oferta | integer | ID de la lista de precios de oferta |
| sucursales | array | IDs de sucursales para calcular stock |
Actualiza la configuracion del token. Solo es necesario enviar los campos que se desean modificar. El resto de la configuracion se completa automaticamente con los valores actuales antes de enviar a HeavenCore.
| Campo | Tipo | Descripcion |
|---|---|---|
| sucursales | array | IDs de sucursales para calcular stock |
| id_precio_lista | integer | ID de la lista de precios principal |
| id_precio_oferta | integer | ID de la lista de precios de oferta |
Nota: Al enviar la actualizacion, el sistema obtiene automaticamente la configuracion actual y completa los campos faltantes (site_id, items_view, precio_lista, precio_oferta, etc.) antes de enviar a HeavenCore. El campo sucursales_s se actualiza automaticamente cuando se modifican las sucursales.
Crea un comprobante del tipo Presupuesto en Heaven, registrado bajo el canal Pagina Web. El presupuesto queda visible en el modulo HC > Ordenes. El stock no se reserva en este paso; para reservarlo se debe llamar a /api/invoice/{id}/confirm.
| Campo | Tipo | Requerido | Descripcion |
|---|---|---|---|
| sucursal | string | Si | ID de la sucursal que emite el presupuesto (ej: "1") |
| client | object | Si | Datos del cliente. Ver estructura mas abajo. |
| items | array | Si | Lista de productos. Al menos un elemento. Ver estructura mas abajo. |
| payment_method | object | Si | Medio de pago. Ver estructura mas abajo. |
| order_id | integer | No | ID del pedido externo (referencia del comercio) |
| invoice_type_A | boolean | No | Si true, solicita comprobante Tipo A. Default: false |
| discount | number | No | Descuento general sobre el total. Default: 0 |
| charges | number | No | Recargo / coeficiente de financiacion (ej: 1.09 = 9% de recargo) |
| user_id | string | No | ID del usuario vendedor en Heaven |
| pedido_comercio | boolean | No | Indica si es pedido mayorista. Default: false |
| coupon | object | No | Cupon de descuento. Campos: discount (number), comments (string) |
| comments | string | No | Observaciones generales del pedido |
| metadata | object | No | Datos de envio. Campos: shipping_id (integer), shipping_name (string) |
| extra_items | array | No | Items adicionales sin IDC (ej: costo de envio). Ver estructura mas abajo. |
| Campo | Tipo | Requerido | Descripcion |
|---|---|---|---|
| Nombre | string | Si | Nombre del cliente |
| Apellido | string | Si | Apellido del cliente |
| string | Si | Email del cliente. Formato valido requerido. | |
| DNI | string | Si | Numero de documento (DNI) |
| Domicilio | string | Si | Calle y numero |
| Localidad | string | Si | Ciudad / localidad |
| Provincia | string | Si | Provincia (ej: "Capital Federal") |
| Pais | string | Si | Pais (ej: "Argentina") |
| CP | integer | Si | Codigo postal |
| Telefono | string | No | Numero de telefono |
| CUIT | string|null | No | CUIT. Obligatorio cuando facturacion.categoria_impositiva es "I" o "M". null para Consumidor Final. |
| facturacion | object | Si | Datos de facturacion. Ver subcampos abajo. |
| facturacion.domicilio | string | Si | Domicilio fiscal |
| facturacion.localidad | string | Si | Localidad fiscal |
| facturacion.categoria_impositiva | string | Si | Condicion fiscal: "C" Consumidor Final • "M" Monotributista • "I" Responsable Inscripto • "E" Exento |
| Campo | Tipo | Requerido | Descripcion |
|---|---|---|---|
| IDC | string | Si | Identificador del producto en Heaven |
| quantity | integer | Si | Cantidad solicitada. Debe ser mayor a 0. |
| price_list_id | string | Si | ID de la lista de precios a aplicar para este item |
Se usa para cargos adicionales que no son productos del catalogo, como el costo de envio.
| Campo | Tipo | Requerido | Descripcion |
|---|---|---|---|
| concept | string | Si | Descripcion del cargo (ej: "Costo de Envio") |
| unit_price | number | Si | Precio unitario sin impuestos |
| quantity | integer | Si | Cantidad. Generalmente 1. |
| IVA | integer | Si | Alicuota de IVA en porcentaje (ej: 21) |
| Campo | Tipo | Requerido | Descripcion |
|---|---|---|---|
| method | integer | Si |
ID del medio de pago:
|
| bank_id | integer | Condicional | ID del banco a usar para registrar la transferencia / deposito. Requerido cuando method = 4. Obtener los IDs disponibles desde GET /api/banks. |
Nota: El presupuesto generado no reserva stock. Para reservar el stock del presupuesto, llamar a POST /api/invoice/{invoice_id}/confirm.
Convierte el presupuesto en una reserva de stock. Una vez confirmado, el stock de los items queda bloqueado en Heaven y no esta disponible para ventas en ningun otro canal (mostrador, web, MercadoLibre, etc.).
El id a usar es el valor de invoice_id retornado por POST /api/invoice.
| Paso | Estado en Heaven | Stock reservado |
|---|---|---|
Despues de POST /api/invoice |
Presupuesto (canal: Pagina Web) | No |
Despues de POST /api/invoice/{id}/confirm |
Presupuesto reservado | Si — bloqueado en todos los canales |
| Parametro | Tipo | Descripcion |
|---|---|---|
| id * | integer | El invoice_id devuelto por POST /api/invoice |
Devuelve el listado de bancos con su respectivo ID. Los IDs se utilizan en el campo bank_id del objeto payment_method cuando se usa method = 4 (Deposito Bancario).
| Campo | Tipo | Descripcion |
|---|---|---|
| id | integer | ID del banco. Usar como bank_id en payment_method. |
| name | string | Nombre del banco |
Devuelve el listado de grupos definidos en HeavenCommerce. Los grupos permiten organizar y clasificar productos en el catalogo.
Devuelve el listado de rubros (subcategorias) definidos en HeavenCommerce. Los rubros son subdivisiones dentro de los grupos para una clasificacion mas especifica de los productos.
Devuelve el listado de tags disponibles en HeavenCommerce. Los tags se utilizan para etiquetar y filtrar productos en el catalogo.
Devuelve el listado de marcas registradas en HeavenCommerce. Util para construir filtros de busqueda en el catalogo.
Devuelve el listado de sucursales disponibles en HeavenCommerce. Los IDs de sucursal se utilizan en la configuracion del token (GET /api/settings) para determinar el calculo de stock.
Nota: Los IDs devueltos por este endpoint son los mismos que se configuran en sucursales via POST /api/settings.
Devuelve el listado de usuarios registrados en HeavenCommerce. Los IDs de usuario se utilizan en el campo user_id al crear un presupuesto (POST /api/invoice) para asignar un vendedor.
Nota: El id devuelto corresponde al campo user_id del body en POST /api/invoice.
Codigos de Estado HTTP
Formato de Errores
Todos los errores siguen el mismo formato de respuesta:
En modo debug (APP_DEBUG=true), los errores incluyen informacion adicional: