Как вам помочь ?
Как работать с 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
- Интеграция платежной системы в Адвантшоп по API
- Подключение мобильного приложения Адвантшоп к внешним системам
Тэги: api, апи, use api