CE CRM
Detailed description of API:
Interface currently available for DMS development in:- LATAM
Version & Updates
| Version | Revision Date | Revision History |
|---|---|---|
| 1.0 | 15 Sept 2026 | New Release |
Overview
CE CRM API is structured to capture information about the critical attributes used in the crm at the time of creation in any DMS systems.

Pre-requisites
- Dealer must use their Dealer Portal credentials to authorize API call.
- Each DMS provider will have a subscription_key assigned by CNHi team, please reach out to dlnadmssupport@cnh.com for assistance
- Each Subscription key is unique to DMS and the environment it belongs to
- User need to pass the content-type (application/json) in the header
Authentication
- DMS will pass Basic auth in HTTP header with username/password
- Each DMS provider will have a subscription_key assigned by CNHi team, please reach out to dlnadmssupport@cnh.com for assistance
- The UserID and Password will be set up in the Dealer Portal by the Dealer uniquely for DMS access to interfaces
- DEP API will require subscription_key in HTTP header to identify client
API Format
- REST
The DEP takes care of the format transformations (as needed) to process the request and provide a response to the DMS system. REST format is always suggested for greater simplicity.
Connection Details
For CE CRM there's 3 API types offered:
- Retail Orders
- Lead
- Equipment Wholesale
CNHi provides two environments:
- CERT / UAT
- Production
The environments are identical, requiring only that you change out your authorization and endpoint to connect to any of the environments.
Retail Orders API
Endpoints
| Environment | API URL | API | Request Type |
|---|---|---|---|
| UAT / Staging | https://{base_url}/latamexternal/services/latam-crm/cecrm/retailorder | REST | POST |
| Production | https://{base_url}/latamexternal/services/latam-crm/cecrm/retailorder | REST | POST |
Request Body
CE CRM Retail Orders API supports JSON format.
Sample JSON Payload
Download Retail Orders JSON Sample BodyLead API
Endpoints
| Environment | API URL | API | Request Type |
|---|---|---|---|
| UAT / Staging | https://{base_url}/latamexternal/services/latam-crm/cecrm/lead | REST | POST |
| Production | https://{base_url}/latamexternal/services/latam-crm/cecrm/lead | REST | POST |
Request Body
CE CRM Lead API supports JSON format.
Sample JSON Payload
Download Lead JSON Sample BodyCE CRM Attributes sheet
Download CE CRM AttributesResponse Codes
| Status Code | Message |
|---|---|
| 200 | Retail Order / Lead has been successfully uploded! |
| 400 | Request failed - Ownership group validation failed for provided userid and dealer id combination! |
| 400 | Required properties are missing from object: Parameter Name. |
| 400 | Parameter Name - Invalid type. Expected Number but got String. |
| 400 | The provided dealer_id parameter is empty in the request body! |
| 500 | Internal Server Error |
| 401 | Access denied due to invalid credentials! |
GET Equipment Wholesale & Status API
Description
This API allows DMS to retrieve Equipment Wholesale and Status data from EDS.
Key Characteristics
- Method: GET
- Data Type: Daily incremental changes
- Filters supported:
- last_update_date
- pageSize
- page
Endpoints
| Environment | API URL | API | Request Type |
|---|---|---|---|
| UAT / Staging | https://{base_url}/latamexternal/services/latam-crm/cecrm/getequipmentwholesale | REST | GET |
| Production | https://{base_url}/latamexternal/services/latam-crm/cecrm/getequipmentwholesale | REST | GET |
Response Structure
| Name | Type | Description |
|---|---|---|
| documents | array[document] | List of order and vehicle tracking records |
| documents.aging_days | Integer | Number of days since the current equipment/order status was reached |
| documents.blocks | String | Block information associated with the order |
| documents.brand | String | Equipment brand code |
| documents.chassi_vin | String | Vehicle Identification Number (VIN) |
| documents.dealer_gdd_code | String | Dealer GDD code |
| documents.dealer_id | String | Dealer identifier |
| documents.dealer_name | String | Dealer name |
| documents.dt_invoice_date | DateTime | Invoice date |
| documents.eta | DateTime | Estimated arrival date |
| documents.id | String | Unique document identifier |
| documents.invoice_number | String | Invoice number |
| documents.last_update_ts | DateTime | Last update timestamp |
| documents.line | String | Equipment product line |
| documents.model | String | Equipment model |
| documents.order_status | String | Current order status |
| documents.po_date | DateTime | Purchase order date |
| documents.po_id | String | Purchase order identifier |
| documents.po_sales_date | DateTime | Purchase order sales date |
| documents.po_sales_order | String | Purchase order sales order reference |
| documents.quantity | Integer | Quantity |
| documents.sales_order | String | Sales order number |
| documents.shipping_status | String | Shipping status |
| documents.shipping_window | String | Shipping schedule window |
| paginationProperties | Object | Pagination details returned in the response |
| paginationProperties.pageNumber | Integer | Current page number |
| paginationProperties.pageSize | Integer | Number of records returned per page |
| paginationProperties.totalItems | Integer | Total available records |
| paginationProperties.totalPages | Integer | Total available pages |
| statusCode | String | Response status code |
| message | String | Response message |
Response Codes
| Status Code | Description |
|---|---|
| 200 | Success |
| 400 | Validation Error |
| 401 | Unauthorized |
| 404 | Not Found |
| 500 | Internal Server Error |