Customers
Customers represent data about a specific customer. Carts, orders, attributes, addresses are associated with customers.
In a B2C environment a customer is the actual user ordering products.
The customer API is only available on the Propeller cloud version. The legacy version of Propeller does not support this API
Customer Lookup keys
Key | Type | Description |
---|---|---|
id | integer | Propeller customer id |
sourceId | string | External system unique id. sourceId should be combined with source |
Fields
Name | Description | Type |
---|---|---|
debtorId | A unique id representing this customer. A debtorId can be automatically generated by Propellor | integer string |
firstName | Customer first name | string |
middleName | Customer middle name | string |
lastName | Customer last name | string |
abbreviation | Customer abbreviation | string |
title | Customer title | string |
dateOfBirth | Customer date of birth | date |
gender | Customer gender | enum m=Male f=Female u=Undefined |
login | Login name used to login to the webshop | string |
phone | Customer phone number | string |
email | A valid email address | string |
ssn | Customer ssn | integer |
parent | Parent usergroup | JSON object that identifies the parent. id or sourceId in combination with source |
pricelistAmount | A pricesheet code in case of special pricing agreements | string |
pricelistPercentage | A pricesheet code in case of special pricing agreements | string |
primaryLanguage | Customer primary language | string ISO 639-1 |
sourceId | External system unique id | string |
source | External system | string |
Customer Errors
This section describes error codes specific for the Customer
resource.
Code | Error Type | Status Code | Message | Reason |
---|---|---|---|---|
60004 | CustomerExists | 400 | Customer already exists | Customer with such lookup key already exists |
60005 | CustomerMultipleFound | 400 | Multuple customers found. Please provide additional filters | Multiple customers with such lookup key exist |
60006 | CustomerNotFound | 404 | Customer does not exist | Customer with such lookup key not found |
60007 | ParentCustomerNotFound | 404 | Parent customer does not exist | Parent customer with such lookup key not found. This error is typical when working with customer sub-resources (e.g. attributes, addresses) |
60008 | CustomerNotAllowed | 405 | Customer is not allowed | Usually when customer is in Recycle Bin and can't be used |
90006 | AddressNotFound | 404 | Address does not exist | Customer address does not exist |
📄️ Get Customer Addresses by type
Use this endpoint to retrieve a list of all customer addresses. Addresses can be filtered by type.
📄️ Create Customer Address
Use this endpoint to create an address for a customer. If the address is successfully created, the response will include the address `id`.
📄️ Get Customer Address by Id
Use this endpoint to retrieve details for a customer address. The address is identified by `id`.
📄️ Delete Customer Address
Use this endpoint to delete a customer address. The address is identified by `id`.
📄️ Update Customer Address
Use this endpoint to update a customer address. The address is identified by `id`.
📄️ Customer Bulk Addresses
Use this endpoint to create multiple customer addresses with a single API request. If an address with the code provided is found, it will be updated, otherwise a new address will be created. If the code is not provided, a new address will be created. When a new address is successfully created, the response will include the address `id`.
📄️ Create Customer Pricing
Use this endpoint to define [pricing](/rest/pricesheets) for an existing customer. The customer can be identified by it's lookup key. It is required to provide either `categories` or `products` or both in the payload.
📄️ Delete Customer Pricing
Use this endpoint to delete pricing for an existing customer. The customer can be identified by it's lookup key.
📄️ Create Customer
Use this endpoint to create a single customer. If a customer is successfully created, the response will include the user `id`.
📄️ Get Customer by lookup key
Use this endpoint to retrieve customer details by lookup key. If multiple customers with the same lookup key exist, use additional filtering depending on the lookup key to uniquely identify the customer (e.g. `source` and `language` for lookup key `sourceId`).
📄️ Delete Customer by lookup key
Delete a `customer` by a specific lookupKey / lookupId combination. A deleted `customer` will be moved to the Propeller Recycle bin. This means the deleted customer can be restored, however, only via the Propeller backoffice.
📄️ Update Customer by lookup key
Use this endpoint to update customer by lookup key. If multiple customers with the same lookup key exist, use additional filtering depending on the lookup key to uniquely identify the customer (e.g. `source` and `language` for lookup key `source`).
📄️ Bulk Customers by source id
The bulk endpoints offer an efficient way of importing/updating large amounts of customers with just a single API call. When using the bulk `sourceId` endpoint, the customers are identified by `sourceId`, `source` and `language`. If a customer doesn't already exist, it will be created. If it does exist, the customer found will be updated.
📄️ Bulk Customers by Id
The bulk endpoints offer an efficient way of importing/updating large amounts of customers with just a single API call. When using the bulk `id` endpoint, the customers are identified by `id`. If a customer doesn't already exist, it will be created. If it does exist, the customer found will be updated.
📄️ Search Customers
> The customers search endpoint is only available on the Propeller cloud version.