before log

This commit is contained in:
dimitar committed 2025-01-27 22:35:52 +01:00
1 parent c8fc93ecf3
commit 9c2c174a43
11 files changed
+444

No files matched your search

+133
View File
@@ -0,0 +1,133 @@
##
prestashop integration with ecom-zone-api
eComZone Dropshipping - API
documentation
1. Introduction
Generate API token on platform page: https://dropship.ecomzone.eu/api-key.
To generate API token, your account must be confirmed by our dropshipping manager.
If you need help, please contact nemanja@ecomzone.eu or via WhatsApp
+38670290400
API token use in request, either as bearer-token or as token parameter.
2. Endpoints
Use different endpoints based on the action you want to take.
Catalog endpoint - Use, when you want to see a full product catalog.
Product endpoint - Use, when you want to see all data/information about a specific
product.
Ordering endpoint - Use, when you want to send orders to the platform.
Order endpoint - Use, when you want to see information about a specific order.
Rate-limit = 120 requests per minute per IP address
2.1 CATALOG ENDPOINT
GET https://dropship.ecomzone.eu/api/catalog
On this endpoint, we have pagination. By default, it will show 1000 products in
response.
By adding the url parameter per_page, you can set the number of products per page in
response.
per_page = integer (optional, min = 10, max = 1000)
Example:https://dropship.ecomzone.eu/api/catalog?per_page=10
If you set per_page < 10, the system will automatically switch per_page = 10.
2.1.1. CURL
2.1.2 RESPONSE
http status-code
Response body as json-encoded array. Each array member is data for one
product.
Paginated:
Pagination response data:
- "current_page": 1,
- "next_page_url": "null",
- "path": "https://dropship.ecomzone.eu/api/catalog",
- "per_page": "1000",
- "prev_page_url": null,
- "to": 561,
- "total": 561
Product_id is part of full_sku, which determines variation of the product(color, size). If
there is only 1 product_id, it means that product has only 1 variation, but when creating
an order, you still need to send full_sku(main_sku + product_id).
2.2 PRODUCT ENDPOINT
GET https://dropship.ecomzone.eu/api/product/{main_sku}
{main_sku} = product sku
Example, in case of Kitchen food processor {2246-911}
https://dropship.ecomzone.eu/api/product/2246-911
2.2.1 CURL
2.2.2 RESPONSE
http-code
response-body json-encoded array:
- status: ok or error
- message: error message in case of status = error
- data as json-econded array with detail data about product, product-variations,
stocks
2.3 ORDERING ENDPOINT
POST https://dropship.ecomzone.eu/api/ordering
request: orders as json-encoded array
Each array member represents data for specific order with parameters:
- order_index (string or integer) (optional): For indexing specific order in response
- ext_id ( string max 20 char ) (optional): Internal order_id, which is visible on platform
- shop_name (string max 20 char) (optional): Your custom shop_name, which will be
visible on shipping labels as sender of package
- payment['method'](string 2 char 'cod' or 'pp') (required):Cash On Delivery or Prepaid
- payment['customer_price'] (number integer or decimal) ( required if payment-method =
'cod'): Amount which is collected from end customer
//customer_price value needs to be sent in local currency
- customer_data['full_name] (string max 200) (required): Full name and surname of
customer
- customer_data['email'] (string max 100) (required): Email address of customer
- customer_data['phone_number'] (string max 45) (required): Phone number of
customer
- customer_data['country'] (string 2 char)(required): Alpha-2 customer country-code
- customer_data['address'] (string max 1000) (required): Customer address
- customer_data['city] (string max 100) (required): Customer city name
- customer_data['post_code'](string max 45)(required): Postal code
- customer_data['comment'] (STRING MAX 1000)(optional): Comment/note for courier
items: array with data about products in order
- items['full_sku'](string) (required): Full-sku of products
- items['quantity']( number integer )(required): Quantity of single product in order
2.3.1 CURL
2.3.2 RESPONSE
http status-code (200 - if all orders from request has been successfully imported;
202 - if 1 or more orders from request is not imported)
response body is in form, json-encoded array:
- status: ok(200), accepted(202) or error(422)
- message:
- data['received] : number of orders in request
- data['imported]: number of successfully imported orders
- index: json-encoded array with status of each order from request(if
order_index is set in request)
index['order_index']['status]: ok or error
index['order_index]['order_id']: If indexed order was successfully imported
(status = ok), here we return order_id, under which order was imported on
platform
index['order_index]['note]: If order was not imported (status = error), here
we return an error message explaining why it was not imported ( which
data is incorrect or missing).
Use “comment”: “test” or “TEST” when sending test orders, so that they don’t
get confirmed automatically in our system.
2.4 ORDER ENDPOINT
GET https://dropship.ecomzone.eu/api/order/{order_id}
{order_id} = ID of order from eComZone platform
If the requested order_id does not belong to the user, the response will be
401-unauthorized.
2.4.1 CURL
2.4.2 RESPONSE
http-code
response-body contains data about order in form json-encoded array:
- status: ok or error
- data as json-encoded array:
- currency
- order_status: title of current status
- order_created_time: time in format Y-m-d H:i:sa
- last_order_status_changed: time of last status changed, in format Y-m-d H:i:s
- payment_method: cod or pp
- customer_price: value that is collected from customers (cod orders)
- returned_bonus: value of return bonus (if exists)
- order_tracking_number: tracking number
- order_tracking_url: tracking url
- order_details['items_cost']: total cost of products in order
- order_details['tax']: total amount of tax in order (if exists)
- order_details['shipping]: shipping price
- order_details['subtotal']: total value/cost of order
- order_details['bonus]: bonus amount which we deduct from total cost of order (if
exists)
- order_details['total']: final value/amount of order to pay