# Getting started
# Step 1: Get access
To be able to use the Procurement Service Bus API you'll need credentials and a subscription key. You can ask for a key via your sales representative or via the contact page (opens new window).
# Step 2: Get an API user
If you have been identified as a valid sender and/or receiver you will get a userId and password. The PartyId’s for organisations used for sending and receiving are attached to this userId. The user has several rights assigned for a partyId and can create hooks to get information about sending and receiving documents.
# Step 3: Test the functionality
You can test the working with the SWAGGER UI.
# PartyId’s
A PartyId is an identifier that is registered in the Peppol network. The PartyId is used for discovery of receivers and the routing of documents.
There are several types of identifiers that can be registered. In the Netherlands the most commonly used identifiers are KvK, VAT, OIN and OINO. Examples:
NL:KVK:12345678
, 0106:12345678
, NL:VAT:NL12345678B01
, 9944:NL12345678B01
and NL:OINO:00000001003214345000
.
# Me
Get information about the User and the registered PartyId’s.
# PurchaseInvoice
With the PurchaseInvoice endpoint you can download a document that is sent to your organization or investigate the status of a received document. You will need a PartyId from the organization where the document is sent to and the documentId of the document. The documentId is pushed to you through a web- or mailhook when the document arrives. By default, received documents are kept for 90 days. After the document has been downloaded by the receiver, it’s retained for 7 more days.
# SalesInvoice
With the SalesInvoice endpoint you can send a document to another partyId, or investigate the status of a sent document. You will need the partyId to which the document will be sent and a valid document. By calling the QueryRecipientParty endpoint you can get advice on which partyId to use. The advice is based on the registration of the partyId and the types of documents that are registered.
# Hook
A hook is a setting that defines how information is delivered back to the user. This can be done via mail or a push connection. A hook can contain information about the following topics: InvoiceReceived, InvoiceReceivedError, InvoiceSent, InvoiceSentError, InvoiceSentRetry. To learn more about hooks, go to the hooks page.
# Step 4: Use the API in your environment
The SWAGGER UI is a good example how the API’s can be used. But if you use your own code you need to retrieve the bearer token with your own code to login. The other API code can be generated with swagger to code generators.
We do have some packages available which can be used for the connection.