Доступ к API осуществляется посредством HTTP-запросов и реализован с использованием принципов REST.
https://api.gpi24.ru/v1/webservice/
https://dev.api.gpi24.ru/v1/webservice/
Обмен осуществляется в кодировке UTF-8.
С течением времени могут измениться как перечень запросов, так их структура и структура ответов.
Для уверенности в том, что используется API желаемой версии, необходимо передавать версию в строке запроса.
Итого запрос должен выглядеть следующим образом: /v[версия]/[путь_к_ресурсу]
https://api.gpi24.ru/v1/webservice/search/groups?key='key'
В случае, если версия не передана, будет возвращён ответ в формате, описанном в последней стабильной версии API.
Поддержка старых версий API cо временем может быть прекращена.
Версия | Статус |
---|---|
v1 | Стабильная версия |
Код | Сообщение | Описание |
---|---|---|
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 | Да | Код события над оферами |
Варианты:
|
value | int|bool | Нет | Передаваемое значение на изменение. Учитывается только при вызове
события "action": "update" |
|
type | string | Да | Код типа события над оферами. |
Варианты: 1. Учитываются только при вызове события"action": "update" :
"type": "count" - устанавливает указанное в ключе value кол-во
товара у указанного офера. "type": "active" - устанавливает указанное в ключе value значение "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 } |