Skip to main content

Point of Sale

Detailed description of API:

Version & Updates

View Previous Revisions
VersionRevision DateRevision History
1.0June 2023New Release
1.108th Aug 2023Updated attached sample request files
1.217th Aug 2023Attached Point of Sale attributes worksheet
1.314th Sep 2023Updated Point of Sales to Point of Sale including API URLs
1.411th Apr 2024Project title change
1.511th Jun 2024Updated sample files
1.611th Jul 2024Sample XML, JSON Request & Point of Sale attributes by adding LineNumberSequence
1.725th Jun 2025Added Request Type and API
1.822nd Dec 2025Added the Point of Sale historical upload details, including STFP and Azure Event Hub approaches
1.921st Jan 2026Updated the Point of Sale Historical Upload section with more details
VersionRevision DateRevision History
1.104th Feb 2026Added 4 CSV files sample excel and update the sample C# code in Historical data upload section to set EventType while sending the Point of Sale data

Overview

Point of Sale API is structured to capture information about the critical attributes used in the point of sales at the time of creation in any DMS systems.

image.png

Pre-requisites
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
  • Based on the payload (XML/JSON), user to pass the content-type in the header

Authentication
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

CNHi provides two environments:

  • CERT / UAT
  • Production

CNHi will preform a null or empty check for dmsName & dealerCode from request body header section.

EnvironmentURLAPIRequest Type
CERT/UAThttps://{base_url}/external/services/v1/pointofsaleRESTPOST
Productionhttps://{base_url}/external/services/v1/pointofsaleRESTPOST

Request Body

Although the Point of Sale API supports both JSON and XML, CNHi preferred format is JSON.

Sample JSON Payload

Download PoS JSON Sample Body

Sample XML Payload

Download PoS XML Sample Body

Point of Sale Attributes

Download PoS Attributes

Response Codes

Status CodeMessage
200Point of sales uploaded successfully
400Invalid DMS Name / Dealer Code in the request body!
500Internal Server Error
401Access denied due to invalid credentials!

Point of Sale Historical Upload

Note
  • Historical data should NOT be sent via Point of Sale API.
  • Only Closed Point of Sale data is expected to be sent to CNH as part of Historical Data.
  • Point of Sale Historical upload is only applicable for NAFTA region.

DMS/Dealer should send historical Point of Sale data to CNH DEP using any of the two following methods.

Method 1: 4 Files in CSV format

a. DMS/Dealer needs to send Point of Sale data segregated in the 4 CSV files.
 i. Structure and format of 4 CSV files.
 ii. 4 CSV files Sample Data

b. To efficiently manage Point of Sale data processing, DMS can segment Point of Sale records into periodic batches; such as quarterly (3 months) or semiannually (6 months) intervals and same Point of Sale data related information need to be available in 4 CSV files. Please ensure that no data is lost across any of the 4 files.

c. Attributes highlighted in the Green color font in each tab of "4 CSV" files are composite primary keys for the respective file/table. Those attributes are mandatory and should not be NULL.

d. Please follow the file nomenclature as shown in the information box below

File Nomenclature

POS_<DMSName><DealerName><primarySAPNumber><DataFromDate>to<DataToDate><File Transfer DateTime>.zip

Note: The <primarySAPNumber> field is optional if the DMS/Dealer is sending the data at the OG level by combining all locations data in a single file.

e. For a detailed breakdown of each data field and its attributes, please refer to the attributes sheet.

f. Please contact CNH support team by providing DMS Name, Dealer name and SAP Ownershipgroup number to setup SFTP.

Method 2: JSON Method

a. DMS can send the historical Point of Sale data in JSON format through azure EventHub.

b. Payload structure remains same as the API request payload structure. Sample JSON Point of Sale Payload

c. DMS has to set the partition key for each Event/Point of Sale Payload. Partition key should be "<dealercode><documentId>".
Please refer the sample C# code below for your reference. However DMS can choose the any other langauge as per their convenience.

Sample C# code to send Point of Sale data to Event Hub
  var producerClient = new EventHubProducerClient("CONNECTION_STRING", "EVENTHUB_NAME");

var batchOptions = new CreateBatchOptions
{
PartitionKey = "<dealercode><documentId>"
};

using EventDataBatch eventBatch = await producerClient.CreateBatchAsync(batchOptions);
var payloadjson = "Point of Sale Json";
var data = new EventData(Encoding.UTF8.GetBytes(payloadjson));
data.Properties.Add("EventType", "PointofSale");

var response = eventBatch.TryAdd(data);
if(response == true) // Payload size is less than 1 MB
{
await producerClient.SendAsync(eventBatch);
}
else // Payload size is greater than 1 MB
{
//Add to ZIP file to post through SFTP later.
}

d. If the size of the payload exceeds 1 MB, the "TryAdd" method as shown in the above code snippet will give "FALSE" response. DMS/Dealer must store the failed payload in the JSON file format, ZIP all such JSON payload files together and transfer them via SFTP.

e. Please follow the file nomenclature as shown in the information box below for posting the files via SFTP.

File Nomenclature

POS_<DMSName><DealerName><primarySAPNumber><DataFromDate>to<DataToDate><File Transfer DateTime>.zip

Note: The <primarySAPNumber> field is optional if the DMS/Dealer is sending the data at the OG level by combining all locations data in a single file.

f. For a detailed breakdown of each data field and its attributes, please refer to the attributes sheet.

g. Please contact CNH support team for EventHub and SFTP connection details.