Shopify
Товары, заказы, клиенты и остатки в магазине Shopify
Shopify — платформа интернет-магазина: товары, заказы, клиенты, склады и коллекции.
С Shopify в Pailot вы можете:
- Создавать, читать, обновлять и удалять товары
- Смотреть и менять заказы, отменять заказ, оформлять отгрузку
- Вести клиентов
- Смотреть остатки, склады и корректировать количество
- Работать с коллекциями
Нужен домен магазина (mystore.myshopify.com) и доступ к API (Application Programming Interface — программный интерфейс) Shopify. ID сущностей — в формате GID (gid://shopify/Product/...). Блок ставят на холст как отдельный шаг или прикрепляют к агенту.
Создать товар в магазине Shopify.
| Параметр | Тип | Обязательный | Описание |
|---|
shopDomain | string | Да | Домен магазина (например mystore.myshopify.com) |
title | string | Да | Название товара |
descriptionHtml | string | Нет | Описание (HTML) |
vendor | string | Нет | Производитель / бренд |
productType | string | Нет | Тип / категория |
tags | array | Нет | Теги |
status | string | Нет | Статус: ACTIVE, DRAFT, ARCHIVED |
| Параметр | Тип | Описание |
|---|
product | object | Созданный товар |
Получить товар по ID.
| Параметр | Тип | Обязательный | Описание |
|---|
shopDomain | string | Да | Домен магазина (например mystore.myshopify.com) |
productId | string | Да | ID товара (gid://shopify/Product/123456789) |
| Параметр | Тип | Описание |
|---|
product | object | Данные товара |
Список товаров с фильтром.
| Параметр | Тип | Обязательный | Описание |
|---|
shopDomain | string | Да | Домен магазина (например mystore.myshopify.com) |
first | number | Нет | Сколько товаров вернуть (по умолчанию 50, макс. 250) |
query | string | Нет | Поиск (например "title:shirt", "vendor:Nike", "status:active") |
| Параметр | Тип | Описание |
|---|
products | array | Список товаров |
pageInfo | object | Данные постраничного вывода |
Обновить товар.
| Параметр | Тип | Обязательный | Описание |
|---|
shopDomain | string | Да | Домен магазина (например mystore.myshopify.com) |
productId | string | Да | ID товара (gid://shopify/Product/123456789) |
title | string | Нет | Новое название |
descriptionHtml | string | Нет | Новое описание (HTML) |
vendor | string | Нет | Новый производитель / бренд |
productType | string | Нет | Новый тип / категория |
tags | array | Нет | Новые теги |
status | string | Нет | Новый статус: ACTIVE, DRAFT, ARCHIVED |
| Параметр | Тип | Описание |
|---|
product | object | Обновлённый товар |
Удалить товар.
| Параметр | Тип | Обязательный | Описание |
|---|
shopDomain | string | Да | Домен магазина (например mystore.myshopify.com) |
productId | string | Да | ID товара (gid://shopify/Product/123456789) |
| Параметр | Тип | Описание |
|---|
deletedId | string | ID удалённого товара |
Получить заказ по ID.
| Параметр | Тип | Обязательный | Описание |
|---|
shopDomain | string | Да | Домен магазина (например mystore.myshopify.com) |
orderId | string | Да | ID заказа (gid://shopify/Order/123456789) |
| Параметр | Тип | Описание |
|---|
order | object | Данные заказа |
Список заказов с фильтром.
| Параметр | Тип | Обязательный | Описание |
|---|
shopDomain | string | Да | Домен магазина (например mystore.myshopify.com) |
first | number | Нет | Сколько заказов вернуть (по умолчанию 50, макс. 250) |
status | string | Нет | Статус: open, closed, cancelled, any |
query | string | Нет | Поиск (например "financial_status:paid", "fulfillment_status:unfulfilled", "email:customer@example.com") |
| Параметр | Тип | Описание |
|---|
orders | array | Список заказов |
pageInfo | object | Данные постраничного вывода |
Обновить заказ (заметка, теги, email).
| Параметр | Тип | Обязательный | Описание |
|---|
shopDomain | string | Да | Домен магазина (например mystore.myshopify.com) |
orderId | string | Да | ID заказа (gid://shopify/Order/123456789) |
note | string | Нет | Новая заметка |
tags | array | Нет | Новые теги |
email | string | Нет | Новый email клиента в заказе |
| Параметр | Тип | Описание |
|---|
order | object | Обновлённый заказ |
Отменить заказ.
| Параметр | Тип | Обязательный | Описание |
|---|
shopDomain | string | Да | Домен магазина (например mystore.myshopify.com) |
orderId | string | Да | ID заказа (gid://shopify/Order/123456789) |
reason | string | Да | Причина: CUSTOMER, DECLINED, FRAUD, INVENTORY, STAFF, OTHER |
notifyCustomer | boolean | Нет | Уведомить клиента |
refund | boolean | Нет | Вернуть оплату |
restock | boolean | Нет | Вернуть товар на склад |
staffNote | string | Нет | Внутренняя заметка для сотрудников |
| Параметр | Тип | Описание |
|---|
order | object | Результат отмены |
Создать клиента.
| Параметр | Тип | Обязательный | Описание |
|---|
shopDomain | string | Да | Домен магазина (например mystore.myshopify.com) |
email | string | Нет | Адрес почты |
firstName | string | Нет | Имя |
lastName | string | Нет | Фамилия |
phone | string | Нет | Телефон |
note | string | Нет | Заметка о клиенте |
tags | array | Нет | Теги |
addresses | array | Нет | Адреса |
| Параметр | Тип | Описание |
|---|
customer | object | Созданный клиент |
Получить клиента по ID.
| Параметр | Тип | Обязательный | Описание |
|---|
shopDomain | string | Да | Домен магазина (например mystore.myshopify.com) |
customerId | string | Да | ID клиента (gid://shopify/Customer/123456789) |
| Параметр | Тип | Описание |
|---|
customer | object | Данные клиента |
Список клиентов с фильтром.
| Параметр | Тип | Обязательный | Описание |
|---|
shopDomain | string | Да | Домен магазина (например mystore.myshopify.com) |
first | number | Нет | Сколько клиентов вернуть (по умолчанию 50, макс. 250) |
query | string | Нет | Поиск (например "first_name:John", "last_name:Smith", "email:*@gmail.com", "tag:vip") |
| Параметр | Тип | Описание |
|---|
customers | array | Список клиентов |
pageInfo | object | Данные постраничного вывода |
Обновить клиента.
| Параметр | Тип | Обязательный | Описание |
|---|
shopDomain | string | Да | Домен магазина (например mystore.myshopify.com) |
customerId | string | Да | ID клиента (gid://shopify/Customer/123456789) |
email | string | Нет | Новый email |
firstName | string | Нет | Новое имя |
lastName | string | Нет | Новая фамилия |
phone | string | Нет | Новый телефон |
note | string | Нет | Новая заметка |
tags | array | Нет | Новые теги |
| Параметр | Тип | Описание |
|---|
customer | object | Обновлённый клиент |
Удалить клиента.
| Параметр | Тип | Обязательный | Описание |
|---|
shopDomain | string | Да | Домен магазина (например mystore.myshopify.com) |
customerId | string | Да | ID клиента (gid://shopify/Customer/123456789) |
| Параметр | Тип | Описание |
|---|
deletedId | string | ID удалённого клиента |
Список складских позиций. По SKU удобно найти ID позиции.
| Параметр | Тип | Обязательный | Описание |
|---|
shopDomain | string | Да | Домен магазина (например mystore.myshopify.com) |
first | number | Нет | Сколько позиций вернуть (по умолчанию 50, макс. 250) |
query | string | Нет | Поиск (например "sku:ABC123") |
| Параметр | Тип | Описание |
|---|
inventoryItems | array | Позиции: ID, SKU и остатки |
pageInfo | object | Данные постраничного вывода |
Остаток варианта товара на складе.
| Параметр | Тип | Обязательный | Описание |
|---|
shopDomain | string | Да | Домен магазина (например mystore.myshopify.com) |
inventoryItemId | string | Да | ID складской позиции (gid://shopify/InventoryItem/123456789) |
locationId | string | Нет | ID склада для фильтра |
| Параметр | Тип | Описание |
|---|
inventoryLevel | object | Данные остатка |
Изменить остаток варианта товара на складе.
| Параметр | Тип | Обязательный | Описание |
|---|
shopDomain | string | Да | Домен магазина (например mystore.myshopify.com) |
inventoryItemId | string | Да | ID складской позиции (gid://shopify/InventoryItem/123456789) |
locationId | string | Да | ID склада (gid://shopify/Location/123456789) |
delta | number | Да | На сколько изменить (плюс — увеличить, минус — уменьшить) |
| Параметр | Тип | Описание |
|---|
inventoryLevel | object | Результат корректировки |
Список складов. ID склада нужен для операций с остатками.
| Параметр | Тип | Обязательный | Описание |
|---|
shopDomain | string | Да | Домен магазина (например mystore.myshopify.com) |
first | number | Нет | Сколько складов вернуть (по умолчанию 50, макс. 250) |
includeInactive | boolean | Нет | Включить отключённые склады (по умолчанию false) |
| Параметр | Тип | Описание |
|---|
locations | array | Склады: ID, названия и адреса |
pageInfo | object | Данные постраничного вывода |
Оформить отгрузку (позиции заказа отправлены). Нужен ID fulfillment order из деталей заказа.
| Параметр | Тип | Обязательный | Описание |
|---|
shopDomain | string | Да | Домен магазина (например mystore.myshopify.com) |
fulfillmentOrderId | string | Да | ID заказа на отгрузку (например gid://shopify/FulfillmentOrder/123456789) |
trackingNumber | string | Нет | Трек-номер |
trackingCompany | string | Нет | Служба доставки (например UPS, FedEx, USPS, DHL) |
trackingUrl | string | Нет | URL отслеживания |
notifyCustomer | boolean | Нет | Отправить клиенту письмо об отправке (по умолчанию true) |
| Параметр | Тип | Описание |
|---|
fulfillment | object | Созданная отгрузка: трек и отгруженные позиции |
Список коллекций. Фильтр по названию, типу (custom/smart) или handle.
| Параметр | Тип | Обязательный | Описание |
|---|
shopDomain | string | Да | Домен магазина (например mystore.myshopify.com) |
first | number | Нет | Сколько коллекций вернуть (по умолчанию 50, макс. 250) |
query | string | Нет | Поиск (например "title:Summer" или "collection_type:smart") |
| Параметр | Тип | Описание |
|---|
collections | array | Коллекции: ID, названия и число товаров |
pageInfo | object | Данные постраничного вывода |
Получить коллекцию по ID, включая товары.
| Параметр | Тип | Обязательный | Описание |
|---|
shopDomain | string | Да | Домен магазина (например mystore.myshopify.com) |
collectionId | string | Да | ID коллекции (например gid://shopify/Collection/123456789) |
productsFirst | number | Нет | Сколько товаров из коллекции вернуть (по умолчанию 50, макс. 250) |
| Параметр | Тип | Описание |
|---|
collection | object | Коллекция и её товары |