5.2.1 Create Customers
When syncing orders we need to create customers in Pylon depending on the use case.
5.2.1.1 Terminology
Consult the following documents for the various customers and order types used in this document
5.2.1.2 Customer creation cases
Customer Type | Document Type | Use Generic Pylon Customer | Create unique Customer in Pylon |
|---|---|---|---|
Guest | Receipt | Yes | No |
Guest | Invoice | No | Yes |
Retail | Receipt | Yes | No |
Retail | Invoice | No | Yes |
Wholesale | Invoice | No | Yes |
5.2.1.3 Specifications
Customers requesting receipts can use a generic Pylon customer (e.g., "Retail Customer"). This applies to guest and retail customers.
For invoices, a unique customer must be created in Pylon for each customer. Identification will be based on the VAT ID, which is required for MyData integration.
Guest / Retail Customers:
Receipt: Use the generic Pylon customer with a configuration field storing the customer's ID. Verify the existence of this customer or provide an endpoint to retrieve the ID.
Invoice: Create a unique Pylon customer for each guest. The VAT ID is mandatory only if an invoice is required.
Wholesale customers:
Create a unique Pylon customer for each wholesale customer. Identification will rely on the VAT ID.
5.2.1.4 Endpoint to create customers
The endpoint to create customers in Pylon is described in the following document:
@todo (from ERP company);
The response should return the customer ID required for order processing.
The endpoint should prevent creating a duplicate customer with the same VAT ID.
5.2.1.5 Endpoint to fetch customers
Since we only store the customers for orders which require an invoice the best field for identification is the VAT ID.
5.2.1.5.1 Request
Endpoint:
@todo (from ERP company);
Request parameters:
@todo (from ERP company);
5.2.1.5.2 Response
The response should return the customer ID required for order processing and the VAT ID for validation purposes.
Response data:
@todo (from ERP company);