Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Method Objective

The method allows importing order history or updating of orders previously imported or created by tracking, as well as changing order statuses.

Warning

Don't use this method to create new orders. The creation of new orders should be done by tracking user activity in a way that is appropriate for your platform. See REST API, JS SDK or Mobile SDKs.

Request

EndpointRequest TypeContent-TypeRate LimitMax Data Size
https://api.personaclick.com/sync/ordersPOSTapplication/json40 requests/minute32 MB/request

Parameters

NameTypeRequirementDescription
shop_idstringrequiredUnique Store Key in PersonaClick. Located there: Account > Settings > Store Settings
shop_secretstringrequiredStore Secret Key in PersonaClick. Located there: Account > Settings > Store Settings
ordersArrayrequiredObject array with orders. See the description below.

Order Object

NameTypeRequirementUpdatable on re-import (sync)Description
idstringrequiredno

Order ID. If the Order ID and Order Number aren't the same, it's recommended to use the Order Number value. This will allow for easy comparison of orders on both sides. Also, note that the source of this property must be the same as the one used in the User Activity Tracking (Purchase Event).

Note

Please note that order IDs in UUID format aren't displayed in the dashboard. Instead of UUDI, "---" will be displayed. To avoid this, add any prefix to this.


statusstringrequiredyesOrder Status. The status matching must be set there in advance: Account > Settings Order Statuses
channelstringrequired for a new orderyesThe name of the sales channel. Any string value, such as "website", "offline", "mobile_ios", "mobile_android", "infokiosk", "pos", "callcenter", etc.
datenumberrequired for a new orderyes

Order date in UNIX timestamp format (in seconds).

Note

Milliseconds and microseconds aren't supported.


valueObjectrequired for a new orderyesDescribes the parts from which the final cost of the order is calculated. See the description below.
itemsArrayrequired for a new order or an order where the status has been updated for at least one productyes

Describes the products of the order. See the description below. 

Warning

This property should be missing if the synchronization of the status of an existing order is performed.


customObjectoptionallyyesCustom properties of the order. The properties should be pre-created: Account > Settings > Order properties

The following data types are supported:
- string
- integer
- date (YYYY-MM-DD)

See example below.
offlinebooleanoptionallyyesSets whether the order was created offline or not. Default: false.
emailstringAt least one is required so that an order can be bound to a profilenoUser's email.
phonestringno

User's phone in full international format.

Tip

A phone number in full international format may begin with a plus sign (+) followed by the country code, city (area) code, and phone number.


loyalty_idstringnoUser's Loyalty ID.
location_idstringoptionallyyesUser's Location. Should match the value from the previously given list of locations (HTTP API, XML feed).
promocodestringoptionallyyesThe promo code that the user applied at checkout.
delivery_typestringoptionallyyesDelivery Type, e.g. "courier", "self_pickup", "delivery", "pickup_point", etc.
delivery_addressstringoptionallyyesShipping address.
delivery_datestringoptionallyyesDate of delivery, planned or completed. Format: YYYY-MM-DD.
delivery_timestringoptionallyyesTime of delivery, planned or completed. Format: hh:mm.
payment_typestringoptionallyyesThe method of payment, such as "cash", "card", "wire", etc.
tax_freebooleanoptionallyyesIt sets whether the order was placed with Tax-Free or not.
bank_issuerstringoptionallyyesIssuing bank.
bank_pos_processorstringoptionallyyesBank POS processor.
bank_loyalty_programstringoptionallyyesBank loyalty program.
bank_total_installmentnumberoptionallyyesTotal bank installment.
payment_card_providerstringoptionallyyesPayment Card Provider.
gift_packagebooleanoptionallyyesGift package included or not.
payment_structureobjectoptionallyyesCustom values of the payment methods of the order. Can have any parameter name with a positive or negative numeric value (in money), the sum of which must be equal to the "value.total" value. See the example below.
commentstringoptionallyyesCustom text comment about an order. The maximum string length is 500 symbols.

Value Object

NameTypeRequirementUpdatable on re-import (sync)Description
totalnumberrequiredyes

Order's total value. 

deliverynumber
optionally

Describes the cost of delivery of the order. 

cashnumberoptionally

Describes how much of the order's value was paid by cash.

Warning
Moved to the "payment_structure" property. See the description above.
bonusesnumberoptionally

Describes how much of the order's value was paid by bonuses. 

Warning
Moved to the "payment_structure" property. See the description above.
discountnumberoptionally

Describes the amount of discount (in money) applied to the order. 

WarningMoved to the "payment_structure" property. See the description above.
optionallyyes

Describes the cost of delivery of the order. 

Items Array

NameTypeRequirementUpdatable on re-import (sync)Description
idstringrequiredyesProduct ID.
pricenumberrequiredyesCost per unit of product.
quantitynumberrequiredyesThe product quantity in the order.
statusstringoptionallyyes

