Registro Peppol a través de la API

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.

Requisitos

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.

RolPermisosApUserEnviar/recibir facturas y órdenes, gestionar hooks para la propia partyApManagerTodo lo de ApUser, además: registros de party, gestión SMP, enrollment
El endpoint de Enrollment
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.

1. Services

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.

2. Party authorizations

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
      }
    }
  ]
}
PermisoDescripcióncanSendDocumentEnviar documentos en nombre de esta partycanReceiveDocumentRecibir documentos para esta partycanRemoveDocumentEliminar documentos recibidoscanManageHookCrear y gestionar hooks para esta party
3. Hooks

Opcionalmente 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"]
    }
  ]
}
Ejemplo completo

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"]
    }
  ]
}
Eliminar un registro

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.

Puntos de atenció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

Relacionado
Artículos relacionados