Документация

Последнее обновление: 20 Июня, 2021

Общее

Доступ к API осуществляется посредством HTTP-запросов и реализован с использованием принципов REST.

Production URL для веб-службы:

https://api.gpi24.ru/v1/webservice/

Development URL для веб-службы:

https://dev.api.gpi24.ru/v1/webservice/

Обмен осуществляется в кодировке UTF-8.

Аутентификация

Поддерживается только один способ:

  • аутентификация по Bearer токену

Для успешной аутентификации, необходимо передать в запросе на сервер заголовок по примеру:

Authorization: Bearer токен-доступа

Получить токен-доступа можно в личном кабинете (чтобы страница стала доступной, необходимо запросить доступ через менеджера).

Для каждого клиента создается персональный токен-доступа.

Версионирование

С течением времени могут измениться как перечень запросов, так их структура и структура ответов.

Для уверенности в том, что используется API желаемой версии, необходимо передавать версию в строке запроса.

Итого запрос должен выглядеть следующим образом: /v[версия]/[путь_к_ресурсу]

Например:

https://api.gpi24.ru/v1/webservice/search/groups?key='key'

В случае, если версия не передана, будет возвращён ответ в формате, описанном в последней стабильной версии API.

Поддержка старых версий API cо временем может быть прекращена.

Перечень версий:
Версия Статус
v1 Стабильная версия

Коды ошибок API

Код Сообщение Описание
200
400 Bad Request Некорректный запрос
401 Unauthorized Неавторизованный пользователь
403 Forbidden Доступ запрещен
404 Not Found Ничего не найдено
500 Internal server error Внутренняя ошибка сервера

Песочница Получение списка группы товара

Входные параметры:
Имя Тип Обязательный Описание Примечание
search string Да Строка запроса от пользователя search=HU1312 MANN-FILTER
Выходные параметры:
Имя Тип Описание
success bool Статус запроса
code int Код ответа сервера
message string Текст ответа от сервера
data object|array Тело ответа сервера на запрос

Песочница Получение списка позиций и аналогов

Входные параметры:
Имя Тип Обязательный Описание Примечание
article string Да Артикул товара article=W683
brand string Да Бренд товара brand=MANN-FILTER
Выходные параметры:
Имя Тип Описание
success bool Статус запроса
code int Код ответа сервера
message string Текст ответа от сервера
data object|array Тело ответа сервера на запрос

Песочница Получение списка товаров в корзине

Песочница Добавление позиции в корзину

Чтобы добавить товар в корзину, необходимо совершить поиск товара для получения необходимых данных.

Необходимые данные:
Параметр Тип Описание Где найти
code string Идентификатор товара data.*.id
price_type string Тип цены товара data.*.remains.*.price_type
remain int Идентификатор остатка товара data.*.remains.*.id
count int Кол-во товара для добавления в корзину. Значение не должно превышать максимальное кол-во товара на складе data.*.remains.*.balance
price float Список оферов корзины на изменение data.*.remains.*.price

Песочница Добавление несколько позиций в корзину

Чтобы добавить товар в корзину, необходимо совершить поиск товара для получения необходимых данных.

Необходимые данные:
Параметр Тип Описание Где найти
code string Идентификатор товара /search/positions data.*.id
price_type string Тип цены товара /search/positions data.*.remains.*.price_type
remain int Идентификатор остатка товара /search/positions data.*.remains.*.id
count int Кол-во товара для добавления в корзину. Значение не должно превышать максимальное кол-во товара на складе data.*.remains.*.balance
price float Список оферов корзины на изменение /search/positions data.*.remains.*.price

Песочница Обновление позиций в корзине

Входные параметры:
Имя Тип Обязательный Описание Примечание
offer_id array Да Список оферов корзины на изменение "offer_id": [1, 2, 3]
action string Да Код события над оферами

"action": "update"

Варианты:

update - обновление значения у выбранных оферов

delete - удаление выбранных оферов

restore - отмена удаления выбранных оферов

value int|bool Нет Передаваемое значение на изменение. Учитывается только при вызове события "action": "update"

"value": 10

"value": true

type string Да Код типа события над оферами.

"type": "count"

Варианты:

1. Учитываются только при вызове события "action": "update":

"type": "count" - устанавливает указанное в ключе value кол-во товара у указанного офера. "value": 10

"type": "active" - устанавливает указанное в ключе value значение "value": true | false, выставляя активность офера в корзине.

2. Учитываются только при вызове события "action": "delete":

"type": "cart" - удаляет все позиции в корзине.

"type": "offer" - удаляет указанные офера в корзине.

3. Учитываются только при вызове события "action": "restore":

"type": "offer" - восстанавливает указанные офера в корзине после удаления.

Песочница Список доступных доставок и оплат

Список доступных клиенту доставок, в каждой доставке имеется список доступных оплат заказа.

Песочница Оформление заказа

Для оформления заказа в корзине, необходимо получить доступную доставку и способ оплаты. После успешного оформления заказа в ответ от сервера клиент получит orderId - номер заказа и formUrl - ссылку на оплату заказа, formUrl возвращает ссылку только при оплате по карте онлайн.

Необходимые данные:
Параметр Тип Описание Где найти
delivery_id string Идентификатор доставки заказа /cart/order/delivery data.deliveries.*.id
payment_code string Идентификатор оплаты заказа /cart/order/delivery data.deliveries.*.payments.*.code
delivery_address string|null Адрес доставки заказа При самовывозе оставляйте пустым или null.
comments string|null Комментарий Комментарий клиента по поводу заказа.
Выходные параметры:
Имя Тип Описание
success bool Статус запроса
code int Код ответа сервера
message string Текст ответа от сервера
data object { "orderId": "23c6a6cf-2f9b-44c6-90e1-3c1bd5127623", "formUrl": null }