Item (product) status. Can only have the following values: created, invoiced, shipped, delivered, cancelled, refunded.

Note

If the status of at least one product in an order is updated, all products should be included in the request.


original_pricenumberoptionallyyesThe base price of the product.
discount_productnumberoptionallyyesDescribes the amount of discount (in money) applied to the product.
discount_couponnumberoptionallyyesDescribes the amount of discount (in money) applied to the product by using the discount coupon.
discount_bonusesnumberoptionallyyesDescribes how much of the product's value was paid by bonuses.
delivery_companystringoptionallyyesProduct-specific delivery company.
line_idstringoptionallyyesThe unique ID of the product position in the order on the store side. If set, this property has priority over the "id", "barcode" properties when searching for a product of order in the order history.
barcodestringoptionallyno, if it's already setProduct barcode. If set, this property has priority over the "id" property when searching for a product of order in the order history.
cancel_reasonstringoptionallyyesAny description of the reason for returning the product.

API Response Code

HTTP status code

Description
200 OK

Authorization was successful.

Warning

The import process is asynchronous and executes in the background. The system checks only if the value types are correct, but not if the values themselves are correct. First, make sure by importing one order that the data is correct, then import all necessary orders.


400 Bad RequestUnsuccessful authorization.

Request Example

Code Block
languagejs
themeFadeToGrey
curl 'https://api.personaclick.com/sync/orders' \
  -X 'POST' \
  -H 'content-type: application/json' \
  --data-binary '@data.json'

# data.json
{
    "shop_id": "0d42fd8b713d0752776ca589cc0056",
    "shop_secret": "0123456789abcdef0123456789abcdef",
    "orders": [
        {
            "id": "ORDER_ID_1",
            "status": "Delivered",
            "channel": "website",
            "date": 1626344304,
            "offline": false,
            "email": "john.doe@examplemail.com",
            "phone": "+4400114527199",
            "loyalty_id": "000001234567",
            "location_id": "NY",
            "promocode": "vxawxSi9Uy",
            "delivery_type": "courier",
            "delivery_address": "146, Somewhere Ave, NY",
            "delivery_date": "2021-08-21",
            "delivery_time": "00:01",
            "payment_type": "card",
            "tax_free": false,
            "bank_issuer": "Garanti BBVA",
            "bank_pos_processor": "Apex",
            "bank_loyalty_program": "miles&smiles",
            "bank_total_installment": 4,
            "payment_card_provider": "mastercard",
            "gift_package": true,
            "value": {
                "total": 112.13,
                "delivery": 20
            },
            "payment_structure": {
                "cash": 67.13,
                "bonuses": -20,
                "credit_card": 30,
                "masterpass": 20,
                "credit_check": 15,
                "gift_card": -10,
                "bank_transfer": 15,
                "discount_coupon": -10,
                "bla-bla-wallet": 5
            },
            "custom": {
                "order_comment": "Delivery after 15:00, 2nd floor, apt. 222",
                "boxes": 2,
                "refund_date": "2021-09-21"
            },
            "items": [
                {
                    "id": "ITEM-ID-1",
                    "price": 205,
                    "quantity": 1,
                    "status": "cancelled",
                    "original_price": 270,
                    "discount_product": 30,
                    "discount_coupon": 10,
                    "discount_bonuses": 25,
                    "delivery_company": "ups",
                    "barcode": "195204003541",
                    "line_id": "195204003541-22323443-123434",
                    "cancel_reason": "over size"
                },
                {
                    "id": "ITEM-ID-2",
                    "price": 3,
                    "quantity": 4
                }
            ]
        },
        {
            "id": "ORDER_ID_2",
            "status": "Delivered",
            "channel": "website",
            "date": 1626344414,
            "offline": false,
            "email": "peter.parker@examplemail.com",
            "phone": "+4400145291711",
            "loyalty_id": "000000001",
            "location_id": "NY",
            "promocode": "vxawxSi9Uy",
            "delivery_type": "courier",
            "delivery_address": "Forest Hills, Queens",
            "delivery_date": "2021-07-20",
            "delivery_time": "10:01",
            "value": {
                "total": 211.13,
                "cash": 190,
                "bonuses": 27,
                "delivery": 20,
                "discount": 24.87
            },
            "items": [
                {
                    "id": "ITEM-ID-3",
                    "price": 204,
                    "quantity": 1
                },
                {
                    "id": "ITEM-ID-4",
                    "price": 3,
                    "quantity": 4
                }
            ]
        }
    ]
}



Column

Page Navigation

Table of Contents
maxLevel1
indent0px
stylenone




Related Pages

Filter by label (Content by label)
showLabelsfalse
showSpacefalse
sorttitle
cqllabel in ( "imports" , "orders" )