Категории
Загрузка списка категорий
$ curl -uuser:user "https://sandbox.wallet.best/adm2/groups/"
{
"meta": {
"code": 200
},
"data": [
{
"id": "549c92fb56c35f660ecd341f",
"name": {
"ru_RU": "Денежные переводы",
"en_US": null
},
"group": "",
"keywords": "",
"position": 13,
"amount": 3,
"localized_fields": [
"name"
]
}
...
]
}
id
- id категорииname
- локализированное название категорииgroup
- группа, к которой относится категорияposition
- позиция категории в спискеamount
- кол-во привязанных к категории сервисовlocalized_fields
- массив с локализированными полями
Добавление категории
$ curl -H 'Content-type:application/json' -X POST -u user:user -d '{"name":"some_name","type":"some_group","position":1,"projects":["mbank","bov"]}' https://sandbox.wallet.best/adm2/groups/
{
"meta": {
"code": 200
},
"data": {
"id": "55421733cccc904a990041a8",
"name": {
"ru_RU": "some_name",
"en_US": null
},
"type": "some_group",
"keywords": "",
"position": 1,
"amount": 0,
"localized_fields": [
"name"
]
}
}
name
- локализированное название категории (либо строка)group
- группа, к которой относится категорияposition
- позиция категории в спискеprojects
- список проектов, к которым эта категория относится
Редактирование категории
$ curl -H 'Content-type:application/json' -X POST -u user:user -d '{"name":{"ru_RU":"some_name_edited", "en_US":"some_en_name"},"group":"some_group","position":1,"projects":["mbank","bov"], "keywords":"one,two,three"}' https://sandbox.wallet.best/adm2/groups/55421733cccc904a990041a8
{
"meta": {
"code": 200
},
"data": {
"id": "55421733cccc904a990041a8",
"name": {
"ru_RU": "some_name_edited",
"en_US": "some_en_name"
},
"group": "some_group",
"keywords":"one,two,three",
"position": 1,
"amount": 0,
"localized_fields": [
"name"
]
}
}
При редактировании категории передаются те же самые поля, что и при создании
Удаление категории
$ curl -X DELETE -uuser:user https://sandbox.wallet.best/adm2/groups/55421733cccc904a990041a8
{
"meta": {
"code": 200
},
"data": {}
}
Сортировка категорий
$ curl -X POST -u user:user -d '{"projects":["mbank"],"groups_ids":["53359fb2255c741a749f0c5d","537e28f756c35f87701cddf5",
"53359fb2255c741a749f0c47","53359fb2255c741a749f0c5b",
"53359fb2255c741a749f0c4b","549c92fb56c35f660ecd341f","53a1ca0656c35fe0767b8a93","53359fb2255c741a749f0c50",
"53359fb2255c741a749f0c42","53359fb2255c741a749f0c58",
"53359fb2255c741a749f0c4d","545abac556c35fcc2848c11f","53359fb2255c741a749f0c59"]}' https://sandbox.wallet.best/adm2/groups/sort
{
"meta": {
"code": 200
}
}
Необходимо передать проекты, для которых будет менять сортировка и массив idшников категорий, в том порядке, в котором они должны быть отсортированны
Платежи
Загрузка списка платежей
curl -uuser:user https://sandbox.wallet.best/adm2/payments/?size=2
{
"meta": {
"code": 200,
"page": {
"total_elements": 2852
},
"time": 0.471806
},
"data": [
{
"id": 33616,
"client_payment_id": "d292cd02-faa6-4aaf-ae52-2188182affa3",
"amount": 45,
"total": 45,
"created_at": "2015-04-30T10:57:03.952Z",
"processed_at": "2015-04-30T10:57:14.079Z",
"status": "completed",
"type": "inout",
"service": {
"id": "53359fb2255c741a749f0c44",
"name": "Теле2",
"mserver_id": 1000
},
"parameters": [
{
"id": "phoneNumber",
"is_disabled": false,
"is_hidden": false,
"is_required": true,
"min_length": 12,
"max_length": 12,
"range_start": 0,
"range_end": 0,
"patterns": [
{
"pattern": "^\\+7[0-9]{10}$",
"description": {
"ru_RU": "Номер телефона РФ начиная с +7 (в международном формате). Например, +79261112233"
}
}
],
"pattern": "^\\+7[0-9]{10}$",
"pattern_desc": "Номер телефона РФ начиная с +7 (в международном формате). Например, +79261112233",
"type": "phone",
"title": "Номер телефона, начиная с +7",
"default_value": null,
"suggested_values": [],
"items": null,
"localized_fields": [
"title",
"pattern_desc"
],
"value": "+79267101283"
}
],
"inbound": {
"id": 4,
"code": "ipsp_in",
"name": "ООО ИПСП (агент)"
},
"outbound": {
"id": 1,
"code": "tpr_out",
"name": "Кредит Пилот"
},
"card": {
"id": 17117,
"state": "active",
"title": "465206******2338",
"type": "Visa"
},
"wallet": {
"phone": "+12345696275",
"amount": 10000,
"level": "anonymous",
"verified": false,
"person_status": "no_data",
"enabled": true,
"active": true,
"created_at": "2015-04-30T10:56:39.168Z",
"last_seen_ip": "127.0.0.1"
},
"remote_check": "1430391567657",
"auth_code": "958007",
"ip_address": "127.0.0.1",
"title": "Теле2",
"subtitle": "Пополнение",
"description": "По номеру +79267101283"
},
{
"id": 33615,
"client_payment_id": "3a97b428-73a9-4b77-aedc-cbf5771fa79f",
"amount": 83,
"total": 83,
"created_at": "2015-04-30T10:56:45.373Z",
"status": "processing",
"type": "inout",
"service": {
"id": "53359fb2255c741a749f0c44",
"name": "Теле2",
"mserver_id": 1000
},
"parameters": [
{
"id": "phoneNumber",
"is_disabled": false,
"is_hidden": false,
"is_required": true,
"min_length": 12,
"max_length": 12,
"range_start": 0,
"range_end": 0,
"patterns": [
{
"pattern": "^\\+7[0-9]{10}$",
"description": {
"ru_RU": "Номер телефона РФ начиная с +7 (в международном формате). Например, +79261112233"
}
}
],
"pattern": "^\\+7[0-9]{10}$",
"pattern_desc": "Номер телефона РФ начиная с +7 (в международном формате). Например, +79261112233",
"type": "phone",
"title": "Номер телефона, начиная с +7",
"default_value": null,
"suggested_values": [],
"items": null,
"localized_fields": [
"title",
"pattern_desc"
],
"value": "+79267101283"
}
],
"inbound": {
"id": 4,
"code": "ipsp_in",
"name": "ООО ИПСП (агент)"
},
"outbound": {
"id": 1,
"code": "tpr_out",
"name": "Кредит Пилот"
},
"card": {
"state": "pending",
"payment_page_url": "https:\/\/test1.ipsp.com\/frontend\/endpoint?product_id=1721&desc=BestWallet&payment_type=S&amount=83.00¤cy=RUB&cf=33615&locale=ru&hash=a00265377f9cd33d130c4ef01f472d7e7813bea1"
},
"wallet": {
"phone": "+12345696275",
"amount": 10000,
"level": "anonymous",
"verified": false,
"person_status": "no_data",
"enabled": true,
"active": true,
"created_at": "2015-04-30T10:56:39.168Z",
"last_seen_ip": "127.0.0.1"
},
"ip_address": "127.0.0.1",
"title": "Теле2",
"subtitle": "Пополнение",
"description": "По номеру +79267101283"
}
]
}
Параметры (опциональные)
phone
- телефон кошелька, чьи платежи мы хотим видетьtype
- тип платежаstatus
- статус платежаservice_name
- полное или частичное имя сервисаservice_ids
- список ID сервиса (как альтернатива service_name), ID сервисов перечисляются через запятую, например: 3,19,293amount_from
иamount_to
- границы диапазона сумм платежей, формат UTCdate_from
иdate_to
- границы диапазона дат создания платежейpage
- номер (начиная с 0) страницы, которую запрашивает клиент, по умолчанию 0size
- размер страницы, которую запрашивает клиент, по умолчанию 20order_by
- поле для сортировкиorder_direction
- направление сортировкиclient_ip
- IP адрес плательщика (или сервиса с которого поступило распоряжение на списание)inbound_payment_id
- идентификатор платежа из IPSPinbound_payment_status
- идентификатор платежа из IPSPinbound_payment_amount_from
иinbound_payment_amount_to
- границы диапазона сумм платежей IPSPinbound_payment_date_from
иinbound_payment_date_to
- границы диапазона дат создания платежей IPSPinbound_payment_card_number_first
- поиск по первым 6 цифрам номера картыinbound_payment_card_number_last
- поиск по последним 4 цифрам номера картыinbound_payment_card_number_last
- поиск по последним 4 цифрам номера картыinbound_payment_recurring
- фильтр по рекурентным платежам (true/false)inbound_payment_card_type
- поиск по вендору карт (MASTER_CARD/VISA/..?)inbound_payment_3ds
- поиск по 3ds статусу карты: unknown (ECI/SLI не получен ни на одном из шагов), attempted (06), skipped (07), successful (05)inbound_payment_user_ip
- поиск по IP адресу плательщика
Отчет о количестве платежей проекта за период
Подсчёт всех платежей за период
$ curl -uadmin:admin "https://sandbox.wallet.best/adm2/payments/count?date_from=2014-07-11&date_to=2014-07-12"
{
"meta":{
"code":200
},
"data":[
{
"tick":"2014-07-11",
"data": {
"count":123
}
},
{
"tick":"2014-07-12",
"data": {
"count":98
}
}
]
}
Пример с группировкой по статусу платежей
$ curl -uadmin:admin "https://sandbox.wallet.best/adm2/payments/count?date_from=2014-07-11&date_to=2014-07-11&group_by=status&tick=3h"
{
"meta":{
"code":200
},
"data":[
{
"tick":"2014-07-11T00:00:00",
"data":{
"count":83,
"created":24,
"processing":37,
"completed":21,
"declined":1
}
},
{
"tick":"2014-07-11T00:03:00",
"data":{
"count":83,
"created":24,
"processing":37,
"completed":21,
"declined":1
}
},
...
{
"tick":"2014-07-12T00:00:00",
"data":{
"count":83,
"created":24,
"processing":37,
"completed":21,
"declined":1
}
}
]
}
Пример группировки по типу поставщика
$ curl -uadmin:admin "https://sandbox.wallet.best/adm2/payments/count?date_from=2014-07-11&date_to=2014-07-11&group_by=provider_types&tick=3h"
{
"meta":{
"code":200
},
"data":[
{
"tick":"2014-07-12T00:00:00",
"data":{
"count":83,
"providers":[
{
"id" : 1,
"code" : "tpr_out",
"name" : "Кредит Пилот",
"type" : "outbound",
"count": 50
},
{
"id" : 4,
"code" : "ipsp_in",
"name" : "ООО ИПСП (агент)",
"type" : "inbound",
"count": 50
}
]
}
}
...
]
}
Пример группировки по сервису
$ curl -uadmin:admin "https://sandbox.wallet.best/adm2/payments/count?date_from=2014-07-11&date_to=2014-07-11&group_by=service_ids&tick=3h"
{
"meta":{
"code":200
},
"data":[
{
"tick":"2014-07-12T00:00:00",
"data":{
"count":83,
"services":[
{
"type" : "out",
"id" : 834,
"count": 50
},
{
"type" : "out",
"id" : 4,
"count": 30
},
{
"type" : "p2p",
"count": 20
}
]
}
}
...
]
}
Пример группировки по сервису и статусу
$ curl -uadmin:admin "https://sandbox.wallet.best/adm2/payments/count?tick=month&service_ids=1691&group_by=service_ids,status"
{
"meta" : {
"code" : 200,
"page" : {
"total_elements" : 2
}
},
"data" : [ {
"data" : {
"count" : 66,
"services" : [ {
"data" : {
"declined" : 2,
"created" : 51,
"count" : 61,
"completed" : 8
},
"id" : 1691,
"type" : "out"
}, {
"data" : {
"count" : 5,
"completed" : 5
},
"id" : 1691,
"type" : "inout"
} ]
},
"tick" : "2015-02-28T22:00:00.000+0000"
}, {
"data" : {
"count" : 15,
"services" : [ {
"data" : {
"created" : 7,
"count" : 14,
"completed" : 7
},
"id" : 1691,
"type" : "out"
}, {
"data" : {
"declined" : 1,
"count" : 1
},
"id" : 1691,
"type" : "inout"
} ]
},
"tick" : "2015-03-31T21:00:00.000+0000"
} ]
}
Параметры
date_from
,date_to
- (фильтр) временной промежуток, по-умолчанию 1 месяц с текущего моментаstatus
- (фильтр) created | processing | completed | declined - статус платежаservice_ids
- (фильтр) сервис или список идентификаторов сервисов через запятую и/или флаг p2p (11,23,45,p2p)group_by
- параметр группировкиwallet
- фильтр по номеру кошелька (смотреть данные в разрезе кошелька)type
- (in | out | inout | p2p) фильтр по типу транзакцииtick
(30m | 3h | day | month) - выбор разреза при группировке. По умолчанию - день (day).
Группировки
status
- для динамики проходимости платежейservice_ids
- для распределения платежей по сервисам, включая P2P как отдельный типservice_ids,status
- по сервисам и статусамprovider_types
- по типу провайдеров, через которые проходили транзакции
Отчет о обороте платежей проекта за период
$ curl -uadmin:admin "https://sandbox.wallet.best/adm2/payments/turnover?date_from=2014-07-11&date_to=2014-07-12"
{
"meta":{
"code":200
},
"data":[
{
"tick":"2014-07-11",
"data": {
"amount":1233424
}
},
{
"tick":"2014-07-12",
"data": {
"amount":98234342
}
}
]
}
Пример с группировкой по статусу платежей
$ curl -uadmin:admin "https://sandbox.wallet.best/adm2/payments/turnover?date_from=2014-07-11&date_to=2014-07-11&group_by=status&tick=3h"
{
"meta":{
"code":200
},
"data":[
{
"tick":"2014-07-11T00:00:00",
"data":{
"amount":83324324324,
"created":2434234,
"processing":3723434,
"completed":2123423,
"declined":12
}
},
...
]
}
Пример группировки по типу поставщика
$ curl -uadmin:admin "https://sandbox.wallet.best/adm2/payments/turnover?date_from=2014-07-11&date_to=2014-07-11&group_by=provider_types&tick=3h"
{
"meta":{
"code":200
},
"data":[
{
"tick":"2014-07-12T00:00:00",
"data":{
"amount":83,
"providers":[
{
"id" : 1,
"code" : "tpr_out",
"name" : "Кредит Пилот",
"type" : "outbound",
"amount": 5043
},
{
"id" : 4,
"code" : "ipsp_in",
"name" : "ООО ИПСП (агент)",
"type" : "inbound",
"amount": 1293
}
]
}
}
...
]
}
Пример группировки по сервису
$ curl -uadmin:admin "https://sandbox.wallet.best/adm2/payments/turnover?date_from=2014-07-11&date_to=2014-07-11&group_by=service_ids&tick=3h"
{
"meta":{
"code":200
},
"data":[
{
"tick":"2014-07-12T00:00:00",
"data":{
"amount":83243,
"services":[
{
"type" : "out",
"id" : 834,
"amount": 50234
},
{
"type" : "out",
"id" : 4,
"amount": 3012
},
{
"type" : "p2p",
"amount": 2033
}
]
}
}
...
]
}
Пример группировки по сервису и статусу
$ curl -uadmin:admin "https://sandbox.wallet.best/adm2/payments/turnover?tick=month&service_ids=1691&group_by=service_ids,status"
{
"meta" : {
"code" : 200,
"page" : {
"total_elements" : 2
}
},
"data" : [ {
"data" : {
"amount" : 154,
"services" : [ {
"data" : {
"amount" : 144,
"declined" : 20,
"created" : 114,
"completed" : 10
},
"id" : 1691,
"type" : "out"
}, {
"data" : {
"amount" : 10,
"completed" : 10
},
"id" : 1691,
"type" : "inout"
} ]
},
"tick" : "2015-02-28T22:00:00.000+0000"
}, {
"data" : {
"amount" : 114,
"services" : [ {
"data" : {
"amount" : 14,
"created" : 7,
"completed" : 7
},
"id" : 1691,
"type" : "out"
}, {
"data" : {
"amount" : 100,
"declined" : 100
},
"id" : 1691,
"type" : "inout"
} ]
},
"tick" : "2015-03-31T21:00:00.000+0000"
} ]
}
Параметры
date_from
,date_to
- (фильтр) временной промежуток, по-умолчанию 1 месяц с текущего моментаamount_from
,amount_to
- (фильтр) по сумме платежаstatus
- (фильтр) created | processing | completed | declined - статус платежаservice_ids
- (фильтр) сервис или сервисок идентификаторов сервисов через запятую и/или флаг p2p (11,23,45,p2p)group_by
- параметр группировкиwallet
- фильтр по номеру кошелька (смотреть данные в разрезе кошелька)type
- (in | out | inout | p2p) фильтр по типу транзакцииtick
(30m | 3h | day | month) - выбор разреза при группировке. По умолчанию - день (day).
Группировки
status
- для динамики проходимости платежейservice_ids
- для распределения платежей по сервисам, включая P2P как отдельный типservice_ids,status
- по сервисам и статусамprovider_types
- по типу провайдеров, через которые проходили транзакции
Оборот всех платежей за период *
date_from
иdate_to
- границы диапазона дат создания платежей *ipsp_payment_id
- идентификатор платежа из IPSP *page
- номер (начиная с 0) страницы, которую запрашивает клиент, по умолчанию 0 *size
- размер страницы, которую запрашивает клиент, по умолчанию 20 *sort
- поле сортировки, через запятую может следовать направление
Реестры
Загрузка списка реестров
curl -uuser:user https://sandbox.wallet.best/adm2/registries/?size=2
{
"meta": {
"page": {
"page": 1,
"size": 2,
"total_elements": 3
},
"code": 200
},
"data": [
{
"id": "55423dafcccc9048990041ac",
"name": "test.xlsx",
"type": "testType3",
"user": "test",
"date": "2015-04-10T00:00:00+00:00",
"file": "http:\/\/sandbox.wallet.best\/registries\/af\/23d\/test.xlsx"
},
{
"id": "55423dadcccc90b39a0041ac",
"name": "test.xls",
"type": "testType2",
"user": "test",
"date": "2015-04-16T00:00:00+00:00",
"file": "http:\/\/sandbox.wallet.best\/registries\/ad\/23d\/test.xls"
}
]
}
Ответ
id
- идентификатор регистраname
- Название регистра (имя файла)type
- тип регистраdate
- дата за которую загружен геристрfile
- url файла для скачивания
Параметры (опциональные)
date_from
иdate_to
- границы диапазона дат создания платежейpage
- номер (начиная с 0) страницы, которую запрашивает клиент, по умолчанию 0size
- размер страницы, которую запрашивает клиент, по умолчанию 20
Добавление реестра
Добавление регистра происходит в две итерации Принимаемые типы файлов:
- ‘text/csv’,
- 'text/plain’,
- 'application/vnd.ms-excel’,
- 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet’,
- 'application/zip’,
- 'application/gzip’
$ curl -H 'Content-type:application/json' -uuser:user -d '{"date":"2015-04-11","type":"testType4"}' https://sandbox.wallet.best/adm2/registries/
{
"meta": {
"code": 200
},
"data": {
"url_for_upload_file": "\/adm2\/registries\/55424de7cccc9049990041b1"
}
}
После первого запроса на полученный url нужно загрузить файл
$ curl -uuser:user -H 'Content-Type: multipart/form-data' -X POST -F "file=@path_to_file/test.xls" https://sandbox.wallet.best/adm2/registries/55424de7cccc9049990041b1
{
"meta": {
"code": 200
},
"data": {
"id": "55424de7cccc9049990041b1",
"name": "test.xls",
"type": "testType4",
"user": "test",
"date": 1428710400,
"file": "http:\/\/sandbox.wallet.best\/registries\/ec\/250\/test.xls"
}
}
Загрузка реестра по id
curl -uuser:user https://sandbox.wallet.best/adm2/registries/55423dafcccc9048990041ac
{
"meta": {
"code": 200
},
"data": [
{
"id": "55423dafcccc9048990041ac",
"name": "test.xlsx",
"type": "testType3",
"user": "test",
"date": "2015-04-10T00:00:00+00:00",
"file": "http:\/\/sandbox.wallet.best\/registries\/af\/23d\/test.xlsx"
}
]
}
При загрузке - Вы получите те же саммые данные, что и при списке
Точки пополнения
Загрузка списка точек пополения
curl -uuser:user https://sandbox.wallet.best/adm2/locations/?size=1
{
"meta": {
"page": {
"total_elements": 235
},
"code": 200
},
"data": [
{
"id": "554ce380cccc9082250041f2",
"name": {
"ru_RU": "Имя точки пополнения 7",
"en_US": null
},
"group": "verification",
"type": {
"ru_RU": "Терминал",
"en_US": null
},
"worktime": {
"ru_RU": "Круглосуточно",
"en_US": null
},
"address": {
"ru_RU": "Россия, Абдулино, Ясный пр.Ленина 2",
"en_US": null
},
"longitude": 53.658752,
"latitude": 53.690968,
"localized_fields": [
"name",
"type",
"worktime",
"address"
]
}
]
}
Параметры (опциональные)
page
- номер (начиная с 0) страницы, которую запрашивает клиент, по умолчанию 0size
- размер страницы, которую запрашивает клиент, по умолчанию 20
Ответ
id
- идентификатор точки пополненияname
- имя точки пополненияgroup
- группа точки [replenishment|verification|money_transfer]type
- тип точкиworktime
- время работыaddress
- адресlongitude
- долготаlatitude
- широтаlocalized_fields
- массив с локализированными полями
Получение точки пополнения по id
$ curl -uuser:user https://sandbox.wallet.best/adm2/locations/554ce380cccc9082250041f2
{
"meta": {
"code": 200
},
"data": {
"id": "554ce380cccc9082250041f2",
"name": {
"ru_RU": "Имя точки пополнения 7",
"en_US": null
},
"type": {
"ru_RU": "Терминал",
"en_US": null
},
"group": "verification",
"worktime": {
"ru_RU": "Круглосуточно",
"en_US": null
},
"address": {
"ru_RU": "Россия, Абдулино, Ясный пр.Ленина 2",
"en_US": null
},
"longitude": 53.658752,
"latitude": 53.690968,
"localized_fields": [
"name",
"type",
"worktime",
"address"
]
}
}
Добавление точки пополнения (руками)
curl -H 'Content-type:application/json' -uuser:user -d '{"type":"Type?Oo","worktime":"Worktime","name":"Some name","address":"Some address string","group":"Some group","source_id":"admin","latitude":151413.123,"longitude":100500.123,"projects":"mbank"}' https://sandbox.wallet.best/adm2/locations/
{
"meta": {
"code": 200
},
"data": {
"id": "554ce621cccc9093300041b3",
"name": {
"ru_RU": "Some name",
"en_US": null
},
"type": {
"ru_RU": "Type?Oo",
"en_US": null
},
"group": "Some group",
"worktime": {
"ru_RU": "Worktime",
"en_US": null
},
"address": {
"ru_RU": "Some address string",
"en_US": null
},
"longitude": 100500.123,
"latitude": 151413.123,
"localized_fields": [
"name",
"type",
"worktime",
"address"
]
}
}
Поля
type
- тип точкиworktime
- время работыname
- имя точкиgroup
- группа [replenishment|verification|money_transfer]source_id
- (admin|best|elecsnet)address
- адресlongitude
- долготаlatitude
- широта
Изменение точки пополнения
curl -H 'Content-type:application/json' -X POST -uuser:user -d '{"type":{"ru_RU":"Type","en_US":"Type english"},"worktime":{"ru_RU":"Worktime","en_US":null},"address":{"ru_RU":"Address ru","en_US":"Address en"},"latitude":1514113.123,"longitude":1005100.123,"name":"Some name","group":"verification","source_id":"admin"}' https://sandbox.wallet.best/adm2/locations/554ce621cccc9093300041b3
{
"meta": {
"code": 200
},
"data": {
"id": "554ce621cccc9093300041b3",
"name": {
"ru_RU": "Some name",
"en_US": null
},
"type": {
"ru_RU": "Type",
"en_US": "Type english"
},
"group": "verification",
"worktime": {
"ru_RU": "Worktime",
"en_US": null
},
"address": {
"ru_RU": "Address ru",
"en_US": "Address en"
},
"longitude": 1005100.123,
"latitude": 1514113.123,
"localized_fields": [
"name",
"type",
"worktime",
"address"
]
}
}
Аналогичный запрос, как и при добавлении
Добавление точек пополнения из файла
curl -uuser:user -H 'Content-Type: multipart/form-data' -X POST -F "file=/Users/Samorai/www/mbank.api/tests/data/csv/replenishment_points.csv" https://sandbox.wallet.best/adm2/locations/file
{
"meta": {
"code": 200
},
"data": [
{
"id": "554ce7fecccc90d8240041e7",
"name": {
"ru_RU": "Имя точки пополнения 1",
"en_US": null
},
"type": {
"ru_RU": "Терминал",
"en_US": null
},
"worktime": {
"ru_RU": "Круглосуточно",
"en_US": null
},
"address": {
"ru_RU": "Россия, Абдулино, ул. Коммунистическая д. 85",
"en_US": null
},
"longitude": 53.648503,
"latitude": 53.693517,
"localized_fields": [
"type",
"worktime",
"address"
]
},
{
"id": "554ce7ffcccc90d8240041e8",
"name": {
"ru_RU": "Имя точки пополнения 2",
"en_US": null
},
"type": {
"ru_RU": "Терминал",
"en_US": null
},
"worktime": {
"ru_RU": "Круглосуточно",
"en_US": null
},
"address": {
"ru_RU": "Россия, Абдулино, с.Северное ул.Чапаева 41",
"en_US": null
},
"longitude": 53.661618,
"latitude": 53.680639,
"localized_fields": [
"type",
"worktime",
"address"
]
}
]
}
Имя;Адрес;Тип;group;Время работы;source_id Имя точки пополнения 1;Россия, Абдулино, ул. Коммунистическая д. 85;Терминал;verification;Круглосуточно;admin Имя точки пополнения 2;Россия, Абдулино, с.Северное ул.Чапаева 41;Терминал;verification;Круглосуточно;admin
В ответе будет список точек, которые были добавлены. Пример формата файла:
Имя; | Адрес; | Тип; | group; | Время работы; | source_id |
---|---|---|---|---|---|
Имя точки пополнения 1; | Россия, Абдулино, ул. Коммунистическая д. 85; | Терминал; | verification; | Круглосуточно; | admin; |
Имя точки пополнения 2; | Абдулино, с.Северное ул.Чапаева 41; | Терминал; | verification; | Круглосуточно; | admin; |
Удаление точки пополнения
curl -uuser:user -X DELETE sandbox.wallet.best/adm2/locations/554ce815cccc9056320041d3
{
"meta": {
"code": 200
}
}
Параметры сервисов
Добавление параметра
curl -H 'Content-type:application/json' -H 'X-Project-ID:mbank' -X POST -u user:user -d '{"id":"some_parameter_name","type":"5548d11acccc90702f0041b9","title":{"ru_RU":"parameter title"},"range_start":100500,"range_end":100501,"pattern":"\/\\d{4}\/","pattern_desc":{"ru_RU":"pattern_desc title"},"default_value":"{{last_value}}","regex_values":[111,222,333],"regex_descriptions":[{"ru_RU":"regex_description_111"},{"ru_RU":"regex_description_222"},{"ru_RU":"regex_description_333"}],"is_disabled":false,"is_hidden":false,"is_required":true}' https://sandbox.wallet.best/adm2/services/53a70ca256c35f1664f64b20/parameters
{
"meta": {
"code": 200
},
"data": {
"id": "53a70ca256c35f1664f64b20",
"mserver_id": 1163,
"name": {
"ru_RU": "ВКонтакте"
},
"category": {
"id": "53359fb2255c741a749f0c47",
"name": {
"ru_RU": "Игры и социальные сети",
"en_US": null
}
},
"image_exists": true,
"icon_url": "http:\/\/sandbox.wallet.best\/img\/services\/53a70ca256c35f1664f64b20.png?1430835917",
"labels": {
"changed": false,
"verification_required": false,
"autopayment_service": false,
"is_hidden": false,
"is_enabled": true
},
"description": {
"ru_RU": "Пользователю {{ payment.parameters.phoneNumber }}",
"en_US": null
},
"subtitle": {
"ru_RU": "Покупка голосов",
"en_US": null
},
"title": {
"ru_RU": "{{ payment.service.name }}",
"en_US": null
},
"limit": {
"ru_RU": "",
"en_US": null
},
"maxsum": 15000,
"minsum": 7,
"geo": [],
"parameters": [
{
"id": "some_parameter_name",
"is_disabled": false,
"is_hidden": false,
"is_required": true,
"min_length": null,
"max_length": null,
"range_start": 100500,
"range_end": 100501,
"patterns": [
{
"pattern": 111,
"description": {
"ru_RU": "regex_description_111"
}
},
{
"pattern": 222,
"description": {
"ru_RU": "regex_description_222"
}
},
{
"pattern": 333,
"description": {
"ru_RU": "regex_description_333"
}
}
],
"pattern": "\/\\d{4}\/",
"pattern_desc": {
"ru_RU": "pattern_desc title"
},
"type": [],
"title": {
"ru_RU": "parameter title"
},
"default_value": "{{last_value}}",
"suggested_values": [],
"items": null,
"service_param_pattern_id": null,
"is_dynamic": false,
"locales": null,
"localized_fields": [
"title",
"pattern_desc"
],
"diff_fields": [],
"diff_from_pattern": false
}
],
"diff_source": {},
"status": "online",
"service_statuses": [
"online",
"offline"
],
"keywords": "",
"localized_fields": [
"name",
"description",
"subtitle",
"title",
"limit"
]
}
}
Поля
id
- Идентификаторtype
- Тип (По типу клиент идентифицирует необходимый функцинал поля ввода (могут быть разные клавиатуры, маски, валидаторы, что-угодно).)title
- Название (Название поля, отображается только когда оно пустое в виде плейсхолдера.)range_start
- Начальное значениеrange_end
- Закончить наpattern
- Форматpattern_desc
- Текст ошибки при несовпадении форматаdefault_value
- Значение по-умолчаниюregex_values
- Регулярные выражения валидации данныхregex_descriptions
- Описание регулярных выражений валидации данных (ключи должны совпадать)is_disabled
- Поле видно, но недоступно для редактированияis_hidden
- Поле невидимо для пользователяis_required
- Поле обязательно к заполнениюis_dynamic
- Динамичный параметр
В ответе Вы получите полный сервис, к которому добавляли параметр
Изменение параметра
curl -H 'Content-type:application/json' -H 'X-Project-ID:mbank' -X POST -u user:user -d '{"id":"some_parameter_name","type":"5548d11acccc90702f0041b9","title":{"ru_RU":"parameter title"},"range_start":100500,"range_end":100501,"pattern":"\/\\d{4}\/","pattern_desc":{"ru_RU":"pattern_desc title"},"default_value":"{{last_value}}_edited","regex_values":[111,222,333],"regex_descriptions":[{"ru_RU":"regex_description_333"},{"ru_RU":"regex_description_333"},{"ru_RU":"regex_description_333"}],"is_disabled":false,"is_hidden":false,"is_required":true}' https://sandbox.wallet.best/adm2/services/53a70ca256c35f1664f64b20/parameters/some_parameter_name
{
"Cм. Добавление параметра"
}
При редакторовании параметра запрос такой-же, как и при добавлении
Удаление параметра
curl -H 'X-Project-ID:mbank' -X DELETE -u user:user https://sandbox.wallet.best/adm2/services/53a70ca256c35f1664f64b20/parameters/some_parameter_name
{
"meta": {
"code": 200
},
"data": {
"id": "53a70ca256c35f1664f64b20",
"mserver_id": 1163,
"name": {
"ru_RU": "ВКонтакте"
},
"category": {
"id": "53359fb2255c741a749f0c47",
"name": {
"ru_RU": "Игры и социальные сети",
"en_US": null
}
},
"image_exists": true,
"icon_url": "http:\/\/sandbox.wallet.best\/img\/services\/53a70ca256c35f1664f64b20.png?1430836068",
"labels": {
"changed": false,
"verification_required": false,
"autopayment_service": false,
"is_hidden": false,
"is_enabled": true
},
"description": {
"ru_RU": "Пользователю {{ payment.parameters.phoneNumber }}",
"en_US": null
},
"subtitle": {
"ru_RU": "Покупка голосов",
"en_US": null
},
"title": {
"ru_RU": "{{ payment.service.name }}",
"en_US": null
},
"limit": {
"ru_RU": "",
"en_US": null
},
"maxsum": 15000,
"minsum": 7,
"geo": [],
"parameters": [],
"diff_source": {},
"status": "online",
"service_statuses": [
"online",
"offline"
],
"keywords": "",
"localized_fields": [
"name",
"description",
"subtitle",
"title",
"limit"
]
}
}
В ответе Вы получите сервис, к которому относится этот параметр без параметра.
Загрузка параметра
curl -H 'X-Project-ID:mbank' -X GET -u user:user https://sandbox.wallet.best/adm2/services/53359fb2255c741a749f0c4c/parameters/phoneNumber
{
"meta": {
"code": 200
},
"data": {
"id": "phoneNumber",
"is_disabled": false,
"is_hidden": false,
"is_required": true,
"min_length": "3",
"max_length": "9",
"range_start": "",
"range_end": "",
"patterns": [],
"pattern": "^[0-9]{3,9}$",
"pattern_desc": {
"ru_RU": "Номер вашего лицевого счета, от 3 до 9 цифр. Например, 12344455"
},
"type": {
"id": "54293c2156c35ff85d5a241c",
"title": "number",
"description": "Число",
"regex_map": "",
"regex_map_value": "",
"regex_unmap": "",
"regex_unmap_value": ""
},
"title": {
"ru_RU": "Номер лицевого счета"
},
"default_value": "",
"suggested_values": [],
"items": null,
"service_param_pattern_id": "0",
"is_dynamic": false,
"locales": null,
"localized_fields": [
"title",
"pattern_desc"
],
"diff_fields": [],
"diff_from_pattern": false
}
}
Синхронизация параметров нашего сервиса с параметрами сервиса на MServer
curl -H 'X-Project-ID:mbank' -X POST -u user:user https://sandbox.wallet.best/adm2/services/53359fb2255c741a749f0c4a/parameters/phoneNumber/sync
{
"Cм. Изменение параметра"
}
При выполении данного запроса поля параметра сервиса, которые отличаются от полей параметра сервиса мсервера заменяются
Синхронизация items у параметров
curl -X POST -u user:user https://sandbox.wallet.best/adm2/services/53a70d2456c35f58640fdd47/parameters/phoneNumber/items/sync
{
"Cм. Изменение параметра"
}
Тоже самое, что и при синхронизации параметра, только затрагивает поле items
Сервисы
Загрузка списка сервисов
curl -H 'X-Project-ID:mbank' -X GET -u user:user "https://sandbox.wallet.best/adm2/services/?size=1"
{
"meta": {
"page": {
"page": 1,
"size": "1",
"total_elements": 239
},
"code": 200
},
"data": [
{
"id": "53359fb2255c741a749f0c44",
"mserver_id": 1000,
"name": {
"ru_RU": "Теле2",
"en_US": "Tele2"
},
"groups": [
{
"id": "53359fb2255c741a749f0c42",
"name": {
"ru_RU": "Мобильная связь",
"en_US": "Cellular providers"
},
"type": "cellular",
"keywords": "",
"position": 8,
"amount": 0,
"localized_fields": [
"name"
]
}
],
"image_exists": true,
"image_url": "http:\/\/sandbox.wallet.best\/img\/services\/53359fb2255c741a749f0c44.png?1422632666",
"status": "online",
"keywords": "",
"labels": {
"changed": false,
"verification_required": false,
"autopayment_service": false,
"in_mserver": true,
"is_hidden": false,
"is_enabled": true
},
"rate": {
"fix": 0,
"percent": 0
},
"mnp_provider_id": null,
"mnp_provider_region_code": null,
"localized_fields": [
"name",
"group"
]
}
]
}
Параметры (опциональные)
page
- номер (начиная с 0) страницы, которую запрашивает клиент, по умолчанию 0size
- размер страницы, которую запрашивает клиент, по умолчанию 20group_id
- id группы, к которой привязан сервисname
- имя сервиса (поиск)status
- статус сервиса [online|offline]mserver_ids
- фильтр по mserver_id (через запятую)services_ids
- фильтр по id (через запятую)is_enabled
- вкл/выкл
Поля
id
- Идентификаторmserver_id
- id сервиса на мсервереname
- Название сервисаgroup
- Группа, к которой принадлежит сервисimage_exists
- Существует ли изображениеimage_url
- Линк на изображениеstatus
- Статус сервиса (online|offline)keywords
- Ключевые слова (необходимы при поиске)labels
- Набор ярлыковlabels.changed
- Совпадает ли сервис с сервисом мсервераlabels.verification_required
- Только для верифицированных пользователейlabels.autopayment_service
- Сервис относится к автоплатежуlabels.in_mserver
- Существует в мсервереlabels.is_hidden
- Скрытlabels.is_enabled
- Включенrate
- комиссия в формате массива со значениями:fix
- фиксированнаяpercent
- процент от суммыmin
- минимальный размер комиссии, опциональноmax
- максимальный размер комиссии, опционально
mnp_provider_id
- mnp_provider_idmnp_provider_region_code
- mnp_provider_region_code
Загрузка сервиса по id
$ curl -H 'X-Project-ID:mbank' -X GET -u user:user "https://sandbox.wallet.best/adm2/services/53359fb2255c741a749f0c44"
{
"meta": {
"code": 200
},
"data": {
"id": "53359fb2255c741a749f0c44",
"mserver_id": 1000,
"name": {
"ru_RU": "Теле2",
"en_US": "Tele2"
},
"groups": [
{
"id": "53359fb2255c741a749f0c42",
"name": {
"ru_RU": "Мобильная связь",
"en_US": "Cellular providers"
},
"type": "cellular",
"keywords": "",
"position": 8,
"amount": 0,
"localized_fields": [
"name"
]
}
],
"image_exists": true,
"icon_url": "http:\/\/sandbox.wallet.best\/img\/services\/53359fb2255c741a749f0c44.png?1422632666",
"labels": {
"changed": false,
"verification_required": false,
"autopayment_service": false,
"is_hidden": false,
"is_enabled": true
},
"description": {
"ru_RU": "По номеру {{ payment.parameters.phoneNumber }}",
"en_US": "Phone number: {{ payment.parameters.phoneNumber }}"
},
"subtitle": {
"ru_RU": "Пополнение",
"en_US": "Refill"
},
"title": {
"ru_RU": "{{ payment.service.name }}",
"en_US": "{{ payment.service.name }}"
},
"limit": {
"ru_RU": "Лимитов нет",
"en_US": "There are no limits at this time"
},
"maxsum": 15000,
"minsum": 1,
"geo": [],
"parameters": [
{
"id": "phoneNumber",
"is_disabled": false,
"is_hidden": false,
"is_required": true,
"min_length": "12",
"max_length": "12",
"range_start": "0",
"range_end": "0",
"patterns": [],
"pattern": "^\\+7[0-9]{10}$",
"pattern_desc": {
"ru_RU": "Номер телефона РФ начиная с +7 (в международном формате). Например, +79261112233"
},
"type": {
"id": "54293c0456c35ff85d25992b",
"title": "phone",
"description": "Номер телефона (локальный формат, РФ)",
"regex_map": "^.*$",
"regex_map_value": "+7$0",
"regex_unmap": "^\\+7",
"regex_unmap_value": ""
},
"title": {
"ru_RU": "Номер телефона, начиная с +7"
},
"default_value": null,
"suggested_values": [],
"items": null,
"service_param_pattern_id": "54293d3056c35ff85df83dd0",
"is_dynamic": false,
"locales": null,
"localized_fields": [
"title",
"pattern_desc"
],
"diff_fields": {
"default_value": true,
"is_disabled": false,
"is_hidden": false,
"is_required": false,
"max_length": false,
"min_length": false,
"pattern": false,
"pattern_desc": false,
"range_end": false,
"range_start": false,
"title": false,
"type": false
},
"diff_from_pattern": true
}
],
"diff_source": {},
"status": "online",
"service_statuses": [
"online",
"offline"
],
"keywords": "",
"rate": {
"fix": 0,
"percent": 0
},
"mnp_provider_id": null,
"mnp_provider_region_code": null,
"localized_fields": [
"name",
"description",
"subtitle",
"title",
"limit"
]
}
}
Поля
id
- Идентификаторmserver_id
- id сервиса на мсервереname
- Название сервисаcategory
- Группа, к которой принадлежит сервисimage_exists
- Существует ли изображениеimage_url
- Линк на изображениеlabels
- Набор ярлыковlabels.changed
- Совпадает ли сервис с сервисом мсервераlabels.verification_required
- Только для верифицированных пользователейlabels.autopayment_service
- Сервис относится к автоплатежуlabels.in_mserver
- Существует в мсервереlabels.is_hidden
- Скрытlabels.is_enabled
- Включенdescription
- описание для маппинга платежейsubtitle
- subtitle для маппинга платежейtitle
- title для маппинга платежейlimit
- описание лимитовmaxsum
- максимальная сумма оплатыminsum
- минимальная сумма оплатыgeo
- список GEO точек сервисаparameters
- список параметров сервисаdiff_source
- список отличий от mserverstatus
- Статус сервиса (online|offline)service_statuses
- перечень возможных стутусов сервисаkeywords
- Ключевые слова (необходимы при поиске)rate
- комиссия в формате массива со значениями:fix
- фиксированнаяpercent
- процент от суммыmin
- минимальный размер комиссии, опциональноmax
- максимальный размер комиссии, опционально
localized_fields
- локализированные поля
Редактирование сервиса
curl -H 'X-Project-ID:mbank' -H 'Content-type:aplication/json' -X POST -u user:user -d '{"name": { "ru_RU": "Теле2", "en_US" "Tele2" }, "keywords": "", "mserver_id": 1000, "category_id": "53359fb2255c741a749f0c42", "limit_html": { "ru_RU": "Лимитов нет", "en_US": "There are no limits at this time" }, "icon_url": "http:\/\/sandbox.wallet.best\/img\/services\/53359fb2255c741a749f0c44.png?1422632666", "maxsum": 15000, "minsum": 1, "trans_title": { "ru_RU": "{{ payment.service.name }}", "en_US": "{{ payment.service.name }}" }, "trans_subtitle": { "ru_RU": "Пополнение", "en_US": "Refill" }, "trans_description": { "ru_RU": "По номеру {{ payment.parameters.phoneNumber }}", "en_US": "Phone number: {{ payment.parameters.phoneNumber }}" }, "verification_required" : true, "autopayment_service" : false, "status": "online" }' "https://sandbox.wallet.best/adm2/services/53359fb2255c741a749f0c44"
{
"См. загрузка сервиса по id"
}
Редактируемые поля (обязательно передавать ВСЕ поля)
name
- имя сервисаkeywords
- Ключевые слова (строка, через запятую)mserver_id
- id сервиса на мсервереcategory_id
- id категории, к которой относится сервисlimit_html
- описание лимитовicon_url
- Линк на изображениеminsum
- минимальная сумма оплатыmaxsum
- максимальная сумма оплатыtrans_description
- описание для маппинга платежейtrans_subtitle
- subtitle для маппинга платежейtrans_title
- title для маппинга платежейverification_required
- требуется ли верификацияautopayments_service
- относится ли сервис к автоплатежуstatus
- статус сервисаgeo_id
- id гео-точки (если передается - точка добавляется)mnp_provider_id
- mnp_provider_idmnp_provider_region_code
- mnp_provider_region_code
Добавление иконки сервиса
curl -uuser:user -H 'Content-Type: multipart/form-data' -X POST -F "file=@path_to_file/replenishment_points.csv" https://sandbox.wallet.best/adm2/services/53359fb2255c741a749f0c44/icon
{
"См. загрузка сервиса по id"
}
Изменение статуса сервиса
curl -H 'X-Project-ID:mbank' -H 'Content-type:aplication/json' -X POST -u user:user -d '{"status":"offline","is_enabled":false}' https://sandbox.wallet.best/adm2/services/53359fb2255c741a749f0c44/status
{
"meta": {
"code": 200
},
"data": {
"id": "53359fb2255c741a749f0c44",
"mserver_id": 1000,
"name": {
"ru_RU": "Теле2",
"en_US": "Tele2"
},
"groups": [
{
"id": "53359fb2255c741a749f0c42",
"name": {
"ru_RU": "Мобильная связь",
"en_US": "Cellular providers"
},
"type": "cellular",
"keywords": "",
"position": 8,
"amount": 0,
"localized_fields": [
"name"
]
}
],
"image_exists": true,
"image_url": "http:\/\/sandbox.wallet.best\/img\/services\/53359fb2255c741a749f0c44.png?1422632666",
"status": "offline",
"keywords": "",
"labels": {
"changed": false,
"verification_required": false,
"autopayment_service": false,
"is_hidden": true,
"is_enabled": false
},
"mnp_provider_id": null,
"mnp_provider_region_code": null,
"localized_fields": [
"name",
"group"
]
}
}
Параметры
status
- статус сервиса (online|offline)is_enabled
- статус сервиса вкл/выкл (true|false)
Удаление сервиса
curl -H 'X-Project-ID:mbank' -X DELETE -u user:user https://sandbox.wallet.best/adm2/services/53359fb2255c741a749f0c44
{
"meta": {
"code": 200
},
"data": {}
}
Загрузка сервисов по mserver_id
curl -H 'X-Project-ID:mbank' -X GET -u user:user "sandbox.wallet.best/adm2/services/mserver/1013,1001"
{
"meta": {
"code": 200
},
"data": [
{
"id": "53a1c67c56c35fe07671be4c",
"mserver_id": 1001,
"name": {
"ru_RU": "Яндекс.Деньги"
},
"localized_fields": [
"name"
]
},
{
"id": null,
"mserver_id": 1013,
"name": {
"ru_RU": "Мосэнергосбыт",
"en_US": null
},
"localized_fields": [
"name"
]
}
]
}
Поля
id
- идентификатор сервиса (null - если нету у нас)
mserver_id
- id сервиса на mserver
name
- имя сервиса
localized_fields
- локализированные поля
Загрузка списка новых сервисов
curl -H 'X-Project-ID:mbank' -X GET -u user:user "https://sandbox.wallet.best/adm2/services/new"
{
"meta": {
"code": 200
},
"data": [
{
"id": 1562,
"name": "Континент ТВ",
"min": 10,
"max": 15000,
"verification": false
},
{
"id": 1606,
"name": "Росинтел (Тула)",
"min": 1,
"max": 15000,
"verification": false
}
]
}
Список не привязанных сервисов
Поля
id
- id сервиса на mserver
name
- имя сервиса
min
- минамильная сумма пополения
max
- максимальная сумма пополнения
verification
- локализированные поля
Добавление сервиса
curl -H 'X-Project-ID:mbank' -X POST -u user:user -d '{"mserver_id":"1562"}' https://sandbox.wallet.best/adm2/services/
{
"meta": {
"code": 200
},
"data": {
"id": "554b662dcccc9058050041e5",
"mserver_id": 1562,
"name": {
"ru_RU": "Континент ТВ"
},
"groups": [
],
"image_exists": false,
"icon_exists": false,
"icon_url": "http:\/\/sandbox.wallet.best\/img\/services\/554b662dcccc9058050041e5.png?0",
"labels": {
"changed": false,
"verification_required": false,
"autopayment_service": false,
"is_hidden": true,
"is_enabled": false
},
"description": {
"ru_RU": "",
"en_US": null
},
"subtitle": {
"ru_RU": "",
"en_US": null
},
"title": {
"ru_RU": "",
"en_US": null
},
"limit": {
"ru_RU": "",
"en_US": null
},
"maxsum": 15000,
"minsum": 10,
"geo": [],
"parameters": [
{
"id": "phoneNumber",
"is_disabled": false,
"is_hidden": false,
"is_required": false,
"min_length": 11,
"max_length": 12,
"range_start": null,
"range_end": null,
"patterns": [],
"pattern": "^\\d{11,12}$",
"pattern_desc": {
"ru_RU": "№ Карты Доступа\\Счета"
},
"type": "",
"title": {
"ru_RU": "№ Карты Доступа\\Счета"
},
"default_value": null,
"suggested_values": [],
"items": null,
"service_param_pattern_id": null,
"is_dynamic": false,
"locales": null,
"localized_fields": [
"title",
"pattern_desc"
],
"diff_fields": [],
"diff_from_pattern": false
}
],
"diff_source": {},
"status": "",
"service_statuses": [
"online",
"offline"
],
"keywords": "",
"mnp_provider_id": null,
"mnp_provider_region_code": null,
"localized_fields": [
"name",
"description",
"subtitle",
"title",
"limit"
]
}
}
При добавлении сервиса - создается сервис у нас, клонируя значения сервиса на mserver
Загрузка списка гео-точек
curl -H 'X-Project-ID:mbank' -XGET -u user:user "sandbox.wallet.best/adm2/geo/"
{
"meta": {
"code": 200
},
"data": [
{
"id": "54be73b7b7f47bef9100b64c",
"title": "10 лет октября (Новичихинский район, Алтайский край, Сибирский округ, Российская Федерация)"
},
{
"id": "54be73b7b7f47bef9100b639",
"title": "12 лет октября (Поспелихинский район, Алтайский край, Сибирский округ, Российская Федерация)"
}
]
}
Параметры (опциональные)
term
- поиск по title
Привязка гео-точки к сервису
curl -X POST -u user:user -d '{"geo_id":"54be73b7b7f47bef9100b64c"}' https://sandbox.wallet.best/adm2/services/537e27a956c35f87703a3fa7/geo
{
"meta": {
"code": 200
},
"data": {
"id": "537e27a956c35f87703a3fa7",
"mserver_id": 1101,
"name": {
"ru_RU": "Цезарь Сателлит"
},
"groups": [
{
"id": "537e28f756c35f87701cddf5",
"name": {
"ru_RU": "Охранные службы",
"en_US": "null"
},
"type": "cellular",
"keywords": "",
"position": 8,
"amount": 0,
"localized_fields": [
"name"
]
}
],
"image_exists": true,
"icon_url": "http:\/\/sandbox.wallet.best\/img\/services\/537e27a956c35f87703a3fa7.png?1422632666",
"labels": {
"changed": false,
"verification_required": false,
"autopayment_service": false,
"is_hidden": false,
"is_enabled": true
},
"description": {
"ru_RU": "",
"en_US": null
},
"subtitle": {
"ru_RU": "PIN абонента {{ payment.parameters.phoneNumber }}",
"en_US": null
},
"title": {
"ru_RU": "Пополнение {{ payment.service.name }}",
"en_US": null
},
"limit": {
"ru_RU": "",
"en_US": null
},
"maxsum": 15000,
"minsum": 10,
"geo": [
{
"id": "54be73b7b7f47bef9100b64c",
"title": "10 лет октября",
"inside": [
{
"id": "54be73b7b7f47bef9100b645",
"title": "Новичихинский район"
},
{
"id": "54be73b2b7f47bef910041e8",
"title": "Алтайский край"
},
{
"id": "54be73b2b7f47bef910041ac",
"title": "Сибирский округ"
},
{
"id": "54be73b2b7f47bef910041a7",
"title": "Российская Федерация"
}
]
}
],
"parameters": [],
"diff_source": {},
"status": "online",
"service_statuses": [
"online",
"offline"
],
"keywords": "",
"mnp_provider_id": null,
"mnp_provider_region_code": null,
"localized_fields": [
"name",
"description",
"subtitle",
"title",
"limit"
]
}
}
При добавлении, в ответе Вы получите полный сервис, такой-же, как и при запросе сервиса по id
Удаление привязки гео-точки от сервиса
curl -H 'X-Project-ID:mbank' -H 'Content-type:application/json' -X DELETE -u user:user https://sandbox.wallet.best/adm2/services/537e27a956c35f87703a3fa7/geo/54be73b7b7f47bef9100b64c
{
"См. Добавление Гео Точки.":"",
"Только в этом случае сервис будет без удаленной точки"
}
Удаляет гео-точку 54be73b7b7f47bef9100b64c с сервиса 537e27a956c35f87703a3fa7
Настройки
Загрузка списка логов
curl -H 'X-Project-ID:mbank' -X GET -u user:user "sandbox.wallet.best/adm2/logs/?size=2"
{
"meta": {
"page": {
"page": 1,
"size": 2,
"total_elements": 1255
},
"code": 200
},
"data": [
{
"text": "Удален параметр у сервиса \"Эшелон Охранная Система\"",
"user": "test",
"time": "2015-05-05T18:18:41+00:00"
},
{
"text": "Изменен параметр \"Адрес\" для сервиса \"ТСЖ Монолит-престиж\"",
"user": "bardack",
"time": "2015-01-15T13:12:22+00:00"
}
]
}
text
- Что сделалuser
- Кто сделалtime
- Когда сделал
Параметры (опциональные)
page
- номер (начиная с 0) страницы, которую запрашивает клиент, по умолчанию 0size
- размер страницы, которую запрашивает клиент, по умолчанию 20
Загрузка списка ошибок
curl -H 'X-Project-ID:mbank' -X GET -u user:user "sandbox.wallet.best/adm2/errors/?size=2"
{
"meta": {
"page": {
"page": 1,
"size": "2",
"total_elements": 75
},
"code": 200
},
"data": [
{
"id": "5494486da60ad61b110041ba",
"code": "save_event_fail",
"title": {
"ru_RU": "save event fail",
"en_EN": "save event fail"
},
"localized_fields": [
"title"
]
},
{
"id": "5494486da60ad61b110041b9",
"code": "bad_trigger_id_no_relation",
"title": {
"ru_RU": "bad trigger id no relation",
"en_EN": "bad trigger id no relation"
},
"localized_fields": [
"title"
]
}
]
}
id
- идентификатор ошибкиcode
- код ошибкиtitle
- описание ошибкиlocalized_fields
- локализированные поля
Параметры (опциональные)
page
- номер (начиная с 0) страницы, которую запрашивает клиент, по умолчанию 0size
- размер страницы, которую запрашивает клиент, по умолчанию 20title
- описание ошибкиcode
- код ошибки
Загрузка ошибки по id
curl -H 'X-Project-ID:mbank' -X GET -u user:user "sandbox.wallet.best/adm2/errors/5494486da60ad61b110041ba"
{
"meta": {
"code": 200
},
"data": {
"id": "5494486da60ad61b110041ba",
"title": {
"ru_RU": "save event fail",
"en_EN": "save event fail"
},
"code": "save_event_fail",
"localized_fields": [
"title"
]
}
}
Добавление ошибки
curl -H 'X-Project-ID:mbank' -H 'Content-type:application/json' -X POST -u user:user -d '{"code":"some_code","title":{"en_EN":"some_en_name","ru_RU":"some_ru_name"}}' https://sandbox.wallet.best/adm2/errors/
{
"meta": {
"code": 200
},
"data": {
"id": "55490aa1cccc90f621004246",
"title": {
"en_EN": "some_en_name",
"ru_RU": "some_ru_name"
},
"code": "some_code",
"localized_fields": [
"title"
]
}
}
Параметры при добавлении ошибки
code
- код ошибкиtitle
- описание ошибки
Изменение ошибки
curl -H 'X-Project-ID:mbank' -H 'Content-type:application/json' -X POST -u user:user -d '{"code":"some_code_edited","title":{"en_EN":"some_en_name_edited","ru_RU":"some_ru_name_edited"}}' https://sandbox.wallet.best/adm2/errors/55490aa1cccc90f621004246
{
"meta": {
"code": 200
},
"data": {
"id": "55490aa1cccc90f621004246",
"title": {
"en_EN": "some_en_name_edited",
"ru_RU": "some_ru_name_edited"
},
"code": "some_code_edited",
"localized_fields": [
"title"
]
}
}
Параметры при изменении ошибки
code
- код ошибкиtitle
- описание ошибки
Удаление ошибки
curl -H 'X-Project-ID:mbank' -H 'Content-type:application/json' -X DELETE -u user:user https://sandbox.wallet.best/adm2/errors/55490aa1cccc90f621004246
{
"meta": {
"code": 200
}
}
Загрузка списка общих настроек
curl -H 'X-Project-ID:mbank' -X GET -u user:user "https://sandbox.wallet.best/adm2/settings/common/"
{
"meta": {
"code": 200
},
"data": {
"general": {
"support_phone": {
"type": "input",
"value": ""
},
"feedback_email": {
"type": "input",
"value": ""
}
},
"in": {
"payment_in_title": {
"type": "localized",
"value": {
"ru_RU": "Пополнение счета",
"en_US": "IN"
}
}
},
"p2p": {
"payment_p2p_title": {
"type": "localized",
"value": {
"ru_RU": "Денежный перевод",
"en_US": "P2P"
}
}
},
"apns": {
"payment_out_fail": {
"type": "localized",
"value": {
"ru_RU": "Оплата \"{{ service.name }}\" отменена",
"en_US": ""
}
}
},
"intercom": {
"intercom_reply_method": {
"type": "checkbox",
"values": [
"sms",
"apns"
],
"value": "apns"
}
},
"wallet": {
"wallet_verified_apns_message": {
"type": "localized",
"value": {
"ru_RU": "Your wallet has been verified.",
"en_US": ""
}
}
},
"parameters": {
"suggested_values": {
"type": "input",
"value": ""
},
"cards_limits_text": {
"type": "localized",
"value": {
"ru_RU": "",
"en_US": ""
}
}
},
"transaction_log": {
"mail_from": {
"type": "input",
"value": ""
}
},
"autopayments": {
"autopayments_sms_connected_threshold": {
"type": "input",
"value": ""
}
}
}
}
Список общих настроек разделен на группы * Общее * Сообщения для in платежей * Сообщения для p2p платежей * Сообщения для APNS платежей * Настройки для Intercom сообщений * Сообщения для кошельков * Параметры * Лог транзацкий * СМС автоплатежей
Поля
Ключ - код ошибки
* type
- тип поля [checkbox|localized|input]
* value
- значение поля
* values
- значения поля для типа checkbox
Изменения списка общих настроек
curl -H 'X-Project-ID:mbank' -H 'Content-type:application/json' -X POST -u user:user -d '{"settings":{"support_phone":{"ru_RU":"edited_name_ru"},"autopayments_sms_payment_fail":{"ru_RU":"edited_name_ru"}}}' https://sandbox.wallet.best/adm2/settings/common/
{
"См. Загрузка списка общих настроек"
}
При изменении нужно передавать ключ ошибки и ее значение
Загрузка списка лимитов
curl -H 'X-Project-ID:mbank' -X GET -u user:user "https://sandbox.wallet.best/adm2/settings/limits/"
{
"meta": {
"code": 200
},
"data": [
{
"id": "53dfa37456c35f7375ebdc44",
"title": {
"ru_RU": "Оплата услуг",
"en_US": null
},
"description": {
"ru_RU": "Кроме перечисленных ниже",
"en_US": null
},
"anonymous": {
"type": "bool",
"value": true,
"status": "anonymous"
},
"verified": {
"type": "bool",
"value": true,
"status": "verified"
},
"personified": {
"type": "string",
"value": null,
"status": "personified"
},
"position": 7,
"localized_fields": [
"title",
"description"
]
}
]
}
id
- идентификаторtitle
- Названиеdescription
- Описаниеstatus
- К каким статусам относитсяlimit
- Значения лимитов для статусовtype_limits
- Возможные типы лимитовposition
- Позиция в спискеlocalized_fields
- локализированные поля
Загрузка лимита по id
$ curl -H 'X-Project-ID:mbank' -X GET -u user:user "https://sandbox.wallet.best/adm2/settings/limits/53dfa37456c35f7375ebdc44"
{
"meta": {
"code": 200
},
"data": {
"id": "53dfa37456c35f7375ebdc44",
"title": {
"ru_RU": "Оплата услуг",
"en_US": null
},
"description": {
"ru_RU": "Кроме перечисленных ниже",
"en_US": null
},
"anonymous": {
"type": "bool",
"value": true,
"status": "anonymous"
},
"verified": {
"type": "bool",
"value": true,
"status": "verified"
},
"personified": {
"type": "string",
"value": null,
"status": "personified"
},
"position": 7,
"localized_fields": [
"title",
"description"
]
}
}
Сортировка лимитов
curl -H 'X-Project-ID:mbank' -H 'Content-type:application/json' -X POST -u user:user -d '{"limits_order":"53dfa35f56c35f737578012e,53dfa37456c35f7375ebdc44,53dfa38a56c35f7375e1a14c,53dfa34856c35f737505a834,54b3cc0c56c35f744758bfd0,53dfa3ac56c35f7375481acc"}' https://sandbox.wallet.best/adm2/settings/limits/sort
{
"meta": {
"code": 200
},
"data": true
}
Массив idшников лимитов, в том порядке, в котором они должны быть отсортированны
Добавление лимита
curl -H 'X-Project-ID:mbank' -H 'Content-type:application/json' -X POST -u user:user -d '{"title":{"ru_RU":"Название","en_US":"test title"},"description":{"ru_RU":"Описание","en_US":"test description"},"limit":{"anonymous":111,"verified":222,"personified":333},"status":{"anonymous":0,"verified":1,"personified":2}}' https://sandbox.wallet.best/adm2/settings/limits/
{
"meta": {
"code": 200
},
"data": {
"id": "554cb2d6cccc9080250041a8",
"title": {
"ru_RU": "Название",
"en_US": "test title"
},
"description": {
"ru_RU": "Описание",
"en_US": "test description"
},
"anonymous": {
"type": "string",
"value": 111,
"status": "anonymous"
},
"verified": {
"type": "bool",
"value": true,
"status": "verified"
},
"personified": {
"type": "bool",
"value": false,
"status": "personified"
},
"position": 10,
"localized_fields": [
"title",
"description"
]
}
}
title
- Названиеdescription
- Описаниеlimit
- Значения лимитов для статусовstatus
- К каким статусам относится
Изменение лимита
curl -H 'X-Project-ID:mbank' -H 'Content-type:application/json' -X POST -u user:user -d '{"title":{"ru_RU":"Название","en_US":"test title edited"},"description":{"ru_RU":"Описание","en_US":"test description edited"}, "limit":{"anonymous":111,"verified":222,"personified":333},"status":{"anonymous":0,"verified":1,"personified":2}}' https://sandbox.wallet.best/adm2/settings/limits/554cb2d6cccc9080250041a8
{
"meta": {
"code": 200
},
"data": {
"id": "554cb2d6cccc9080250041a8",
"title": {
"ru_RU": "Название",
"en_US": "test title edited"
},
"description": {
"ru_RU": "Описание",
"en_US": "test description edited"
},
"anonymous": {
"type": "string",
"value": 111,
"status": "anonymous"
},
"verified": {
"type": "bool",
"value": true,
"status": "verified"
},
"personified": {
"type": "bool",
"value": false,
"status": "personified"
},
"position": 12,
"localized_fields": [
"title",
"description"
]
}
}
При редактировании лимит передаются те же самые поля, что и при добалении
Удаление лимита
curl -H 'X-Project-ID:mbank' -H 'Content-type:application/json' -X DELETE -u user:user https://sandbox.wallet.best/adm2/settings/limits/554cb2d6cccc9080250041a8
{
"meta": {
"code": 200
},
"data": {}
}
Шаблоны
Загрузка списка шаблонов
$curl -H 'X-Project-ID:mbank' -X GET -u user:user "https://sandbox.wallet.best/adm2/templates/"
{
"meta": {
"code": 200
},
"data": [
{
"id": "5429887756c35f625da94314",
"title": {
"ru_RU": "Фамилия"
},
"default_value": "{{ last_value | default(person.family_name) }}",
"is_disabled": false,
"is_hidden": false,
"is_required": true,
"is_pattern": true,
"pattern_desc": {
"ru_RU": "Фамилия кириллицей, длинной от 1 до 255 символов"
},
"range_start": "0",
"range_end": "0",
"pattern": "^[а-яА-ЯёЁ\\-]{1,255}$",
"patterns": [
{
"pattern": "",
"description": ""
}
],
"type": {
"id": "54293c0e56c35ff85dcf6ee8",
"title": "string",
"description": "Строка",
"regex_map": "",
"regex_map_value": "",
"regex_unmap": "",
"regex_unmap_value": ""
},
"services_amount": 3,
"localized_fields": [
"title",
"pattern_desc"
]
}
]
}
id
- Идентификаторtype
- Тип (По типу клиент идентифицирует необходимый функцинал поля ввода (могут быть разные клавиатуры, маски, валидаторы, что-угодно).)title
- Название (Название поля, отображается только когда оно пустое в виде плейсхолдера.)range_start
- Начальное значениеrange_end
- Закончить наpattern
- Форматpattern_desc
- Текст ошибки при несовпадении форматаdefault_value
- Значение по-умолчаниюregex_values
- Регулярные выражения валидации данныхregex_descriptions
- Описание регулярных выражений валидации данных (ключи должны совпадать)is_disabled
- Поле видно, но недоступно для редактированияis_hidden
- Поле невидимо для пользователяis_required
- Поле обязательно к заполнениюis_pattern
- является ли шиблономpatterns
- валидаторыservices_amount
- кол-во сервисов, параметры которых привязанны к этому шаблонуlocalized_fields
- локализированные поля
Загрузка шаблона по id
$ curl -H 'X-Project-ID:mbank' -X GET -u user:user "https://sandbox.wallet.best/adm2/templates/5429887756c35f625da94314"
{
"meta": {
"code": 200
},
"data": {
"id": "5429887756c35f625da94314",
"title": {
"ru_RU": "Фамилия"
},
"default_value": "{{ last_value | default(person.family_name) }}",
"is_disabled": false,
"is_hidden": false,
"is_required": true,
"is_pattern": true,
"pattern_desc": {
"ru_RU": "Фамилия кириллицей, длинной от 1 до 255 символов"
},
"range_start": "0",
"range_end": "0",
"pattern": "^[а-яА-ЯёЁ\\-]{1,255}$",
"patterns": [
{
"pattern": "",
"description": ""
}
],
"type": {
"id": "54293c0e56c35ff85dcf6ee8",
"title": "string",
"description": "Строка",
"regex_map": "",
"regex_map_value": "",
"regex_unmap": "",
"regex_unmap_value": ""
},
"items": [],
"parameters": [
{
"id": "lastname",
"is_disabled": false,
"is_hidden": true,
"is_required": true,
"min_length": "1",
"max_length": "20",
"range_start": "0",
"range_end": "0",
"patterns": [
{
"pattern": "",
"description": ""
}
],
"pattern": "^[а-яА-ЯёЁ\\-]{1,20}$",
"pattern_desc": {
"ru_RU": "Фамилия кириллицей, длинной от 1 до 20 символов"
},
"type": {
"id": "54293c0e56c35ff85dcf6ee8",
"title": "string",
"description": "Строка",
"regex_map": "",
"regex_map_value": "",
"regex_unmap": "",
"regex_unmap_value": ""
},
"title": {
"ru_RU": "Фамилия"
},
"default_value": null,
"suggested_values": [],
"items": null,
"service_param_pattern_id": "5429887756c35f625da94314",
"is_dynamic": false,
"locales": null,
"localized_fields": [
"title",
"pattern_desc"
],
"service": {
"service_id": "549837f456c35fa03312e225",
"mserver_id": 1007,
"name": {
"ru_RU": "Home Credit and Finance"
}
}
}
],
"localized_fields": [
"title",
"pattern_desc"
]
}
}
id
- Идентификаторtype
- Тип (По типу клиент идентифицирует необходимый функцинал поля ввода (могут быть разные клавиатуры, маски, валидаторы, что-угодно).)title
- Название (Название поля, отображается только когда оно пустое в виде плейсхолдера.)range_start
- Начальное значениеrange_end
- Закончить наpattern
- Форматpattern_desc
- Текст ошибки при несовпадении форматаdefault_value
- Значение по-умолчаниюregex_values
- Регулярные выражения валидации данныхregex_descriptions
- Описание регулярных выражений валидации данных (ключи должны совпадать)is_disabled
- Поле видно, но недоступно для редактированияis_hidden
- Поле невидимо для пользователяis_required
- Поле обязательно к заполнениюis_pattern
- является ли шиблономpatterns
- валидаторыservices_amount
- кол-во сервисов, параметры которых привязанны к этому шаблонуlocalized_fields
- локализированные поля
Создание шаблона
curl -H 'X-Project-ID:mbank' -H 'Content-type:application/json' -X POST -u user:user -d '{"service_id":"54293c0e56c35ff85dcf6ee8","parameter_id":"phoneNumber","items":null,"type":"54293c0e56c35ff85dcf6ee8","title":{"ru_RU":"Пополнение Steam"},"range_start":"","range_end":"","pattern":"^[a-zA-Z0-9_]{3,64}$","pattern_desc":{"ru_RU":"Какой-то там логин в стим"},"default_value":null,"regex_values":[],"regex_description":[],"is_required":true}' https://sandbox.wallet.best/adm2/templates/
{
"meta": {
"code": 200
},
"data": {
"id": "55499ac3cccc902022004236",
"title": {
"ru_RU": "Пополнение Steam"
},
"default_value": "",
"is_disabled": false,
"is_hidden": false,
"is_required": true,
"is_pattern": true,
"pattern_desc": {
"ru_RU": "Какой-то там логин в стим"
},
"range_start": "",
"range_end": "",
"pattern": "^[a-zA-Z0-9_]{3,64}$",
"patterns": [],
"type": {
"id": "54293c0e56c35ff85dcf6ee8",
"title": "string",
"description": "Steam оплата",
"regex_map": "",
"regex_map_value": "",
"regex_unmap": "",
"regex_unmap_value": ""
},
"localized_fields": [
"title",
"pattern_desc"
]
}
}
Создание шаблона с параметра сервиса (mserver_id) Тело запроса на создание шаблона аналогично с телом запроса на изменение параметра
Изменение шаблона
curl -H 'X-Project-ID:mbank' -H 'Content-type:application/json' -u user:user -X POST -d '{"items":null,"type":"54293c0e56c35ff85dcf6ee8","title":{"ru_RU":"Пополнение Steam"},"range_start":"","range_end":"","pattern":"^[a-zA-Z0-9_]{3,64}$","pattern_desc":{"ru_RU":"Какой-то там логин в стим"},"default_value":"{{last_value}}","regex_values":[],"regex_description":[],"is_required":true}' https://sandbox.wallet.best/adm2/templates/55499bbdcccc902022004238
{
"meta": {
"code": 200
},
"data": {
"id": "55499bbdcccc902022004238",
"title": {
"ru_RU": "Пополнение Steam"
},
"default_value": "{{last_value}}",
"is_disabled": false,
"is_hidden": false,
"is_required": true,
"is_pattern": true,
"pattern_desc": {
"ru_RU": "Какой-то там логин в стим"
},
"range_start": "",
"range_end": "",
"pattern": "^[a-zA-Z0-9_]{3,64}$",
"patterns": [],
"type": {
"id": "54293c0e56c35ff85dcf6ee8",
"title": "string",
"description": "Steam оплата",
"regex_map": "11",
"regex_map_value": "22",
"regex_unmap": "33",
"regex_unmap_value": "44"
},
"parameters": [],
"localized_fields": [
"title",
"pattern_desc"
]
}
}
Удаление шаблона
$curl -H 'X-Project-ID:mbank' -H 'Content-type:application/json' -X DELETE -u user:user https://sandbox.wallet.best/adm2/templates/55522103cccc902a550041d9
{
"meta": {
"code": 200
},
"data": {}
}
Типы
Получение списка типов
curl -uuser:user https://sandbox.wallet.best/adm2/types/
{
"meta": {
"code": 200
},
"data": [
{
"id": "5542652ecccc90abb20041b8",
"title": "phone",
"description": "Номер телефона (локальный формат, Финляндия)",
"regex_map": "^.*$",
"regex_map_value": "+358$0",
"regex_unmap": "^\\+358",
"regex_unmap_value": ""
},
{
"id": "5542652ecccc90abb20041b9",
"title": "phone",
"description": "Номер телефона (локальный формат, Болгария)",
"regex_map": "^.*$",
"regex_map_value": "+359$0",
"regex_unmap": "^\\+359",
"regex_unmap_value": ""
}
...
]
}
id
- идентификаторtitle
- названиеdescription
- описаниеregex_map
- Регулярное выражения поиска (Правило преобразования MServer→Client)regex_map_value
- Значение для замены (Значение преобразования MServer→Client)regex_unmap
- Регулярное выражения поиска (Правило преобразования Client→MServer)regex_unmap_value
- Значение для замены (Значение преобразования Client→MServer)
Получение типа по id
curl -H 'X-Project-ID:mbank' -uuser:user https://sandbox.wallet.best/adm2/types/5542652ecccc90abb20041b8
{
"meta": {
"code": 200
},
"data": {
"id": "5542652ecccc90abb20041b8",
"title": "phone",
"description": "Номер телефона (локальный формат, Финляндия)",
"regex_map": "^.*$",
"regex_map_value": "+358$0",
"regex_unmap": "^\\+358",
"regex_unmap_value": ""
}
}
Добавление типа
curl -H 'X-Project-ID:mbank' -H 'Content-type:application/json' -uuser:user -X POST -d '{"title":"new_title","description":"description_for_new_title","regex_map":"\/^$\/$","regex_map_value":"\/^$\/$","regex_unmap":"100500","regex_unmap_value":"100500"}' https://sandbox.wallet.best/adm2/types/
{
"meta": {
"code": 200
},
"data": {
"id": "5549b733cccc904b09004261",
"title": "new_title",
"description": "description_for_new_title",
"regex_map": "\/^$\/$",
"regex_map_value": "\/^$\/$",
"regex_unmap": "100500",
"regex_unmap_value": "100500"
}
}
title
- названиеdescription
- описаниеregex_map
- Регулярное выражения поиска (Правило преобразования MServer→Client)regex_map_value
- Значение для замены (Значение преобразования MServer→Client)regex_unmap
- Регулярное выражения поиска (Правило преобразования Client→MServer)regex_unmap_value
- Значение для замены (Значение преобразования Client→MServer)
Изменение типа
curl -H 'X-Project-ID:mbank' -H 'Content-type:application/json' -uuser:user -X POST -d '{"title":"edited title","description":"edited description","regex_map":"\/^$\/$","regex_map_value":"\/^$\/$","regex_unmap":"100500","regex_unmap_value":"100500"}' https://sandbox.wallet.best/adm2/types/5549b733cccc904b09004261
{
"meta": {
"code": 200
},
"data": {
"id": "5549b733cccc904b09004261",
"title": "edited title",
"description": "edited description",
"regex_map": "\/^$\/$",
"regex_map_value": "\/^$\/$",
"regex_unmap": "100500",
"regex_unmap_value": "100500"
}
}
Запрос на изменение типа аналогичен с запросом на создание типа, только с передачей идентификатора типа
Удаление типа
curl -H 'X-Project-ID:mbank' -H 'Content-type:application/json' -X DELETE -u user:user https://sandbox.wallet.best/adm2/types/5549b733cccc904b09004261
{
"meta": {
"code": 200
},
"data": {}
}
Кошельки
Загрузка кошелька
curl -H 'X-Project-ID:mbank' -uuser:user https://sandbox.wallet.best/adm2/wallets/+380631345678
{
"meta": {
"code": 200,
"time": 1.413015
},
"data": {
"created_at": "2015-01-13T21:51:41.436Z",
"amount": 598,
"enabled": true,
"active": true,
"phone": "+380631345678",
"statistics": {
"cards": {
"active_count": 1,
"count": 189
},
"payments": {
"lifetime": {
"turnover": 14643,
"count": 272,
"in_turnover": 2707,
"in_count": 1,
"out_turnover": 11525,
"out_count": 47,
"in_out_turnover": 0,
"in_out_count": 0,
"p2p_turnover": 631,
"p2p_count": 14
},
"last_month": {
"turnover": 58,
"count": 1,
"in_turnover": 0,
"in_count": 0,
"out_turnover": 0,
"out_count": 0,
"in_out_turnover": 58,
"in_out_count": 1,
"p2p_turnover": 0,
"p2p_count": 0
}
}
},
"cards": [
{
"card_id": 10189,
"state": "active",
"title": "541715******7260",
"type": "MasterCard",
"lifetime_turnover": 2610,
"card_holder_name": "DKLJFLHSKD",
"last_payment_status": "declined",
"bin_info": {
"bin": "541715",
"brand": "MASTERCARD",
"sub_brand": "",
"country_code": "RU",
"country_name": "Russian Federation",
"bank": "JSCB BANK OF MOSCOW",
"card_type": "CREDIT",
"card_category": "STANDARD",
"latitude": "60",
"longitude": "100",
"query_time": "388.476µs"
}
},
{
"card_id": 10870,
"state": "used",
"title": "541715******7260",
"type": "MasterCard",
"lifetime_turnover": 155,
"card_holder_name": "test test",
"last_payment_status": "completed"
},
{
"card_id": 9416,
"state": "pending",
"lifetime_turnover": 0
},
{
"card_id": 9417,
"state": "deleted",
"title": "541715******7260",
"type": "MasterCard",
"lifetime_turnover": 0
}
],
"limits": {
"amount": {
"in": {
"limit": 15000,
"available": 15000
},
"out": {
"limit": 15000,
"available": 15000
},
"p2p": {
"limit": 15000,
"available": 15000
},
"wallet": {
"limit": 60000,
"available": 59402
}
},
"turnover": {
"monthly": {
"in": {
"limit": 200000,
"available": 200000
},
"out": {
"limit": 200000,
"available": 200000
},
"p2p": {
"limit": 40000,
"available": 40000
}
}
},
"cards": {
"active": {
"limit": 10,
"available": 9
}
}
},
"person": {
"family_name": "Дрыга",
"given_name": "Андрей",
"patronymic_name": "Александрович",
"passport_series_number": "2202655885",
"passport_issued_at": "2012-02-27",
"itn": "330500938709",
"ssn": "11223344595",
"status": "data_entered"
},
"has_picture": true,
"picture_url": "http:\/\/sandbox.wallet.best\/img\/wallets\/7a\/91c\/54291c7a56c35f205da91f9d.jpg?1422258292",
"email": "test@wallet.best",
"email_send_frequency": null,
"contacts_count": 0,
"projects": [
"mbank"
]
}
}
См. Поиск по кошелькам проекта Админстративное API Mserver
Дополнительные поля, которые передаются в ответе:
has_picture
- имеет ли изображениеpicture_url
- урл изображенияemail
email_send_frequency
- ?contacts_count
- кол-во контактовprojects
- к каким проектам относитсяlock_reason
- причина блокировки (если заблокирован)
Отчет об остатке кошельков проекта за период
$ curl -uadmin:admin "https://sandbox.wallet.best/adm2/wallets/balance/?from=2014-07-11&to=2014-07-13"
{
"meta":{
"code":200
},
"data":[
{
"tick":"2014-07-11",
"data":{
"amount":55572.14
}
},
{
"tick":"2014-07-12",
"data":{
"amount":55572.14
}
},
{
"tick":"2014-07-13",
"data":{
"amount":55572.14
}
}
]
}
Параметры
date_from
,date_to
- Временной промежуток
Получение кода активации кошелька
$ curl -uuser:user "https://sandbox.wallet.best/adm2/wallets/%2B12345657367/security_code"
{
"meta":{
"code":200
},
"data":{
"security_code":"2899066"
}
}
Загрузка IP адресов кошелька
$ curl -uuser:user "https://sandbox.wallet.best/adm2/wallets/%2B12345657367/ip"
{
"meta" : {
"code" : 200,
"page" : {
"total_elements" : 21
}
},
"data" : [ "127.0.0.1", "::1"]
}
Поиск по кошелькам проекта
$ curl -uadmin:admin "https://sandbox.wallet.best/adm2/wallets/?family_name=арсен&active=true&order_by=payment_count&order_direction=desc"
{
"meta":{
"page":{
"total_elements":4
},
"code":200
},
"data":[
{
"phone":"+380503839001",
"amount":8598.17,
"enabled":true,
"active":true,
"role":"user",
"created_at":"2014-08-20T15:10:25.943Z",
"person":{
"family_name":"Арсеньев",
"given_name":"Алексей",
"patronymic_name":"Александрович",
"passport_series_number":"2202655885",
"passport_issued_at":"2012-02-27",
"itn":"330500938709",
"ssn":"11223344595",
"status":"data_entered"
},
"statistics":{
"payments":{
"lifetime":{
"turnover":8,
"in_turnover":8,
"out_turnover":8,
"p2p_turnover":8,
"count":8,
"in_count":8,
"out_count":8,
"p2p_count":8,
},
"last_month":{
"turnover":8,
"in_turnover":8,
"out_turnover":8,
"p2p_turnover":8,
"count":8,
"in_count":8,
"out_count":8,
"p2p_count":8,
}
},
"cards":{
"count":4,
"active_count":2
}
}
}
]
}
Постраничная навиция
См. выше.
Параметры
order_by
- поле для сортировкиorder_direction
- направление сортировки: asc или desc (case insensitive)
Поля ответа:
phone
- номер телефона, к которому привязан кошелекamount
- остаток на балансе кошелькаenabled
- false если кошелек заблокирован, иначе - trueactive
- true если кошелек активирован через СМС-кодrole
- роль пользователя (всегда равно user)created_at
- дата регистрации пользователяperson.*
- идентификационные данные пользователяstatistics.payments.lifetime.turnover
- оборот по кошельку за все времяstatistics.payments.lifetime.in_turnover
- оборот по транзакциям типа in за все времяstatistics.payments.lifetime.out_turnover
- оборот по транзакциям типа out за все времяstatistics.payments.lifetime.p2p_turnover
- оборот по транзакциям типа p2p за все времяstatistics.payments.lifetime.count
- количество транзакций за все времяstatistics.payments.lifetime.in_count
- количество транзакций типа in за все времяstatistics.payments.lifetime.out_count
- количество транзакций типа out за все времяstatistics.payments.lifetime.p2p_count
- количество транзакций типа out за все времяstatistics.payments.last_month.turnover
- оборот по кошельку за последний месяцstatistics.payments.last_month.in_turnover
- оборот по транзакциям типа in за последний месяцstatistics.payments.last_month.out_turnover
- оборот по транзакциям типа out за последний месяцstatistics.payments.last_month.p2p_turnover
- оборот по транзакциям типа p2p за последний месяцstatistics.payments.last_month.count
- количество транзакций за последний месяцstatistics.payments.last_month.in_count
- количество транзакций типа in за последний месяцstatistics.payments.last_month.out_count
- количество транзакций типа out за последний месяцstatistics.payments.last_month.p2p_count
- количество транзакций типа out за последний месяцstatistics.cards.count
- количество привязанных и удаленных картstatistics.cards.active_count
- количество привязанных активных карт
Поля для сортировки:
statistics.payments.lifetime.*
- по любому полю со статистики транзакций за все времяstatistics.cards.*count
- по любому count полю со статистики количества картcreated_at
- по дате регистрацииamount
- по остаткам
Фильтры:
ips
- по списку IP адресов разделённых запятойcreated_before
иcreated_after
- по дате регистрацииperson_given_name
,person_family_name
иperson_patronymic_name
- по ФИО, поиск полного совпадения или совпадения в началеperson_status
- по статусу идентификацииperson_passport_series_number
- по номеру и серии паспортаphones
- по списку номеров телефонов, разделённых запятыми; поиск полного совпадения или совпадения в началеcard_number_first
- по первым 6-ти цифрам номера картыcard_number_last
- по последним 4-ем цифрам номера картыcard_id
- по ID карты в IPSPamount_from
иamount_to
- по сумме остатка на кошелькеactive
- по статусу активации (true|false)enabled
- по статусу блокировки (true|false)
Удаление кошелька
curl -H 'X-Project-ID:mbank' -H 'Content-type:application/json' -X DELETE -u user:user "https://sandbox.wallet.best/adm2/wallets/+123457643395"
{
"meta": {
"code": 200,
"time": 0.270401
},
"data": {}
}
Работает только на DEV сервере
Изменение email кошелька
curl -H 'X-Project-ID:mbank' -H 'Content-type:application/json' -X POST -u user:user -d '{"email":"test@testdt.com"}' https://sandbox.wallet.best/adm2/wallets/+12345842116/email
{
"meta": {
"code": 200,
"time": 0.270401
},
"data": {}
}
Изменение person/status кошелька
curl -H 'X-Project-ID:mbank' -H 'Content-type:application/json' -X POST -u user:user -d '{"person_status":"data_entered"}' https://sandbox.wallet.best/adm2/wallets/+12345842117/person/status
{
"meta": {
"code": 200,
"time": 0.270401
},
"data": {}
}
Изменяемые поля
person_status
- Изменить статус верификации (см. Изменение статуса персональных данныхv)level
-anonymous
|identified
|personified
уровень пользователя (опционально, по умолчаниюidentified
)
Заставить сменить пароль
curl -H 'X-Project-ID:mbank' -H 'Content-type:application/json' -X POST -u user:user -d '{"password_reset":true}' https://sandbox.wallet.best/adm2/wallets/+12345842117/password/reset
{
"meta": {
"code": 200,
"time": 0.270401
},
"data": {}
}
Изменяемые поля (разные запросы)
password_reset
- (true|false) - заставить сменить пароль
Удаление аватарки пользователя
$curl -H 'X-Project-ID:mbank' -H 'Content-type:application/json' -X DELETE -u user:user https://sandbox.wallet.best/adm2/wallets/+123457443658/icon
{
"meta": {
"code": 200
},
"data": {}
}
Получение списка устройств кошелька
curl -H 'X-Project-ID:mbank' -X GET -u user:user https://sandbox.wallet.best/adm2/wallets/+12345471665/devices
{
"meta": {
"code": 200
},
"data": [
{
"id": "d4760f14-6f66-43ce-b096-6703c18e56ca",
"info": {
"pin_enabled": "0",
"carrier": "Carrier:06",
"carrier_country_code": "255",
"permission_contacts": "1",
"permission_photo": "1",
"permission_location": "1",
"permission_push": "1",
"bluetooth_enabled": "1",
"wifi_connected": "1"
},
"apns_badge": 0
},
{
"id": "d4760f14-6f66-43ce-b096-6703c18e56cs",
"info": {
"pin_enabled": "0",
"carrier": "Carrier:06",
"carrier_country_code": "255",
"permission_contacts": "1",
"permission_photo": "1",
"permission_location": "1",
"permission_push": "1",
"bluetooth_enabled": "1",
"wifi_connected": "1"
},
"apns_badge": 0
}
]
}
Список устройств, с которых пользователь заходил в приложения
Блокировка кошелька
curl -X POST -u user:user -d '{"message":"message","reason":"reason"}' https://sandbox.wallet.best/adm2/wallets/+12345334867/disable
{
"meta": {
"code": 200,
"time": 0.270401
},
"data": {}
}
message
- Сообщение, которое увидит пользовательreason
- Причина блокировки
Разблокировка кошелька
curl -X POST -u user:user https://sandbox.wallet.best/adm2/wallets/+12345334867/enable
{
"meta": {
"code": 200,
"time": 0.270401
},
"data": {}
}
Получение списка пересекающихся кошельков
curl -H 'X-Project-ID:mbank' -X GET -u user:user https://sandbox.wallet.best/adm2/wallets/+380631345678/intersecting
{
"meta": {
"code": 200
},
"data": {
"by_ip": [
{
"phone": "+12345031449",
"created_at": "2015-03-02T13:39:49+00:00",
"active": true,
"enabled": true
},
{
"phone": "+12345040280",
"created_at": "2015-01-13T16:08:45+00:00",
"active": true,
"enabled": true
}
],
"by_card": [
{
"phone": "+79260000122",
"created_at": "2015-01-14T15:29:47+00:00",
"active": true,
"enabled": true
},
{
"phone": "+380931254212",
"created_at": "2015-03-03T10:24:13+00:00",
"active": true,,
"enabled": true
}
],
"by_identification_data": {
"by_person": [],
"by_passport": [
{
"phone": "+79261111111",
"created_at": "2015-01-14T14:38:45+00:00",
"active": true,
"enabled": false
},
{
"phone": "+380503839001",
"created_at": "2015-01-14T14:40:30+00:00",
"active": true,
"enabled": true
}
]
},
"by_udid": [
{
"phone": "+12345284106",
"created_at": "2015-07-09T10:03:17+00:00",
"active": true,
"enabled": true
}
],
"by_contacts": []
}
}
Список кошельков - у которых совпадают данные
by_ip
- Заходили с одного ipby_card
- Привязанна одна и та же картаby_identification_data
- *
by_person
- совпадают идентификационные данные; - *
by_passport
- совпадают паспортные данные by_udid
- по пересечению устройствby_contacts
- степень похожести телефонной книги составляет >= 20%
Разослать PUSH уведомления списку кошельков
curl -X POST -u user:user -d '{"event":"some_event", "message":"test", "phones":["+79107653522","+79633963636", "+7123"]}' "https://sandbox.wallet.best/adm2/wallets/pushes"
{
"meta": {
"code": 200
},
"data": [
"+79107653522",
"+79633963636"
]
}
Уведомления будут разосланы только тем кошелькам, которые есть у нас
message
- Сообщение, которое увидит пользовательevent
- Евент уведомленияphones
- Массив номеров телефонов