The Iconic Order Management Technical Scope - In progress - Mimi
The Get Orders call and Get Order Items calls to be incorporated in 1 cron, i.e. to work together because in Hemi we could not download the orders without the items.
Get Orders
The purpose of this document is give detailed description how to download orders for the ‘The Iconic’ marketplace.
We will split orders download into 2 parts: Get New Orders & Get Modified Orders. Get New Orders will look for “Created After“ & “Created Before“, and Modified Orders will look for “Updated After“ and “Updated Before“.
Get New Orders
GET - https://api.sellercenter.net/?Action=GetOrders
Parameters:
Parameter Name | Parameter Value | Comment | Required |
---|---|---|---|
Action | “GetOrders“ | for product remove our action will always be “GetOrders“ | Yes |
Format | “XML“ or “JSON“ | both options are available, If not supplied, 'XML' is assumed. | No |
Timestamp | the current time in ISO8601 format relative to UTC | e.g., Timestamp=2015-04-01T10:00:00+02:00 for Berlin | Yes |
UserID | Account The Iconic > User ID | The ID of the user making the call | Yes |
Version | “2.6.20“ | hardcoded the latest available version | Yes |
Signature | Account The Iconic > Signature | The cryptographic signature, authenticating the request. A caller must create this value by computing the SHA256 hash of the request, using the API key of the user specified in the UserID parameter | Yes |
CreatedAfter | Date format: YY/MM/DD | Limites the returned order list to those created after or on a specified date, given in ISO 8601 date format | Yes |
CreatedBefore | Date format: YY/MM/DD | Limites the returned order list to those created before or on a specified date, given in ISO 8601 date format | No |
Limit | “100“ | (integer) The maximum number of orders that should be returned, default 100. The value is configurable in config parameter core:api/get_orders/limit |
Yes |
Offset | Numer of orders to skip at the beginning of the list (i.e., an offset into the result set; toghether with the Limit parameter, simple resultset paging is possible; if you do page through results, note that the list of orders might change during paging). |
TBD: Not listed Status, Sort by & SortDirection - necessary?
Get Modified Orders
GET - https://api.sellercenter.net/?Action=GetOrders
Parameters:
Parameter Name | Parameter Value | Comment | |
---|---|---|---|
Action | “GetOrders“ | for product remove our action will always be “GetOrders“ | Yes |
Format | “XML“ or “JSON“ | both options are available, If not supplied, 'XML' is assumed. | No |
Timestamp | the current time in ISO8601 format relative to UTC | e.g., Timestamp=2015-04-01T10:00:00+02:00 for Berlin | Yes |
UserID | Account The Iconic > User ID | The ID of the user making the call | Yes |
Version | “2.6.20“ | hardcoded the latest available version | Yes |
Signature | Account The Iconic > Signature | The cryptographic signature, authenticating the request. A caller must create this value by computing the SHA256 hash of the request, using the API key of the user specified in the UserID parameter | Yes |
UpdatedAfter | datetime | Limites the returned order list to those updated after or on a specified date, given in ISO 8601 date format | Yes |
UpdatedBefore | datetime | Limites the returned order list to those updated before or on a specified date, given in ISO 8601 date format | No |
Limit | “100“ | (integer) The maximum number of orders that should be returned, default 100. The value is configurable in config parameter core:api/get_orders/limit |
Yes |
Offset | Numer of orders to skip at the beginning of the list (i.e., an offset into the result set; toghether with the Limit parameter, simple resultset paging is possible; if you do page through results, note that the list of orders might change during paging). |
TBD: Not listed Status, Sort by & SortDirection - necessary?
Example request:
url = "https://api.sellercenter.net/"
get
data-urlencode Action=GetOrders
data-urlencode CreatedAfter=2014-01-01T00%3A00%3A00%2B0200
data-urlencode CreatedBefore=2014-12-31T23%3A59%3A59%2B0200
data-urlencode Offset=0
data-urlencode Limit=100
data-urlencode Status=pending
data-urlencode Timestamp=2015-07-01T11:11+0000
data-urlencode UserID=maintenance@sellercenter.net
data-urlencode Version=1.0
data-urlencode Signature=d4ff93cccb165295ed8357fe42082208b781a3b576bbb7d3fe7a624270b047b9
Example response ( for Get Orders & Get Modified Orders)
<?xml version="1.0" encoding="UTF-8"?>
<SuccessResponse>
<Head>
<RequestId></RequestId>
<RequestAction>GetOrders</RequestAction>
<ResponseType>Orders</ResponseType>
<Timestamp>2013-08-27T14:44:13+0000</Timestamp>
<TotalCount>15</TotalCount>
</Head>
<Body>
<Orders>
<Order>
<OrderId>1</OrderId>
<CustomerFirstName>John</CustomerFirstName>
<CustomerLastName>Doe</CustomerLastName>
<OrderNumber>3000</OrderNumber>
<PaymentMethod>CashOnDelivery</PaymentMethod>
<Remarks></Remarks>
<DeliveryInfo></DeliveryInfo>
<Price>100.00</Price>
<GiftOption>0</GiftOption>
<GiftMessage></GiftMessage>
<CreatedAt>2013-09-02 02:28:17</CreatedAt>
<UpdatedAt>2013-09-02 02:28:17</UpdatedAt>
<AddressBilling>
<FirstName>John</FirstName>
<LastName>Doe</LastName>
<Phone>0123456789</Phone>
<Phone2></Phone2>
<Address1>testtestcarmen</Address1>
<Address2>testtestcarmen</Address2>
<CustomerEmail>hello@sellercenter.net</CustomerEmail>
<City>Kuala Lumpur</City>
<PostCode>12345</PostCode>
<Country>Germany</Country>
</AddressBilling>
<AddressShipping>
<FirstName>John</FirstName>
<LastName>Doe</LastName>
<Phone>0123456789</Phone>
<Phone2></Phone2>
<Address1>testtestcarmen</Address1>
<Address2>testtestcarmen</Address2>
<CustomerEmail>hello@sellercenter.net</CustomerEmail>
<City>Kuala Lumpur</City>
<PostCode>11111</PostCode>
<Country>Malaysia</Country>
</AddressShipping>
<NationalRegistrationNumber/>
<ItemsCount>12</ItemsCount>
<PromisedShippingTime>2015-06-13 17:35:22</PromisedShippingTime>
<ExtraAttributes>{color:"red", isGift:"true"}</ExtraAttributes>
<ExchangeForOrderId/>
<ExchangeByOrderId/>
<Statuses>
<Status>shipped</Status>
<Status>returned</Status>
<Status>return_waiting_for_approval</Status>
<Status>return_shipped_by_customer</Status>
<Status>return_rejected</Status>
<Status>ready_to_ship</Status>
<Status>processing</Status>
<Status>pending</Status>
<Status>failed</Status>
<Status>delivered</Status>
<Status>canceled</Status>
</Statuses>
</Order>
</Orders>
</Body>
</SuccessResponse>
After each successful run, we create a new record in last Run date. If cron runs for the first time we look back 9 months. If we have record in Last Run date we get the date created and revert 1 hour back as overlap.
Mapping:
The Iconic Field | Hemi Field | Comment | Type | Required | |
---|---|---|---|---|---|
1 | TotalCount |
N/A | Displayed in the Head section, this number tells the complete number of all orders for the current filter set in the database | Unsigned | |
2 | OrderId |
Orders > Marketplace Order ID | Identifier of this order as assigned by SellerCenter. | Unsigned | Yes |
3 | CustomerFirstName |
Orders > Buyer Name | The customer's first name | String | Yes |
4 | CustomerLastName |
Orders > Buyer Name | The customer's last name | String | Yes |
5 | OrderNumber |
Order The Iconic > Order Number | The human-readable order number | Unsigned | Yes |
6 | PaymentMethod |
Order > Order Payment method | The method of payment | String | Yes |
7 | Remarks |
N/A | A human-readable remark | String | |
8 | DeliveryInfo |
Order > Order type | Delivery information for that order | String | No? |
9 | Price |
Order Item > Item Price | The total amount for this order. | Float | Yes |
10 | GiftOption |
N/A | 1 if item is a gift, 0 if it is not | Boolean | |
11 | GiftMessage |
N/A | Gift message as specified b the customer. | String | |
12 | CreatedAt |
Order > Order created time | Date and time when the order was placed | DateTime | Yes |
13 | UpdatedAt |
TBD | Date and time of last change to the order | DateTime | Yes |
14 | AddressBilling |
Order > Billing Details > Name | Node that contains additional nodes, which make up the billing address: FirstName, LastName, Phone, Phone2, Address1, Address2, City, PostCode, Country | Subsection | No? |
15 | Order > Billing Details > Country Code | No | |||
16 | Order > Billing Details > City Name | No | |||
17 | Order > Billing Details > Billing Street 1 | No | |||
18 | Order > Billing Details > Billing Street 2 | No | |||
19 | Order > Billing Details > Country Name | No | |||
20 | Order > Billing Details > Phone | No | |||
21 | AddressShipping |
Order > Shipping Details > Shipping Buyer Name | Node that contains additional nodes, which make up the shipping address: FirstName, LastName, Phone, Phone2, Address1, Address2, City, PostCode, Country | Subsection | Yes |
22 | Order > Shipping Details > Shipping Postal Code | No | |||
23 | Order > Shipping Details > Country Name | Yes | |||
24 | Order > Shipping Details > Shipping City | Yes | |||
25 | Order > Shipping Details > Shipping Street 1 | Yes | |||
26 | Order > Shipping Details > Shipping Street 2 | No | |||
27 | NationalRegistrationNumber |
N/A? | Required in some countries. | String | |
28 | ItemsCount |
Order > Products on Orders | Number of items in order. | Integer | Yes |
29 | Statuses |
Orders > Order Status | Unique statuses of the items in the order. (hint: you can find all of the different status codes in the response example | Array | Yes |
30 | PromisedShippingTime |
N/A | Target shipping time for the soonest order item if they were available | DateTime | |
31 | ExtraAttributes |
N/A | Extra attributes which were passed to SellerCenter on getMarketPlaceOrders call. | ||
It is JSON string which client should parse it. | String |
Statuses:
The Iconic Order Status | Hemi Status / Status | Comments | |
---|---|---|---|
1 | pending |
Pending | When we have status on “Pending”, it means that something is missing ( payment method for example) or simply we wait for something to happen in order to proceed |
2 | processing |
Ready For Shipping | |
3 | ready_to_ship |
Ready For Shipping | Means that order is already fulfilled by the seller |
4 | shipped |
Shipped | The order was fully shipped. |
5 | failed |
Incomplete | information missing (example - address fields, no products, no payment info at all when such is expected, etc.) |
6 | delivered |
Shipped | |
7 | canceled |
Cancelled | When order is fully canceled. |
8 | returned |
Cancelled? | |
9 | return_waiting_for_approval |
? | |
10 | return_shipped_by_customer |
? | |
11 | return_rejected |
? |
Errors (The Iconic):
Error code | Message |
---|---|
14 | E014: "%s" Invalid Offset |
17 | E017: "%s" Invalid Date Format |
19 | E019: "%s" Invalid Limit |
36 | E036: Invalid status filter |
74 | E074: Invalid sort direction. |
75 | E075: Invalid sort filter. |
We prefer Get Orders & Get Order Items calls to be incorporated in 1 cron, i.e. to work together, because in Hemi we could not download the orders without the items.
Get Order Items
GET- https://api.sellercenter.net/?Action=GetOrderItems
Parameters:
Parameter Name | Parameter Value | Comment | |
---|---|---|---|
Action | “GetOrderItems“ | for product remove our action will always be “GetOrderItems“ | Yes |
Format | “XML“ or “JSON“ | both options are available, If not supplied, 'XML' is assumed. | No |
Timestamp | the current time in ISO8601 format relative to UTC | e.g., Timestamp=2015-04-01T10:00:00+02:00 for Berlin | Yes |
UserID | Account The Iconic > User ID | The ID of the user making the call | Yes |
Version | “2.6.20“ | hardcoded the latest available version | Yes |
Signature | Account The Iconic > Signature | The cryptographic signature, authenticating the request. A caller must create this value by computing the SHA256 hash of the request, using the API key of the user specified in the UserID parameter | Yes |
OrderId | The order identifier that was assigned to the order by SellerCenter | Yes |
url = "https://api.sellercenter.net/"
get
data-urlencode Action=GetOrderItems
data-urlencode OrderId=1
data-urlencode Timestamp=2015-07-01T11:11+0000
data-urlencode UserID=maintenance@sellercenter.net
data-urlencode Version=1.0
data-urlencode Signature=d4ff93cccb165295ed8357fe42082208b781a3b576bbb7d3fe7a624270b047b9
Example response:
<?xml version="1.0" encoding="UTF-8"?>
<SuccessResponse>
<Head>
<RequestId/>
<RequestAction>GetOrderItems</RequestAction>
<ResponseType>OrderItems</ResponseType>
<Timestamp>2015-05-29T12:35:54+0200</Timestamp>
</Head>
<Body>
<OrderItems>
<OrderItem>
<OrderItemId>1</OrderItemId>
<ShopId>1</ShopId>
<OrderId>1</OrderId>
<Name>Checkmate Contrasted Two Pocket Short Sleeve Check Shirt</Name>
<Sku>32132132121321321321</Sku>
<ShopSku>CH650FA84EFZANMY-113840</ShopSku>
<ShippingType/>
<ItemPrice>69.00</ItemPrice>
<PaidPrice>69.00</PaidPrice>
<Currency>EUR</Currency>
<WalletCredits>0.00</WalletCredits>
<TaxAmount>0.00</TaxAmount>
<ShippingAmount>12.50</ShippingAmount>
<VoucherAmount>0</VoucherAmount>
<VoucherCode/>
<Status/>
<IsProcessable>1</IsProcessable>
<ShipmentProvider/>
<IsDigital>0</IsDigital>
<DigitalDeliveryInfo/>
<TrackingCode>7489</TrackingCode>
<Reason/>
<ReasonDetail/>
<PurchaseOrderId>72587</PurchaseOrderId>
<PurchaseOrderNumber>MPDS-D1405061201</PurchaseOrderNumber>
<PackageId/>
<PromisedShippingTimes>2015-05-26 10:29:03</PromisedShippingTimes>
<ShippingProviderType/>
<ExtraAttributes>{color:"red", isGift:"true"}</ExtraAttributes>
<CreatedAt>2015-05-26 10:21:13</CreatedAt>
<UpdatedAt>2015-05-26 11:55:53</UpdatedAt>
<ReturnStatus />
<Vouchers /> // only populated, when enabled in Seller Center
<ShippingVoucher>3.96</ShippingVoucher>
<WarehouseName/>
<StoreCredits>0.00</StoreCredit>
<ExchangeForOrderId/>
<ExchangeByOrderId/>
</OrderItem>
<OrderItem>
<OrderItemId>6</OrderItemId>
<ShopId>6</ShopId>
<OrderId>1</OrderId>
<Name>Checkmate Contrasted Two Pocket Short Sleeve Check Shirt</Name>
<Sku>32132132121321321321</Sku>
<ShopSku>CH650FA84EFZANMY-113840</ShopSku>
<ShippingType/>
<ItemPrice>69.00</ItemPrice>
<PaidPrice>69.00</PaidPrice>
<Currency>EUR</Currency>
<WalletCredits>0.00</WalletCredits>
<TaxAmount>0.00</TaxAmount>
<ShippingAmount>12.50</ShippingAmount>
<VoucherAmount>0</VoucherAmount>
<VoucherCode/>
<Status/>
<IsProcessable>1</IsProcessable>
<ShipmentProvider/>
<IsDigital>1</IsDigital>
<DigitalDeliveryInfo>+00123456789</DigitalDeliveryInfo>
<TrackingCode>12321</TrackingCode>
<Reason/>
<ReasonDetail/>
<PurchaseOrderId>72587</PurchaseOrderId>
<PurchaseOrderNumber>MPDS-D1405061201</PurchaseOrderNumber>
<PackageId/>
<PromisedShippingTimes>2015-05-26 10:29:03</PromisedShippingTimes>
<ShippingProviderType>express<ShippingProviderType/>
<ExtraAttributes>{color:"red", isGift:"true"}</ExtraAttributes>
<CreatedAt>2015-05-26 10:29:03</CreatedAt>
<UpdatedAt>2015-05-26 11:44:26</UpdatedAt>
<ReturnStatus />
<Vouchers> // only populated, when enabled in Seller Center
<Voucher>
<Code>AAAA</Code>
<Amount>10.5</Amount>
<AmountFundedBySeller>10.5</AmountFundedBySeller>
</Voucher>
<Voucher>
<Code>BBBB</Code>
<Amount>15.2</Amount>
<AmountFundedBySeller>7.6</AmountFundedBySeller>
</Voucher>
</Vouchers>
<ShippingVoucher>0</ShippingVoucher>
<WarehouseName>warehouse_1</WarehouseName>
<StoreCredits>0.00</StoreCredit>
<ExchangeForOrderId/>
<ExchangeByOrderId/>
</OrderItem>
<OrderItem>
<OrderItemId>7</OrderItemId>
<ShopId>7</ShopId>
<OrderId>1</OrderId>
<Name>Checkmate Contrasted Two Pocket Short Sleeve Check Shirt</Name>
<Sku>32132132121321321321</Sku>
<ShopSku>CH650FA84EFZANMY-113840</ShopSku>
<ShippingType/>
<ItemPrice>69.00</ItemPrice>
<PaidPrice>69.00</PaidPrice>
<Currency>EUR</Currency>
<WalletCredits>0.00</WalletCredits>
<TaxAmount>0.00</TaxAmount>
<ShippingAmount>12.50</ShippingAmount>
<VoucherAmount>0</VoucherAmount>
<VoucherCode/>
<Status/>
<IsProcessable>1</IsProcessable>
<ShipmentProvider/>
<IsDigital>1</IsDigital>
<DigitalDeliveryInfo>+00123456789</DigitalDeliveryInfo>
<TrackingCode>12321</TrackingCode>
<Reason/>
<ReasonDetail/>
<PurchaseOrderId>72587</PurchaseOrderId>
<PurchaseOrderNumber>MPDS-D1405061201</PurchaseOrderNumber>
<PackageId/>
<PromisedShippingTimes>2015-05-26 10:29:03</PromisedShippingTimes>
<ShippingProviderType>standard<ShippingProviderType/>
<ExtraAttributes>[]</ExtraAttributes>
<CreatedAt>2015-05-26 10:29:03</CreatedAt>
<UpdatedAt>2015-05-26 11:44:26</UpdatedAt>
<ReturnStatus />
<Vouchers> // only populated, when enabled in Seller Center
<Voucher>
<Code>ABCD</Code>
<Amount>50</Amount>
<AmountFundedBySeller>25.0</AmountFundedBySeller>
</Voucher>
<Voucher>
<Code>CCXC</Code>
<Amount>0.4</Amount>
<AmountFundedBySeller>0.2</AmountFundedBySeller>
</Voucher>
</Vouchers>
<ShippingVoucher>1.02</ShippingVoucher>
<WarehouseName/>
<StoreCredits>0.00</StoreCredit>
<ExchangeForOrderId/>
<ExchangeByOrderId/>
</OrderItem>
</OrderItems>
</Body>
</SuccessResponse>
The Iconic Field | Hemi Field | Comment |
---|---|---|
OrderItemId |
Order > Product in Order > Item Order Line ID | an ID on each product |
ShopId |
N/A | |
OrderId |
Orders > Marketplace Order ID | The order identifier that was assigned to the order by SellerCente |
Name |
Order > Product in Order > Item Title | |
Sku |
Order > Product in Order > SKU | |
ShopSku |
N/A | |
ShippingType |
? | |
ItemPrice |
Order > Product in Order > Item Price | |
PaidPrice |
N/A | |
Currency |
Order > Order Currency | |
WalletCredits |
N/A | |
TaxAmount |
Order > Taxes and Fees > Total Tax Ammount | |
ShippingAmount |
Order > Shipping > Shipping Service Cost | |
VoucherAmount |
N/A | |
VoucherCode |
N/A | |
IsProcessable |
N/A | |
ShipmentProvider |
Order > Shipping Details > Shipping carrier? | |
IsDigital |
Order > Shipping Details >Shipping Service? | |
DigitalDeliveryInfo |
N/A | |
TrackingCode |
Orders > Shipping Details > Shipping Track Num | |
Reason |
N/A | |
ReasonDetail |
N/A | |
PurchaseOrderId |
? | |
PurchaseOrderNumber |
? | |
PackageId |
? | |
PromisedShippingTimes |
? | |
ShippingProviderType |
Order > Shipping details > ? | |
ExtraAttributes |
? | |
CreatedAt |
Order > Order created time | |
UpdatedAt |
Order > Order created time? | |
ReturnStatus |
? | |
Vouchers |
? | |
ShippingVoucher |
? | |
WarehouseName |
? | |
StoreCredits |
? | |
ExchangeForOrderId |
? | |
ExchangeByOrderId |
? |