La API es simple y está bien documentada — el reto real es exponer tu servidor (casi siempre on-premise) hacia internet de forma segura.
Lado PIZ
- En sandbox: si tu organización aún no tiene una cuenta de prueba, pide que te creen una — es el único paso manual. Una vez adentro, ve a Mi organización → Integraciones API y genera tu
client_id/client_secretal instante, sin pedir nada más. - En producción: Integraciones API es un add-on — pide a tu contraparte comercial que lo active para tu organización. Una vez activo, la generación de credenciales es igual de inmediata desde el mismo panel.
- Guarda el
client_secrety elwebhook_secretapenas se muestran — no se vuelven a ver. - Registra tu URL de callback de facturas en el mismo panel.
- Implementa el flujo OAuth2 +
POST /purchase_requisitions.phpy la verificación de firma del webhook — ver Referencia técnica.
Lado SAP Business One — enviar la SOLPED
El Service Layer (REST/OData v4 sobre /b1s/v2/) expone PurchaseRequests con operaciones CRUD estándar.
Lado SAP Business One — recibir la factura
El mismo Service Layer expone PurchaseInvoices — una sola API cubre el envío de SOLPED y la recepción de factura.
La orden de compra
La puede emitir PIZ, con tu numeración, o SAP Business One: en ese caso PIZ le avisa cada orden aprobada (evento orden_aprobada) y SAP Business One responde con su número, que pasa a ser el oficial. Del lado de Business One, la orden se crea con PurchaseOrders del mismo Service Layer (el proveedor se ubica por su RUC en su CardCode) y se responde a PIZ con el DocNum. Se elige en Mi organización → Integraciones API; el detalle está en Referencia técnica → La orden de compra.
Qué configurar de tu lado
| Configurar en tu instalación | Para qué |
|---|---|
| Exposición del Service Layer hacia internet (VPN, IP allowlisting o reverse proxy) | PIZ necesita poder llegar a tu servidor — trabajo de infraestructura de tu equipo |
| Certificado TLS válido | El Service Layer trae uno autofirmado por defecto, que no sirve para producción |
Sesión autenticada (Basic Auth u OAuth, cookies SessionID/ROUTEID) | Autentica las llamadas al Service Layer |