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}
Для получения деталей магазина необходимо отправить запрос с передачей следующих параметров:
| string, обязательный | Идентификатор мерчанта в системе SWiP. |
| 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"
]
}