====== Настройка Ysell.pro через API ====== >API — application programming interface, или «интерфейс прикладного программирования» — служит интерфейсом между программами и облегчает их взаимодействие. >Ysell предоставляет возможность работы c веб-сервисами через собственный API. ---- >Для работы API необходимо установить API token для пользователя. >>Bearer authentication это схема аутентификации HTTP, в которой используются маркеры безопасности, называемые bearer tokens. bearer token - это шифрованная строка. Клиент должен отправить этот токен в заголовке Authorization при формировании запроса: Authorization: Bearer ---- >Перейдите в раздел меню **Settings** - **Ysell API** >Создайте новый Access Token нажатием на Create New Token >>{{:ru:apiysell2_1.png?300|}} {{:ru:apiysell_22.png?600|}} ---- >Перейдите в раздел Settings - ysell API >>{{:ru:apwi.png?600|}} ---- >Авторизуйтесь с помощью API token нажатием на Authorize. Введите в строке аутентификации **Bearer** //сгенерированный API key// >>{{:ru:api_23.png?600|}} {{:ru:apibearer_2.png?600|}} ====== Product ====== **Curl** curl -X 'GET' \ 'https://719.eu6.ysell.pro/api/v1/product' \ -H 'accept: */*' \ -H 'Authorization: Bearer' **Response body** [ { "id": 1, "ext_id": "1", "title": "Melozio", "condition": "New", "manufacturer_id": 1, "purchase_price": "2.50", "netto": 100, "main_supplier": { "id": 1, "product_id": 1, "supplier_id": 1, "supplier_num": "45245634", "note": "", "url": "", "qty": 0, "price": "2.50", "discount_enabled": 0, "discount_price": null, "discount_qty": 0, "main": 1 }, "listings": [], "image": "" }, //Получение списка товара с клиента// ---- >**Get products list** - Получение списка товара с клиента > Параметр **page** - укажите страницу, с которой происходит загрузка > **Per-page** - Кол-во товара на страницу >{{:ru:api_2.png?790|}} > > > > > > > > > ---- >**Create New Product** **Curl** curl -X 'POST' \ 'https://719.eu6.ysell.pro/api/v1/product' \ -H 'accept: */*' \ -H 'Authorization: Bearer 123321' \ -H 'Content-Type: multipart/form-data' \ -F 'productDimensionW=10' \ -F 'masterboxWeight=17' \ -F 'packageDimensionD=6' \ -F 'productWeight=0.1' \ -F 'masterboxDimensionD=60' \ -F 'packageDimensionH=12' \ -F 'productWeightUnits=kg' \ -F 'manufacturer_id=1' \ -F 'masterboxDimensionH=60' \ -F 'product_image=https://719.eu6.ysell.pro/product_images/150/1.jpg' \ -F 'masterboxQty=200' \ -F 'productDimensionD=6' \ -F 'masterboxWeightUnits=kg' \ -F 'packageDimensionUnits=cm' \ -F 'productDimensionH=12' \ -F 'packageWeightUnits=kg' \ -F 'masterboxDimensionUnits=cm' \ -F 'packageDimensionW=10' \ -F 'productDimensionUnits=cm' \ -F 'title=Tequila Sunset' \ -F 'ext_id=p-719-155' \ -F 'masterboxDimensionW=120' \ -F 'id=155' \ -F 'packageWeight=0.5' **Response body** { "id": 155, "ext_id": "p-719-155", "title": "Tequila Sunset", "condition": "New", "manufacturer_id": 1, "purchase_price": null, "netto": 0, "main_supplier": null, "listings": [], "image": "https://719.eu6.ysell.pro/product_images/150/1.jpg" } //Создание товара ID 155, названием Tequila Sunset, с указанием размера товара, упаковки товара, мастербокса, изображения товара. // >**id** - ID товара в системе. >**ext_id** - **Product ID** товара >**title** - Название товара >**product_image** - ссылка на изображение товара. >**manufacturer_id** - ID из созданных ранее производителей товара. >**packageDimensionW** - размеры упаковки товара (Ширина) >**packageDimensionH** - размеры упаковки товара (Высота) >**packageDimensionD** - размеры упаковки товара (Глубина) >**packageDimensionUnits** - единицы измерения для упаковки товара >**packageWeight** - вес товара >**packageWeightUnits** - единицы измерения для веса товара >**masterboxDimensionW** - размеры коробки с товаром (Ширина) >**masterboxDimensionH** - размеры коробки с товаром (Высота) >**masterboxDimensionD** - размеры коробки с товаром (Глубина) >**masterboxDimensionUnits** - единицы измерения для коробки с товаром >**masterboxQty** - кол-во товара в Masterbox >**masterboxWeight** - вес коробки с товаром >**masterboxWeightUnits** - единицы измерения веса коробки с товаром >**productDimensionD** - размеры единицы товара (Глубина) >**productDimensionW** - размеры единицы товара (Ширина) >**productDimensionH** - размеры единицы товара (Высота) >**productDimensionUnits** - единицы измерения размера единицы товара >**productWeightUnits** - единицы измерения веса единицы товара >**productWeight** - вес единицы товара. >>{{:ru:api_3.png?600|}} ---- **Curl** curl -X 'GET' \ 'https://719.eu6.ysell.pro/api/v1/product/155' \ -H 'accept: application/json' \ -H 'Authorization: Bearer 123321' **Response body** { "id": 155, "ext_id": "p-719-155", "title": "Tequila Sunset", "condition": "New", "manufacturer_id": 1, "purchase_price": null, "netto": 0, "main_supplier": null, "listings": [], "image": "https://719.eu6.ysell.pro/product_images/150/1.jpg" } //Получение информации о товаре по его идентификатору.// >**Find Product by ID** - используется для получение информации о конкретном товаре. > >**productId** - укажите ID товара. >{{:ru:api_4.png?650|}} > > > > > > > > > ---- >**Update product** - используйте для редактирования ранее созданных ID товара. В блоке **Request body** укажите информацию для редактирования. > >**productId** - введите ID товара. >{{:ru:api_5.png?900|}} ---- **Curl** curl -X 'DELETE' \ 'https://719.eu6.ysell.pro/api/v1/product/153' \ -H 'accept: */*' \ -H 'Authorization: Bearer 123321' //Удаление ID товара// >**Delete Product** - используйте для удаления ID товара. >>{{:ru:api_6.png?600|}} ---- >**Create fbm/fba lisging** - используйте для создания листингов Амазон. >**productId** - введите ID товара для добавления fbm/fba листинга. >**company_id** - ID компании, которая будет указана как владелец листинга. >**marketplace_id** - ID торговой площадки [[https://docs.developer.amazonservices.com/en_US/dev_guide/DG_Endpoints.html|Список ID маркетплейсов]] >**platform** - маркетплейс, который будет использоваться для формирования листинга. >**sku** - указанный SKU будет использоваться при создании листинга. >**asin** - указанный ASIN будет использоваться при создании листинга. >**type** - укажите тип листинга - FBA/FBM >**title** - укажите название ID >**price** - укажите цену листинга. >>{{:ru:api_7.png?800|}} ---- **Curl** curl -X 'POST' \ 'https://719.eu6.ysell.pro/api/v1/product/set-supplier' \ -H 'accept: */*' \ -H 'Authorization: Bearer 123321' \ -H 'Content-Type: multipart/form-data' \ -F 'discount_enabled=1' \ -F 'price=11' \ -F 'discount_price=' \ -F 'product_id=155' \ -F 'supplier_id=3' \ -F 'url=google.com' \ -F 'note=Note' \ -F 'supplier_num=322' \ -F 'qty=14' \ -F 'discount_qty=' \ -F 'main=1' **Response body** { "id": 45, "product_id": 155, "supplier_id": 3, "supplier_num": "322", "note": "Note", "url": "google.com", "qty": "14", "price": "11", "discount_enabled": "1", "discount_price": null, "discount_qty": null, "main": "1" } //Обновление Supplier товара// ---- >**Update product Suplier** - используется для обновления информации о поставщике товара > >**product_id** - укажите ID товара. >**supplier_id** - укажите ID поставщика. >**supplier_num** - номер товара у поставщика >**price** - цена товара >**discount_price** - цена со скидкой >**discount_enabled** - опция для включения скидочной цены. 1 - включить. 0 - отключить. >**qty** - кол-во товара. >**main** - является ли поставщик основным >**url** - ссылка на сайт постащика >**note** = примечание. >>{{:ru:api_8.png?700|}} ====== Supplier ====== **Curl** curl -X 'GET' \ 'https://719.eu6.ysell.pro/api/v1/supplier' \ -H 'accept: */*' \ -H 'Authorization: Bearer ' **Response body** [ { "id": 1, "name": "Nespresso DE", "memo": "" }, { "id": 2, "name": "SET", "memo": "" }, { "id": 3, "name": "A&V furniture company ", "memo": null }, { "id": 4, "name": "Test", "memo": "" }, { "id": 5, "name": "2", "memo": "" }, ] //Получение списка поставщиков с клиента// >//Операции с поставщиками// > > /supplier Return all supplier - возвращает список поставщиков с клиента. > >{{:ru:api_12.png?750|}} > > > > > > > > > > > > > > ---- **Curl** curl -X 'POST' \ 'https://719.eu6.ysell.pro/api/v1/supplier' \ -H 'accept: */*' \ -H 'Authorization: Bearer ' \ -H 'Content-Type: application/json' \ -d '{ "id": 0, "name": "testSupplier2" }' **Response body** { "id": 16, "name": "testSupplier2", "memo": null } //Создание поставщика с названием testSupplier2// ---- >Post /Supplier Create new supplier > >Укажите название поставщика. ID поставщика будет присвоено автоматически. >{{:ru:api_13.png?600|}} ---- **Curl** curl -X 'GET' \ 'https://719.eu6.ysell.pro/api/v1/supplier/322/product' \ -H 'accept: */*' \ -H 'Authorization: Bearer ' **Response body** { "id": 45, "product_id": 155, "supplier_id": 3, "supplier_num": "322", "note": "Note", "url": "google.com", "qty": 14, "price": "11.00", "discount_enabled": 1, "discount_price": null, "discount_qty": 0, "main": 1 } //Получение информации по ID товара по номеру поставщика "322"// > > > > >GET /supplier/{supplierNum}/product Find product by supplier num - используйте для возврата информации ID товара по номеру поставщика. > >{{:ru:api_14.png?500|}} > > > > > ---- **Curl** curl -X 'PUT' \ 'https://719.eu6.ysell.pro/api/v1/supplier/3' \ -H 'accept: */*' \ -H 'Authorization: Bearer 123321' \ -H 'Content-Type: application/json' \ -d '{ "id": 0, "name": "UpdatedSupplier" }' **Response body** { "id": 3, "name": "UpdatedSupplier", "memo": null } //Обновление информации о поставщике с ID "3"// >PUT /supplier/{supplierID} Update Supplier - используйте для редактирования информации о поставщике. > >**supplierId** - укажите идентификатор поставщика >{{:ru:api_15.png?780|}} ---- **Curl** curl -X 'DELETE' \ 'https://719.eu6.ysell.pro/api/v1/supplier/3' \ -H 'accept: */*' \ -H 'Authorization: Bearer 123321' }' //Удаление поставщика с ID "3"// > >Delete /supplier/{supplierID} - используйте для удаления информации о поставщике. >**supplierId** - Идентификатор поставщика. >{{:ru:api_16.png?600|}} ====== Manufacturer ====== **Curl** curl -X 'GET' \ 'https://719.eu6.ysell.pro/api/v1/manufacturer' \ -H 'accept: */*' \ -H 'Authorization: Bearer' **Response body** [ { "id": 1, "name": "Nespresso" }, { "id": 3, "name": "A&V furniture company " }, ] //Получение информации о производителях с клиента// >Операции с производителями > >GET /manufacturer Return all manufacturers - Используется для возврата информации о производителях с клиента. >{{:ru:api_17.png?750|}} > > > > ---- **Curl** curl -X 'POST' \ 'https://719.eu6.ysell.pro/api/v1/manufacturer' \ -H 'accept: */*' \ -H 'Authorization: Bearer ' \ -H 'Content-Type: application/json' \ -d '{ "id": 0, "name": "NewManufacturer" }' **Response body** { "id": 23, "name": "NewManufacturer" } //Создание производителя "NewManufacturer"// > >Post /maufacturer Create new Manufacturer > >Введите в строку "name" название производителя. ID производителя будет присвоен автоматически. > >{{:ru:api_18.png?700|}} ---- **Curl** curl -X 'PUT' \ 'https://719.eu6.ysell.pro/api/v1/manufacturer/22' \ -H 'accept: */*' \ -H 'Authorization: Bearer 123321' \ -H 'Content-Type: application/json' \ -d '{ "id": 0, "name": "NewManufacturer2" }' **Response body** { "id": 22, "name": "NewManufacturer2" } //Обновление информации о производителе с названием "NewManufacturer" - присвоение названия "NewManufacturer2"// >PUT /manufacturer/{manufacturerID} Update Manufacturer - Используйте для редактирования информация о поставщике > >manufacturerId - укажите ID производителя. >В строке "Name" укажите название производителя. > >{{:ru:api_19.png?700|}} ---- **Curl** curl -X 'DELETE' \ 'https://719.eu6.ysell.pro/api/v1/manufacturer/22' \ -H 'accept: */*' \ -H 'Authorization: Bearer ' //Удаление информации о производителе с ID "22"// >Delete /manufacturer/{manufacturerID} Delete Manufacturer > >{{:ru:api_20.png?700|}} ====== Marketplace ====== **Curl** curl -X 'GET' \ 'https://719.eu6.ysell.pro/api/v1/marketplace' \ -H 'accept: */*' \ -H 'Authorization: Bearer ' **Response body** [ { "id": 1, "country_code": "GB", "currency": "GBP", "marketplace_id": "A1F83G8C2ARO7P", "url": "https://amazon.co.uk", "created_at": null, "updated_at": null, "sales_channel": "amazon.co.uk", "region": "AMAZON_EU", "endpoint": "https://mws-eu.amazonservices.com", "domain_zone": "co.uk" }, ] >//Операции с торговыми площадками// > >GET /marketplace Return all marketplaces - возвращает информацию о подключенных к клиенту маркетплейсах > >{{:ru:api_21.png?600|}} > > > > > > > > ---- ====== Order ====== >//Операции с заказами// **Curl** curl -X 'GET' \ 'https://719.eu6.ysell.pro/api/v1/order?sort=o-719-67&page=1' \ -H 'accept: */*' \ -H 'Authorization: Bearer ' > >Get /order Returns order - используется для получения информации о заказе > >{{:ru:api_22.png?600|}} ---- **Curl** curl -X 'POST' \ 'https://719.eu6.ysell.pro/api/v1/order' \ -H 'accept: */*' \ -H 'Authorization: Bearer 123321' \ -H 'Content-Type: multipart/form-data' \ -F 'buyer_state=' \ -F 'buyer_phone_number=+49 421 668 9414 0' \ -F 'payment_date=2022-04-30' \ -F 'status_id=' \ -F 'buyer_country=DE' \ -F 'purchase_date=2022-04-30' \ -F 'ship_state=' \ -F 'ship_city=Bremen' \ -F 'ship_name=Gomez' \ -F 'buyer_email=gomez@gmail.com' \ -F 'currency=' \ -F 'platform=amazon' \ -F 'ship_country=DE' \ -F 'buyer_addr1=Walter-Geerdes-Str' \ -F 'buyer_postal_code=28307' \ -F 'buyer_addr2=Walter-Geerdes-Str' \ -F 'buyer_city=Bremen' \ -F 'buyer_name=Gomez' \ -F 'platform_order_id=Amazon-1' \ -F 'latest_ship_date=2022-04-30' \ -F 'ship_email=info@fulfillment-box.de' \ -F 'id=' \ -F 'company_id=719' \ -F 'ship_phone_number=+49 421 668 9414 0' \ -F 'ship_addr1=Walter-Geerdes-Str' \ -F 'ship_addr2=14' \ -F 'ship_postal_code=28307 ' >POST /order Create new order - используется для создания заказов. > >id - Идентификатор заказа. При наличии чек-бокса Send empty value, идентификатор генерируется автоматически. > >status_id - [[ru:orderdescription|Status ID]] заказа. Активный чек-бокс Send empty value проставляет статус автоматически > >company_id - [[ru:comp|ID компании]] в ysell.pro > >platform - платформа для формирования заказа > >platform_order_id - идентификатор заказа на платформе > >purchase_date - дата приобретения заказа > >payment_date - дата оплаты заказа > >latest_ship_date - Окончание периода времени, в течение которого вы обязались отправить заказ > >currency - валюта > >ship_name - Имя получателя > >ship_email - Адрес электронной почты получателя > >ship_addr1 - Адрес получателя > >ship_city - Город получателя > >ship_postal_code - Почтовый индекс получателя > >ship_country - Страна получателя заказа > >ship_phone_number - Номер телефона получателя заказа ---- **Curl** curl -X 'GET' \ 'https://719.eu6.ysell.pro/api/v1/order/75' \ -H 'accept: */*' \ -H 'Authorization: Bearer ' //Получение информации по заказа с ID 75// >GET /order/{ID} Return order by ID - используется для возврата информации по заказу. > >ID - укажите ID заказа. > > {{:ru:api_25.png?600|}} ---- **Curl** curl -X 'DELETE' \ 'https://719.eu6.ysell.pro/api/v1/order/60' \ -H 'accept: */*' \ -H 'Authorization: Bearer ' //Получение информации по заказа с ID 75// >Delete /order/{ID} Delete Order by ID - используется для удаления заказа > >ID - введите ID заказа > >{{:ru:api_26.png?600|}} ---- **Curl** curl -X 'POST' \ 'https://719.eu6.ysell.pro/api/v1/order-item' \ -H 'accept: */*' \ -H 'Authorization: Bearer ' \ -H 'Content-Type: multipart/form-data' \ -F 'p_id=155' \ -F 'order_id=70' \ -F 'shipment_items_cost=20' \ -F 'qty=15' \ -F 'asin=TestAsin' \ -F 'id=' \ -F 'product_name=TestName' \ -F 'item_price=15' \ -F 'sku=TestSKU' **Response body** { "id": 147, "order_id": "70", "sku": "TestSKU", "qty": "15", "image": "https://719.eu6.ysell.pro/product_images/155/51yLgO1l4xL (1).jpg", "item_price": "15", "unit_price": null, "product_id": null, "item_type": "product" } //Добавление товара к заказу Id 70// >Post /order-item Create new order item - используется для добавления позиции к заказу. > >**order_id** - укажите ID заказа > >**asin** - ASIN товара > >**p_id** - ID товара. > >**product_name** - название товара > >**sku** - SKU товара > >**qty** - Кол-во товара в заказе > >**item_price** - цена единицы товара. >{{:ru:api_27.png?600|}} ---- ====== Shipments ====== >//Операции с отправками// **Curl** curl -X 'GET' \ 'https://719.eu6.ysell.pro/api/v1/prep-shipment?page=1&per-page=10&sort=1' \ -H 'accept: */*' \ -H 'Authorization: Bearer 123321' **Response body** { "id": 1, "company_id": 719, "shipment_num": "719-1", "shipment_type": "warehouse", "shipment_type_description": "Send to the warehouse", "status": 0, "status_description": "New", "total_cost": 0, "declared_qty": 211, "declared_box_qty": 0, "processed_qty": 0, "messages": [] }, //Получение информации о отправке 719-1 // >**GET /prep-shipment Get prep shipment list** - используется получения информации о отправке с Преп-центра. > >**company_id** - ID компании. > >**shipment_num** - номер отправки > >**shipment_type** - тип отправки > >**shipment_type_description** - описание для типа отправки. > >**status** - статус отправки. > >**status_description** - описание статуса отправки > >**total_cost** - цена за обработку отправки. > >**declared_qty** - количество единиц товара, указанного клиентом. > >**declared_box_qty** - количество коробок с товаром, указанного клиентом. > >**processed_qty** - обработанное Преп центром количество товара. > >**messages** - текст примечания к отправке.