Методы
token
POST
/api/v2/token
генерация токена для доступа к API ZaleyCash по секретному ключу
Request Body
access_token*
String
expires_at*
String
{
"code": 200,
"message": "OK",
"response":
{
"access_token":
"d8bf2fd5f30fe57fa1e97ef39ddf2d3d7025c501c9b4af3ca9757bfbb5b74294",
"expires_at": 1528378016
}
}
services
GET
/api/v2/services
Cписок внешних рекламных сетей (без учета скрытых рекламных сетей). Параметр need_oauth
указывает, возможно ли создание аккаунта через метод POST /api/v2/account/create
или нет (если need_oauth
- yes, то создание аккаунта по API невозможно).
Request Body
name*
String
alias*
String
need_oauth*
String
{
"code": 200,
"message": "OK",
"response":
[
{
"name": "Yandex Direct",
"alias": "direct",
“need_oauth”: “no”
}
]
}
user?email
GET
/api/v2/user?email={email}
Получение информации о пользователе по email. Если email не передан, то метод вернет информацию об учетной записи клиента API. Также вернет статус клиента, активен он или нет (is_active:true/false).
Request Body
id*
String
email*
String
is_active*
Boolean
{
"code": 200,
"message": "OK",
"response":
{
"user":
{
"id": 184,
"email": "user@mail.ru",
“is_active”: true
}
}
}
user
POST
/api/v2/user
Регистрация нового пользователя. Между регистратором и новым пользователем устанавливается связь “родитель - сын”. Также новый пользователь становится рефералом клиента
Request Body
name*
String
email*
String
plainPassword*
String
{
"code": 200,
"message": "OK",
"response":
{
"user":
{
"id": 184,
"email": "user@mail.ru",
“is_active”: true
}
}
}
user/balance
GET
/api/v2/user/balance
Получение данных финансовых балансов пользователя. OriginalBalance
подразумевает число, которое пользователь видит в шапке сайта, а balance
- сумму, доступную к использованию.
{
"code": 200,
"message": "OK",
"response":
{
"user":
{
"id": {id},
"email": "user@mail.ru",
“is_active”: true
},
"balances":
[
{
"currency": "RUB",
"balance": 7100.19,
"creditLimit": 10000,
"originalBalance": -2899.81
},
{
"currency": "USD",
"balance": 7100.19,
"creditLimit": 0,
"originalBalance": 7100.19
},
]
}
}
user/balance/detailed
GET
/api/v2/user/balance/detailed
Получение подробных данных распределения средств по финансовым балансам пользователя. Если счета в списке нет, значит он не существует.
{
"code": 200,
"message": "OK",
"response": {
"user": {
"id": {id},
"email": "user@mail.ru",
“is_active”: true
},
"balances": [
{
“type”: “partner”,
“service”: “luckyshop”,
"currency": "RUB",
"balance": 7100.19,
"creditLimit": 0,
"originalBalance": 7100.19
},
{
“type”: “normal”,
“service”: none,
"currency": "USD",
"balance": 7100.19,
"creditLimit": 0,
"originalBalance": 7100.19
},
{
“type”: “adv”,
“service”: “mytarget”,
"currency": "RUB",
"balance": 7100.19,
"creditLimit": 0,
"originalBalance": 7100.19
}
]
}
}
}
}
user/account
GET
/api/v2/user/account?id={id}
Получение информации о своем аккаунте. В id
может быть передан любой из идентификаторов, принадлежащих аккаунту.
external_id
= ExternalAccount.external_id
- внешний идентификатор в системе external_billing_account_id
- ExternalAccount.external_billing_account_id
- внешний идентификатор счета в системе (релевантно для ВК и Яндекса).
Возможные статусы:
active
Активен
blocked
Заблокирован
deleted
Удален
pending
В обработке
rejected
Отклонен
blocked_by_system
Заблокирован системой
{
"code":200,
"message":"OK",
"response":
{
"status":"pending",
"id":168,
“type”: “Google Ads”
"login":"account@mail.ru",
“created_at”:"2018-06-15T13:54:22+03:00",
“external_id”: {external_id},
“external_billing_account_id”: {external_billing_account_id},
“balance”: 100.01
}
}
user/children
POST
/api/v2/user/children
Создание связи между пользователем и пользователем API. Связка позволяет выполнять операции перевода денег
Request Body
user*
int
{
"code": 200,
"message": "OK",
"response": {
"user": {
"id": 184,
"email": "user@mail.ru",
“is_active”: true
}
}
}
user/accounts/list
GET
/api/v2/user/accounts/list?type={account_alias}&id={ids}&user={id}&account=acc@gmail.com&limit={}&offset={}
Получение списка аккаунтов пользователя для заданного сервиса. Список допустимых значений для account_alias
возвращается методом /api/v2/services
Возможна фильтрация аккаунтов по id
для заданного параметра type
. В id
может быть передано несколько идентификаторов разделенных запятой, также в id
может быть передан любой из идентификаторов принадлежащих аккаунту, однако все они должны быть одинакового типа. Также в методе присутствует пагинация, по умолчанию возвращается 500 первых аккаунтов. Используйте параметр limit
для выбора количества аккаунтов (не рекомендуем отправлять более 1000) и offset
для смещения по страницам.
Например у вас 10 акков 1,2,3,4,5,6,7,8,9,10
Вы посылаете limit=3,offset=0
В ответе придут 3 акка: 1,2,3
Вы посылаете limit=3,offset=3
В ответе придут 3 акка: 4,5,6 (то есть произошло смещение на offset
))
Возможна выборка аккаунтов по полю account
.
Должен присутствовать или параметр id
или account
. Если указан id
, то account
будет проигнорирован.
Необязательный параметр user={id}
- получение списка аккаунтов дочернего пользователя
Для аккаунтов MyTarget и VK выводится accessToken
для прямого доступа к клиентским методам API MyTarget
{
"code": 200,
"message": "OK",
"response": [
{
"id": 1,
"account": "account_name1",
"comment": null,
“type”: “direct”,
“created_at”:"2018-06-15T13:54:22+03:00",
“external_id”: {external_id},
“external_billing_account_id”: {external_billing_account_id},
“balance”: 100.01
},
{
"id": 3,
"account": "account@mail.ru",
"comment": ””,
“type”: “my_target”,
“created_at”:"2018-06-15T13:54:22+03:00",
“external_id”: {external_id},
“external_billing_account_id”: {external_billing_account_id},
“balance”: 100.01
“my_target”: {
“account_id”: “account@mail.ru”, - идентификатор аккаунта в MyTarget
“accessToken”: <string>, - токен для доступа к клиентским методам API MyTarget
“expiresIn”: <timestamp>, - время деактивации токена после которого необходимо выполнить обновление для продолжения работы с API MyTarget
}
},
{
"id": 2,
"account": "account_name2",
"comment": null,
“type”: “vk”
“created_at”:"2018-06-15T13:54:22+03:00",
“external_id”: {external_id},
“external_billing_account_id”: {external_billing_account_id},
“balance”: 100.01
}
]
}
money/transfer
POST
/api/v2/money/transfer
Перевод средств со счета клиента на аккаунты в Yandex.Direct, MyTarget, Google Adwords, VK. Обратите внимание на то, что в запросе присутствуют необязательный параметр “type
” он означает тип средств отправляемых в сеть (для некоторых сетей доступен отдельный счет с типом adv
, который является рекламным - с него можно перевести деньги исключительно в данную сеть, получить информацию о статусе данных счетов можно в методе GET api/v2/user/balance/detailed
), если параметр type
НЕ передан, то по умолчанию передается type:normal
- средства будут списываться с обычного счета пользователя. В качестве параметра "service
" передается alias
данного сервиса - информацию о сервисах можно получить в GET api/v2/services
. В ответ на /transfer
/transfer internal
и exchange
приходят статусы "accepted
" ВСЕГДА, либо код ошибки из начала документа, это означает что транзакция принята сервисом Zaleycash и далее ее статус можно узнать запросив GET /api/v2/money/transaction?operation_id={string}
. Это связано с тем, что не все транзакции обрабатываются здесь и сейчас, а попадают в очередь.
NB! Для некоторых площадок существуют лимиты минимально переводимых сумм
Request Body
service*
String
account_id*
int
amount*
int
operation_id*
String
type
String
{
"code": 200,
"message": "OK",
"response": {
"transaction": "accepted",
"operation_id": "extid_123",
"external_id":"external_id",
"external_billing_account_id":"external_billing_account_id”
}
}
money/transfer/internal
POST
/api/v2/money/transfer/internal
Перевод средств со счета пользователя на счет пользователя .Параметр currency
используется для внутренних переводов
Request Body
user_id*
int
currency*
String
amount*
int
operation_id*
String
{
"code": 200,
"message": "OK",
"response":
{
"transaction": "accepted",
"operation_id": "extid_123"
}
}
money/currencies
GET
/api/v2/money/currencies
Возврат список возможных валют, курс валют в системе и значение комиссии за обмен валют на момент запроса.
{
"code": 200,
"message": "OK",
"response": {
“comission_rate”: 0.025
"currencies": [
{
“currency”:”RUB”
“rate”: {
USD: 0.014
/*...*/
},
{
“currency”:”USD”
“rate”: {
RUB: 72.34
/*...*/
},
/*...*/
]
}
}
money/exchange?user={id}
POST
/api/v2/money/exchange?user={id}
Создание операции обмена валюты на пользователе. В ответ придет 3 операции с разными id - списание, начисление, комиссия
Request Body
from_currency*
String
to_currency*
String
amount*
int
{
"code": 200,
"message": "OK",
"response": {
"user": {
"id": {id},
"email": "user@mail.ru",
“is_active”: true
},
"transactions": [
{
"operation_id": "{string}",
"type": "exchange",
“currency”:”USD”,
"amount": 1000,
"created_at": "2018-06-15T13:54:22+03:00",
"status": "accepted",
"direction": "out",
“rate”: 74.32,
“comission_rate”: 0.025
},
{
"operation_id": "{string}",
"type": "exchange",
“currency”:”RUB”
"amount": 74320,
"created_at": "2018-06-15T13:54:22+03:00",
"status": "accepted",
"direction": "in",
“rate”: 74.32
“comission_rate”: 0.025
}
{
"operation_id": "{string}",
"type": "comission",
“currency”:”RUB”
"amount": 1858,
"created_at": "2018-06-15T13:54:22+03:00",
"status": "accepted",
"direction": "out",
“rate”: 74.32
“comission_rate”: 0.025
}
]
}
}
money/refund
POST
/api/v2/money/refund
Возврат средств со счета клиента с аккаунтов в рекламных сетях
Request Body
service*
String
account_id*
int
amount*
String
operation_id*
int
{
"code": 200,
"message": "OK",
"response": {
"transaction": "approved",
"operation_id": "extid_123"
}
}
money/transaction?operation_id={string}
GET
/api/v2/money/transaction?operation_id={string}
Получение статуса транзакций с номером операции operation_id
. Типы транзакций в ответе:
non_cash
- безналичный перевод
direct
- перевод средств на аккаунт в Yandex.Direct
internal_transfer
- перевод дочернему пользователю
Поле direction
- направление движения средств: in - пополнение, out - списание
Поле status
- статус обработки транзакции: approved
- успешное завершение, pending
- ожидание подтверждения, blocked
- заблокировано по техническим причинам, declined
- операция отклонена.
Поле recipient
- пользователь, которому проведено начисление.
{
"code": 200,
"message": "OK",
"response": {
"transactions":[{
"operation_id":"test-243",
"type":"WRITE_OFF",
"amount":5000.0,
"created_at":"2020-09-01T01:00:00+03:00",
"status":"approved",
"direction":"out",
"user":{"id":1,"email":"email","is_active":true},
"account":{"id":3,"external_id":"external_id","external_billing_account_id":id}
}]
}
user/transactions?date_from={unix timestamp}&date_to={unix timestamp}
GET
/api/v2/user/transactions?date_from={unix timestamp}&date_to={unix timestamp}
Получение списка транзакций для пользователя API.
date_from
- с какой даты получить транзакции (Epoch timestamp)
date_to
- до какой даты получить транзакции. (Epoch timestamp)
Если параметры date_from
и date_to
не заданы, то метод вернет транзакции с начала текущего месяца.
Поле recipient
- пользователь, которому проведено начисление.
{
"code":200,
"message":"OK",
"response":{
"259":{
"operationId":12345,
"account":{"id":9,"external_id":"eaid9","external_billing_account_id":"eaid9"},
"direction":"in",
"status":"approved",
"currency":"RUB",
"sum":100.0,
"created":"2020-10-16T19:10:50.357643+03:00",
"handled":"2020-10-16T19:10:50.357657+03:00"
}
}
"189357":{
"id":189357,
"type":"event",
"direction":"in",
"status":"approved",
“currency”:”USD”,
"sum":3000,
"created":"2019-04-03T16:18:16+03:00",
"handled":"2019-03-07T16:18:17+03:00"
}
}
}
countries
GET
GET /api/v2/countries
Возврат списка алиасов стран
{
“code”: 200,
“message”: “OK”,
“response”: [
{“name”: ”Россия”,
“alpha2”: “RU”
“id”:”171”},
{“name”: “Украина”,
“alpha2”: “UA”
“id”:”217”
},
...
]
}
Last updated