Как вам помочь ?
Как работать с API
В данной статье расскажем, где взять API магазина и как можно с ним взаимодействовать на примере сервиса Postman.
Где взять API ключ
Для начала работы с API необходимо сгенерировать API ключи для вашего магазина. Для этого перейдите в админ панель вашего магазина, в раздел "Настройки - API" (рис. 1).
Рисунок 1.
Затем на вкладках "API" и "API с авторизацией", нажмите на кнопку "Сгенерировать новый api ключ" (рис. 2).
Рисунок 2.
После этого в поле "API ключ" появится ваш ключ. Если он был сгенерирован ранее, то его можно будет также найти в этом поле.
Работа с API ключом
Теперь перейдем к самому процессу работы с ключом. Рассмотрим на примере POST метода для Заказа через API.
Для примера мы будем использовать сервис Postman. Переходим на сайт и регистрируемся, либо если учетная запись уже есть — используем ее. После этого создаем наше "Рабочее пространство" (Workspaces)(рис. 3).
Рисунок 3.
Выбирая любой шаблон, например: "Работа с API" (API Documentation)(рис. 4) и называя его, любым именем.
Рисунок 4.
Если был выбран ранее названный вариант, то в шаблоне будут автоматически созданы 4 заготовки, в ином случае, можно просто создать свою заготовку (рис. 5).
Рисунок 5.
Теперь переходим в админ панели магазина в раздел "Настройки - API" к методам Заказа, и открываем "POST метод Создания заказа" (рис. 6).
Рисунок 6.
Копируем URL-ссылку вашего POST метода (рис.6, п.3) и вставляем ее в URL поле нашей заготовки в сервисе Postman (рис. 7).
Рисунок 7.
API ключ автоматически подставится в параметры запроса. Для POST/PUT и ряда других запросов может понадобиться тело запроса. Его можно взять прямо из описания к методу в этой статье, или в админ панели магазина и отредактировать его под свою потребность. Обязательность полей можно посмотреть также в описании к методам.
Пример таких полей для поля "Order" у запроса Заказа:
Поля Order | ||
---|---|---|
OrderCustomer | обязательное | Объект типа OrderCustomer. |
OrderSource | не обязательное |
Название источника заказа. |
Currency | не обязательное | Код валюты. Должен совпадать с кодом валюты в магазине. |
CustomerComment | не обязательное | Комментарий пользователя. |
AdminComment | не обязательное | Комментарий администратора. |
ShippingName | не обязательное | Название метода доставки. |
PaymentName | не обязательное | Название метода оплаты. |
DeliveryTime | не обязательное | string - Время доставки. Например, "Как можно скорее", "08:00-20:00|3". |
DeliveryDate | не обязательное | DateTime? Дата доставки. Например, "2030-02-15 00:00:00.000". |
ShippingCost | не обязательное | Стоимость доставки. |
PaymentCost | не обязательное | Стоимость оплаты. Наценка или скидка при оплате. |
BonusCost | не обязательное | Количество использованных бонусов. У покупателя должна быть бонусная карта. Если её нет, то бонусы не будут списаны. Покупатель будет искаться по CustomerID, Email или Phone. |
BonusCardNumber | не обязательное | Номер бонусной карты. Если номер передается в запросе, то бонусная карта должна уже существовать у покупателя. Покупатель будет искаться по CustomerID, Email или Phone. |
OrderDiscount | не обязательное | Скидка заказа. Процент |
OrderDiscountValue | не обязательное | Скидка заказа. Значение |
ShippingTaxName | не обязательное | Налог на доставку. Название должно совпадать с название налога в магазине. |
TrackNumber | не обязательное | Номер отслеживания. |
TotalWeight | не обязательное | Вес заказа. |
TotalLength | не обязательное | Габариты заказа: длина |
TotalWidth | не обязательное | Габариты заказа: ширина |
TotalHeight | не обязательное | Габариты заказа: высота |
OrderStatusName | не обязательное | Статус заказа. Название должно совпадать с названием статуса в магазине. |
ManagerEmail | не обязательное | Email менеджера, которому будет назначен заказ. |
isPaied | не обязательное | Оплачен заказ или нет. По умолчанию заказ не оплачен. |
CheckOrderItemExist | не обязательное | Проверять существуют ли товары в магазине. Если стоит true и пришел товар с артикулом, которого нет в магазине, то вернется ошибка и заказ не будет создан. По умолчанию true. |
CheckOrderItemAvailiable | не обязательное | Проверять в наличии ли товары в магазине. Если стоит true и пришел товар с артикулом товара, который не в наличии, то вернется ошибка и заказ не будет создан. По умолчанию true. |
OrderItems | обязательное | Массив объектов OrderItem. |
Формат передачи данных — {параметр:"значение",параметр:{параметр:"значение",параметр:"значение"} (для вложенных параметров)}. Нужно очень внимательно относиться к синтаксису запроса — любая пропущенная запятая или кавычка приведет к ошибке отправки.
В интерфейсе Postman, под полем куда мы вставили нашу ссылку с API, выбираем вкладку "Body" (рис. 8, п.1) и переключаемся на "raw" (рис. 8, п.2) формат "JSON" (рис. 8, п.3). Вставляем тело запроса в текстовый блок ниже (рис. 8, п.4).
Рисунок 8.
После того как будет готов запрос, отправляем его, нажав на кнопку "Send". Нам вернется ответ с данными созданной сущности.
Запрошенными данными (рис. 9):
Рисунок 9.
Или ошибка с расшифровкой (рис. 10).
Рисунок 10.
Готово. Мы рассмотрели на примере, как использовать API.
Другие статьи по теме
Тэги: api, апи, use api