Integración Automatizada con Shopify
Configura este endpoint como un Webhook en tu tienda Shopify para la acción orders/create o orders/paid. Cada vez que se genere un pedido, nuestro sistema recibirá los datos y generará la factura o boleta de forma automática basándose en la información del cliente y los productos, comunicándose directamente con SUNAT.
Webhook de Shopify: Crear Pedido
Request (Ejemplo Shopify Payload)
JSON
{
"id": 820982911946154500,
"email": "cliente@email.com",
"created_at": "2026-06-07T16:33:36-05:00",
"number": 234,
"note": "Entregar por la tarde",
"total_price": "403.00",
"subtotal_price": "393.00",
"total_tax": "0.00",
"taxes_included": true,
"currency": "PEN",
"financial_status": "paid",
"name": "#1001",
"line_items": [
{
"id": 866550311766439000,
"variant_id": 808950810,
"title": "Zapatillas Deportivas Modelo X",
"quantity": 1,
"sku": "ZAP-DEP-X",
"price": "199.00",
"taxable": true
}
],
"customer": {
"id": 207119551,
"email": "cliente@email.com",
"first_name": "Juan",
"last_name": "Perez",
"phone": "+51987654321",
"note": "DNI: 12345678"
},
"billing_address": {
"first_name": "Juan",
"address1": "Av. Larco 123",
"city": "Lima",
"province": "Lima",
"country": "Peru",
"company": ""
}
}Response (eFacturando Webhook)
Respuesta JSON
{
"status": "success",
"message": "Webhook recibido y procesado correctamente",
"documento_generado": {
"tipo": "03",
"serie": "B001",
"correlativo": 145,
"enlace_pdf": "https://emisor.pe/facturacionv9/printpdf/?file=..."
}
}
Mapeo de Datos (Importante)
Nuestro sistema procesa el payload de Shopify de la siguiente manera:
- RUC / DNI: Intentará extraerlo de los campos
company(para Facturas/RUC) onotedel cliente. Si no se provee, se usará el documento genérico00000000. - Productos: Los
line_itemsse mapean automáticamente a la unidadNIU. El SKU de Shopify se utilizará como código del producto. - Envío/Delivery: Si la orden incluye
shipping_lines, se añadirá como un ítem adicional en la boleta/factura con la afectación de IGV correspondiente. - Tipo de Comprobante: Si se proporciona un RUC válido en el campo
company, se emitirá una Factura (01). En cualquier otro caso, se emitirá una Boleta (03).
Parámetros del Payload de Shopify
| Parámetro | Tipo | Descripción |
|---|---|---|
| id | integer | El identificador único de la orden en Shopify. Se utilizará para evitar duplicados. |
| string | Correo del cliente al cual se enviará el comprobante electrónico final. | |
| name | string | El número de orden (ej. #1001) que aparecerá como observación en la factura. |
| currency | string | Moneda de la transacción (PEN, USD, etc.). |
| line_items | array | Arreglo de los productos comprados. El sku es crucial para enlazarlo con tu catálogo en SUNAT. |
| customer.first_name | string | Nombre del cliente. Si no hay RUC, se usará para la Boleta. |
| customer.note | string | Lugar recomendado para almacenar el DNI del cliente en la tienda de Shopify. |
| billing_address.company | string | Lugar recomendado para almacenar la Razón Social y/o RUC del cliente. Si contiene 11 dígitos, se emite una Factura. |
Configuración de URL y Parámetros
Para conectar correctamente Shopify con tu cuenta en eFacturando, la URL del webhook que debes configurar en el panel de administrador de Shopify (Configuración > Notificaciones > Webhooks) debe incluir los siguientes parámetros GET:
| Parámetro (Query URL) | Tipo | Req. | Descripción |
|---|---|---|---|
| token | string | Sí | El token de contribuyente único que encuentras en el panel lateral. |
| idsucursal | integer | Sí | El ID de la sucursal donde deseas que se emita el comprobante. |
| entorno | string | No | Usa prueba para enviar el comprobante en entorno beta. Por defecto: produccion. |