Registrar organizaciones en Peppol a través de la Enrollment API: servicios, permisos y hooks en una sola llamada.
La Enrollment API es una solución integral para registrar una nueva party en la red Peppol. En una sola llamada API puede configurar el servicio Peppol, vincular usuarios con los permisos adecuados y, opcionalmente, configurar hooks. Este artículo describe el endpoint, las tres partes del enrollment y la eliminación de un registro.
La Enrollment API requiere el rol ApManager. Un ApUser no puede realizar un enrollment. Verifique que sus credenciales de API tengan el rol correcto antes de comenzar.
PUT /api/v1-beta/{partyId}/enroll
El {partyId} es el identificador Peppol de la party a registrar, en el formato schemeID:identifier (por ejemplo, 0106:12345678).
El cuerpo de la solicitud contiene tres secciones: Services, Party authorizations y Hooks.
En la sección Services se activa el servicio Peppol para la party. Se configuran las SMP-capabilities (qué tipos de documentos puede recibir la party) y, opcionalmente, una businessCard para su publicación en el Peppol Directory.
{
"services": {
"peppol": {
"capabilities": {
"invoices": "on",
"invoiceResponse": "on",
"orderOnly": "inherited"
},
"businessCard": {
"names": "Bedrijfsnaam B.V.",
"geoInfo": "Utrecht, NL",
"email": "[email protected]"
}
}
}
}
La businessCard es opcional, pero recomendada. Sin una businessCard, la party no será localizable en el Peppol Directory, aunque el registro SMP esté activo.
Aquí se vinculan uno o más usuarios a la party y se definen sus permisos. Cada party registrada debe estar vinculada a al menos un ApUser.
{
"partyAuthorizations": [
{
"userId": "[email protected]",
"permissions": {
"canSendDocument": true,
"canReceiveDocument": true,
"canRemoveDocument": true,
"canManageHook": true
}
}
]
}
canSendDocumentcanReceiveDocumentcanRemoveDocumentcanManageHookOpcionalmente puede registrar hooks directamente para la nueva party. Esto resulta útil si en el momento del registro ya sabe qué notificaciones son necesarias, por ejemplo un webhook para facturas recibidas.
{
"hooks": [
{
"action": "https://api.bedrijf.nl/webhooks/invoices",
"topics": ["InvoiceReceived"]
},
{
"action": "mailto:[email protected]",
"topics": ["InvoiceReceived"]
}
]
}
Una solicitud de enrollment completa que combina las tres partes:
{
"services": {
"peppol": {
"capabilities": {
"invoices": "on",
"invoiceResponse": "on"
},
"businessCard": {
"names": "Voorbeeld B.V.",
"geoInfo": "Amsterdam, NL"
}
}
},
"partyAuthorizations": [
{
"userId": "[email protected]",
"permissions": {
"canSendDocument": true,
"canReceiveDocument": true,
"canRemoveDocument": false,
"canManageHook": true
}
}
],
"hooks": [
{
"action": "https://api.voorbeeld.nl/leren/peppol/incoming",
"topics": ["InvoiceReceived"]
}
]
}
Para cancelar completamente el registro de una party (incluyendo todos los servicios, permisos y hooks), utilice:
DELETE /api/v1-beta/{partyId}/enroll
Tras la eliminación, la party ya no será accesible en la red Peppol y todos los hooks y autorizaciones vinculados se eliminarán.
La Enrollment API es un endpoint en fase beta (v1-beta). La funcionalidad es estable, pero el endpoint puede cambiar en versiones futuras. Si tiene preguntas sobre el estado beta, puede contactar con TechSupport.
Tenga en cuenta también que el registro SMP, tras el enrollment, puede tardar algunos minutos en sincronizarse en toda la red Peppol. Esto es inherente al protocolo SML/SMP.
¿Desea migrar registros existentes de otro proveedor? Lea entonces el artículo sobre migración hacia eConnect.
Pruébelo en la API