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 SectionResources for…
1AuthBulk handling of user and role records
2CatalogBulk handling of catalog, category, option, price, and related product data records
3CRMBulk handling of customer and customer-related data records, such as contact data, associations, SMS interactions, and tasks
4ID MappingsMaintaining associations between Tulip (internal) IDs with client (external) IDs of business data records
5OMSOrders and order-related data records
6Store OpsStore 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.