API магазинов

Использование API

Stores API - программный интерфейс для отображения магазинов мерчанта в приложении SWiP.

Транспорт и протокол

В качестве транспорта используется HTTPS протокол. Сообщения представлены в JSON формате.

Общие положения

Мобильное приложение взаимодействует с сервером по протоколу REST. Протокол REST односторонний, только клиент может сделать запрос к серверу и получить ответ. Сервер не может передать данные на клиента без запроса.

Для выполнения большинства запросов необходима аутентификация. Запрос должен содержать заголовок X-Auth-Token, значением которого является JWT-токен.

Список заголовков, которые необходимо обязательно передавать в API запросах:

Название поля

Пример значения

Описание

Название поля

Пример значения

Описание

X-Auth-Token

eyJhbGciOiJIUzUxMM....9rZ8VQ54JqWFe1Q

Токен приходит после регистрации или после входа в приложение.

Api-Version

2

Версия API.

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

Выводит список всех магазинов, добавленных в систему SWiP.

Формат запроса

1 GET /merchant-categories

Формат ответа

В ответ на запрос приходит список магазинов.

Пример тела ответа

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 [ { "enabled": true, "merchants": [ // список мерчантов { "affluentCashback": 0, "cashback": 0, "description": "string", "id": "string", "massAffluentCashback": 0, "massCashback": 0, "name": "string", "profileImageId": "string", "stores": [ // список магазинов данного мерчанта { "cashback": 0, "discount": 0, "id": "string", "latitude": 0, "longitude": 0, "tags": [ "string" ] } ], "stpEnabled": true, "whoPaysCashback": "SWIP" } ], "name": "string" // название категории } ]

Получение деталей магазина

Запрашивает детальную информацию по магазину мерчанта.

Формат запроса

1 GET /merchants/{id}/stores/{storeId}

Для получения деталей магазина необходимо отправить запрос с передачей следующих параметров:

Параметр

Тип

Описание

Параметр

Тип

Описание

id

string, обязательный

Идентификатор мерчанта в системе SWiP.

storesId

string, обязательный

Идентификатор магазина мерчанта в системе SWiP.

Формат ответа

В ответ на запрос приходят детали указанного магазина.

Пример тела ответа

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 { "address": "string", // адрес магазина "loyaltyConditions": [ // условия предоставляемой лояльности { "loyalty": 0, "countBasedOffer": { "current": 0, "required": 0 }, "description": "string", "firstPayment": true, "fullDescription": "string", "id": "string", "paymentCondition": "string", "product": "string", "schedule": "string", "scheduleDays": [ "MONDAY" ], "type": "CASHBACK" } ], "description": "string", "discountCard": { // карта лояльности, выпущенная для этого мерчанта "barcodeNumber": "string", "barcodeType": "string", "cardNumber": "string", "createdAt": "2019-10-31T13:42:31.556Z", "createdByOffer": true, "defaultImageFront": "string", "id": "string", "imageBack": "string", "imageFront": "string", "merchantId": "string", "name": "string", "offerId": "string" }, "externalLoyalty": { "merchantPoints": 0, "points":0 }, "id": "string", // идентификатор магазина "latitude": 0, "longitude": 0, "merchantId": "string", // идентификатор мерчанта "monFri": "string", // время работы в будние дни "name": "string", // название магазина "offers": [ // предложение для выпуска карты лояльности мерчанта { "id": "string", "integrationKey": "PJ_MASS_DISCOUNT_CARD", "name": "string", "type": "DISCOUNT_CARD" } ], "phone": "string", "products": [ // товары для покупки в приложении SWiP { "description": "string", "discount": 0, "id": "string", "imageId": "string", "merchantId": "string", "merchantStoreId": "string", "name": "string", "price": 0, "scheduledOn": "2019-10-31T13:42:31.557Z" } ], "satSun": "string", // время работы на выходных "schedules": [ "string" ], "tags": [ "string" ] }