This documentation covers all capabilities of our CRM API
Glossary
| Endpoint | Type | Function |
|---|---|---|
| Create Customer đź”— | POST | Get customer order history. |
| Lookup Customer by Email đź”— | POST | Identify customer at checkout when they provide email |
| Customer Profile đź”— | GET | Get customer by profile ID. |
| Update Customer Profile đź”— | PATCH | Partially update a customer profile. |
| Update Customer Delivery Addresses đź”— | PATCH | Fully update a customer's delivery addresses |
| Update Customer Vehicles đź”— | PATCH | Fully update a customer's vehicles |
| Update Customer Favorites đź”— | PATCH | Fully update a customer's favorites |
| GET Customer Order Historyđź”— | GET | Retrieve full order history |
| Get CRM Order by Id đź”— | GET | Retrieve specific order by it's CRM Id |
| Get customer Favorite orders đź”— | GET | Retrieve a customer's favorite orders |
CRM Workflow
%%{init: {'theme': 'base', 'themeVariables': {'background': '#ffffff', 'mainBkg': '#ffffff','fontSize': '26px'}}}%%
sequenceDiagram
actor Customer
participant Platform as Ordering Platform
participant CRM as Deliverect CRM API
Note over Customer,CRM: Identify customer at checkout
%% Lookup / Create
Customer->>Platform: Provide email at checkout
Platform->>CRM: POST /crm/account/{accountId} (Lookup Customer by Email)<br/>body: { email }
alt Customer exists
CRM-->>Platform: 200 { externalId, loyaltyProviderId, deliveryAddresses, ... }
else Not found
Platform->>CRM: POST /crm/account/{accountId} (Create Customer)<br/>path: accountId, body: { contact, ... }
CRM-->>Platform: 200 { externalId, loyaltyProviderId, ... }
Note right of CRM: Must create<br> a customer<br/>before setting favorites
end
%% Read profile
Platform->>CRM: GET Customer Profile (by profile ID)
CRM-->>Platform: 200 customer profile
%% Updates
Note over Platform,CRM: Maintain customer data
Platform->>CRM: PATCH Update Customer Profile (partial update)
CRM-->>Platform: 200 updated profile
Platform->>CRM: PATCH Update Customer Delivery Addresses (full update)
CRM-->>Platform: 200 updated addresses
Platform->>CRM: PATCH Update Customer Vehicles (full update)
CRM-->>Platform: 200 updated vehicles
Platform->>CRM: PATCH Update Customer Favorites (full update)
CRM-->>Platform: 200 updated favorites
%% Read history & favorites
Note over Customer,CRM: Customer views history & favorites
Customer->>Platform: Open account / order history
Platform->>CRM: GET Customer Order History
CRM-->>Platform: 200 full order history
Platform->>CRM: GET CRM Order by Id
CRM-->>Platform: 200 specific order
Platform->>CRM: GET Customer Favorite Orders
CRM-->>Platform: 200 favorite orders
Platform-->>Customer: Display profile, history & favorites