Basic Terminology
Resources & Records
The Tulip Bulk API service is a collection of resources and records.
A resource refers to a type of data object that can be stored on the Tulip Platform backend; for example, Products
and Customers
.
A record refers to a specific instance of a resource with specific data available on the store associate’s device, such as an individual Product
object with category (clothing), product (pants), or product option (boot fit) characteristics.
Resources of the Bulk API service are grouped into the following sections:
Endpoint Section | Resources for… | |
---|---|---|
1 | Auth | Bulk handling of user and role records |
2 | Catalog | Bulk handling of catalog, category, option, price, and related product data records |
3 | CRM | Bulk handling of customer and customer-related data records, such as contact data, associations, SMS interactions, and tasks |
4 | ID Mappings | Maintaining associations between Tulip (internal) IDs with client (external) IDs of business data records |
5 | OMS | Orders and order-related data records |
6 | Store Ops | Store and employee data |
Submitting API requests to a Bulk API endpoint includes specifying the required resource, as well as its mandatory fields, as described in the endpoint reference section.
For example, to create employee records, you would submit a POST request to the /dataAccess/v1/storeops/employees
endpoint, specifying required values for its data elements, properties, and fields, assembling its JSON object with populated values.
The following is a sample JSON object for the employees resource with populated values:
{
"attributeValues": [
{
"attributeId": 1,
"languageId": 1,
"value": "en - proficient"
},
{
"attributeId": 1,
"languageId": 2,
"value": "fr - compétente"
}
],
"authUser": {
"disabled": false,
"password": "abJefJVVk-02rZ",
"roleIds": [
1
],
"username": "gulshan.kumar"
},
"dateCreated": "2015-08-11T17:52:31Z",
"dateModified": "2015-08-12T21:39:10Z",
"disabled": false,
"displayName": "Desmond",
"emailAddress": "desmond_amb@minimailserver.com",
"externalId": "metaipvlfV",
"firstName": "Desmond",
"image": "https:/minimailserver.ca/emp/images/employee_image_72.jpg",
"lastName": "Kumar",
"localizedData": [
{
"jobTitle": "Manager, Human Resources",
"languageId": 1
}
],
"mobileNumber": "+12223334444",
"storeId": 1
}
This is the full set of employee
object fields and properties. Not all fields are required or essential; you can bulk-create or upload employee records using only the minimum required fields and properties, as documented in the full endpoint reference.
Important Note:
Note how the Bulk API service handles omitted values:
- If an omitted field is nullable, it is stored as
null
- If an omitted field is not nullable, it is stored as its empty value. Examples of empty values include
""
for strings,0
for numbers,false
for booleans, and[]
for arrays.