ICOMMKT Omnichannel API (1.0.0-oas3)

Download OpenAPI specification:Download

Api for import to ICOMM

Definition

This process allows ICOMMKT to process on a daily basis the purchase orders generated in POS, offline and online stores, obtaining more than 75 indicators that can be used in the dynamic segmentation and automation processes.

Formats

4 plain text files must be generated:

Orders: Summary of invoiced purchase orders. Information related to the header the order of buy.

OrderDetails: Details of the purchase order lines.

OrderDetailCategories: Relationship between categories and products of the lines in the orders of purchase.

Customers: Customer information. The email field is required in this format.

Extra

  1. As a delimiter it is recommended to use “|”.

  2. All DECIMAL type fields must incorporate the dot (".") as a decimal separator. Do not use thousands separator.

  3. In the fields that do not contain information, replace with empty or zero as appropriate.

  4. Respect the order of the fields in the files according to the submitted design.

  5. Send 0 (zero) in all those integer or decimal fields in which it does not apply to send information.

Authentication

bearerAuth

Security Scheme Type HTTP
HTTP Authorization Scheme bearer
Bearer format "JWT"

Ordenes

API for Orders

get orders

Authorizations:
query Parameters
offset
integer

The number of items to skip before starting to collect the result set (default 1)

limit
integer

The numbers of items to return (default 20)

email
string

customer email

sourceUserId
string

Source System Customer Reference number or ID

storeCode
string

Store identifier.

orderNumber
string

Order Identifier in source system.

date
string <date>

Date of the order

dateStart
string <date>

init of range of dates

dateEnd
string <date>

end of range of dates

header Parameters
Content-Type
required
string
Value: "application/json"
  • application/json

Responses

generate an order

Authorizations:
header Parameters
Content-Type
required
string
Value: "application/json"
  • application/json
Request Body schema: application/json

Order body

UserId
number

User ID. Type Char(50). Client

StoreCode
string

Store Identifier. Type Char(30).

Date
string <date>

Date of the order. Type Date.

TotalItems
number

Quantity of items in the Order. Type Decimal(5,2).

TotalProducts
number

Quantity of Products (different items) in the Order. Type Decimal(10,2).

TotalAmount
number

Total Amount. Type Decimal(10,2). With Taxes.

OrderNumber
string

Order Number. Type Char(50).

ItemsAmount
number

Total amount of the items of the order. Type Decimal(10,2). Without Taxes.

DiscountsAmount
number

Total amount of the Discounts applied to the order. Type Decimal(10,2).

PreShippingAmount
number

Total Amount of the Order without shipping Amount. Type Decimal(10,2). Amount of the order without cost of Shipping. Should come a value greater than zero (can be TotalAmount when do not is discriminated against or does not exist cost of Shipping)

ShippingAmount
number

Shipping Amount. Type Decimal(10,2). Send 0 if does not exist

TaxAmount
number

Tax Amount of the order. Type Decimal(10,2). All the Taxes

PromoCodes
string

Applied Promo Codes. Type TEXT. When there is more than one data item to report for the field, they must be sent one after the other using a different separator than the general one of the file. For example PROCOMOCODE1##PROMOCODE2

DeliveryType
string

Delivery Type. Type Char(50). When there is more than one data item to report for the field, they must be sent one after the other using a different separator than the general one of the file. For example PROCOMOCODE1##PROMOCODE2

DeliverySubType
string

Delivery Sub Type. Type Char(50). When there is more than one data item to report for the field, they must be sent one after the other using a different separator than the general one of the file. For example PROCOMOCODE1##PROMOCODE2

DeliveryCompany
string

Carrier Company. Type Char(80).

PaymentMethod
string

Payment Method (Ex... Credit Card, Debit Card, Cash, Paypal). Type Char(8 0). When there is more than one data item to report for the field, they must be sent one after the other using a different separator than the general one of the file. For example PROCOMOCODE1##PROMOCODE2

PaymentMethodDetail
string

Payment Method Detail (Ex... VISA). Type Char(80). When there is more than one data item to report for the field, they must be sent one after the other using a different separator than the general one of the file. For example PROCOMOCODE1##PROMOCODE2

PaymentMethodEntity
string

Payment Method Entity (Ex... Bank XXXX). Type Char(80). When there is more than one data item to report for the field, they must be sent one after the other using a different separator than the general one of the file. For example PROCOMOCODE1##PROMOCODE2

PaymentTerms
string

Payment Terms, Installments (Ex... 1 Installment, 3 Installments). Type Char(50). When there is more than one data item to report for the field, they must be sent one after the other using a different separator than the general one of the file. For example PROCOMOCODE1##PROMOCODE2

Array of objects (item) [ items ]
object (customer)

Item for order

Responses

Request samples

Content type
application/json
{
  • "UserId": 0,
  • "StoreCode": "string",
  • "Date": "2019-08-24",
  • "TotalItems": 0,
  • "TotalProducts": 0,
  • "TotalAmount": 0,
  • "OrderNumber": "string",
  • "ItemsAmount": 0,
  • "DiscountsAmount": 0,
  • "PreShippingAmount": 0,
  • "ShippingAmount": 0,
  • "TaxAmount": 0,
  • "PromoCodes": "string",
  • "DeliveryType": "string",
  • "DeliverySubType": "string",
  • "DeliveryCompany": "string",
  • "PaymentMethod": "string",
  • "PaymentMethodDetail": "string",
  • "PaymentMethodEntity": "string",
  • "PaymentTerms": "string",
  • "Items": [
    ],
  • "User": {
    }
}

modify an order

Authorizations:
header Parameters
Content-Type
required
string
Value: "application/json"
  • application/json
Request Body schema: application/json

Order body

UserId
number

User ID. Type Char(50). Client

StoreCode
string

Store Identifier. Type Char(30).

Date
string <date>

Date of the order. Type Date.

TotalItems
number

Quantity of items in the Order. Type Decimal(5,2).

TotalProducts
number

Quantity of Products (different items) in the Order. Type Decimal(10,2).

TotalAmount
number

Total Amount. Type Decimal(10,2). With Taxes.

OrderNumber
string

Order Number. Type Char(50).

ItemsAmount
number

Total amount of the items of the order. Type Decimal(10,2). Without Taxes.

DiscountsAmount
number

Total amount of the Discounts applied to the order. Type Decimal(10,2).

PreShippingAmount
number

Total Amount of the Order without shipping Amount. Type Decimal(10,2). Amount of the order without cost of Shipping. Should come a value greater than zero (can be TotalAmount when do not is discriminated against or does not exist cost of Shipping)

ShippingAmount
number

Shipping Amount. Type Decimal(10,2). Send 0 if does not exist

TaxAmount
number

Tax Amount of the order. Type Decimal(10,2). All the Taxes

PromoCodes
string

Applied Promo Codes. Type TEXT. When there is more than one data item to report for the field, they must be sent one after the other using a different separator than the general one of the file. For example PROCOMOCODE1##PROMOCODE2

DeliveryType
string

Delivery Type. Type Char(50). When there is more than one data item to report for the field, they must be sent one after the other using a different separator than the general one of the file. For example PROCOMOCODE1##PROMOCODE2

DeliverySubType
string

Delivery Sub Type. Type Char(50). When there is more than one data item to report for the field, they must be sent one after the other using a different separator than the general one of the file. For example PROCOMOCODE1##PROMOCODE2

DeliveryCompany
string

Carrier Company. Type Char(80).

PaymentMethod
string

Payment Method (Ex... Credit Card, Debit Card, Cash, Paypal). Type Char(8 0). When there is more than one data item to report for the field, they must be sent one after the other using a different separator than the general one of the file. For example PROCOMOCODE1##PROMOCODE2

PaymentMethodDetail
string

Payment Method Detail (Ex... VISA). Type Char(80). When there is more than one data item to report for the field, they must be sent one after the other using a different separator than the general one of the file. For example PROCOMOCODE1##PROMOCODE2

PaymentMethodEntity
string

Payment Method Entity (Ex... Bank XXXX). Type Char(80). When there is more than one data item to report for the field, they must be sent one after the other using a different separator than the general one of the file. For example PROCOMOCODE1##PROMOCODE2

PaymentTerms
string

Payment Terms, Installments (Ex... 1 Installment, 3 Installments). Type Char(50). When there is more than one data item to report for the field, they must be sent one after the other using a different separator than the general one of the file. For example PROCOMOCODE1##PROMOCODE2

Array of objects (item) [ items ]
object (customer)

Item for order

Responses

Request samples

Content type
application/json
{
  • "UserId": 0,
  • "StoreCode": "string",
  • "Date": "2019-08-24",
  • "TotalItems": 0,
  • "TotalProducts": 0,
  • "TotalAmount": 0,
  • "OrderNumber": "string",
  • "ItemsAmount": 0,
  • "DiscountsAmount": 0,
  • "PreShippingAmount": 0,
  • "ShippingAmount": 0,
  • "TaxAmount": 0,
  • "PromoCodes": "string",
  • "DeliveryType": "string",
  • "DeliverySubType": "string",
  • "DeliveryCompany": "string",
  • "PaymentMethod": "string",
  • "PaymentMethodDetail": "string",
  • "PaymentMethodEntity": "string",
  • "PaymentTerms": "string",
  • "Items": [
    ],
  • "User": {
    }
}

Customer

API for Customers

gets customers

Authorizations:
query Parameters
offset
integer

The number of items to skip before starting to collect the result set (default 1)

limit
integer

The numbers of items to return (default 20)

order
string

order of customer Default DESC(example order=sourceUserID,DESD)

email
string

customer email

sourceUserId
string

Source System Customer Reference number or ID

storeCode
string

Store identifier

dateStart
string <date>

init of range of dates

dateEnd
string <date>

end of range of dates

header Parameters
Content-Type
required
string
Value: "application/json"
  • application/json

Responses

generate a customer

storeCode - Empty if it is a unique store or customer has a unique SourceUserId over all stores

Authorizations:
header Parameters
Content-Type
required
string
Value: "application/json"
  • application/json
Request Body schema: application/json

Order body

SourceUserId
string

Source System Customer Reference number or ID. Type Char(50).

required
any
StoreCode
string

Store Identifier. Type Char(30). Report only when a client has Different IDs for each Store

Email
string <email>

Client Email. Type Char(300)

Array of objects[ items ]

Responses

Request samples

Content type
application/json
{
  • "SourceUserId": "string",
  • "required": null,
  • "StoreCode": "string",
  • "Email": "user@example.com",
  • "SavedColumns": [
    ]
}

modify a customer

Authorizations:
header Parameters
Content-Type
required
string
Value: "application/json"
  • application/json
Request Body schema: application/json

Order body

SourceUserId
string

Source System Customer Reference number or ID. Type Char(50).

required
any
StoreCode
string

Store Identifier. Type Char(30). Report only when a client has Different IDs for each Store

Email
string <email>

Client Email. Type Char(300)

Array of objects[ items ]

Responses

Request samples

Content type
application/json
{
  • "SourceUserId": "string",
  • "required": null,
  • "StoreCode": "string",
  • "Email": "user@example.com",
  • "SavedColumns": [
    ]
}