API вебмастера
Чтобы начать работу с API-интерфейсом, необходимо получить ID и ключ. Они доступны в разделе «Профиль». Далее по тексту пользовательский ID будет обозначаться {user}, а ключ доступа - {key}. Важно! В строке запроса фигурные скобки указывать не нужно!
Взаимодействие с сервисом осуществляется по протоколу HTTP. Формат запроса - чистый POST. Формат результата - JSON. Ограничений на количество запросов нет. Если вам требуется отправить запрос в виде JSON POST, не забудьте указать заголовок Content-type: application/json
Добавление лида
URL: https://api.cpa.moe/ext/add.json?id={user}-{key}
Функция позволяет добавить новый лид от имени агентства. Данные нового лида передаются в POST-запросе.
На входе функция принимает следующие основные данные о лиде:
| Поле | Описание |
|---|---|
id* |
Уникальный идентификатор заказа на вашей стороне (обязательный параметр). Если у вас нет такого идентификатора, просто отправьте в этом поле auto.
|
wm |
Идентификатор вебмастера или другого источника вашей стороне |
offer* |
Идентификатор оффера (обязательный параметр) |
name |
ФИО заказчика |
phone* |
Телефон заказчика в формате 79876543210 (обязательный параметр) |
email |
Электронная почта заказчика |
ip* |
IP-адрес заказчика (обязательный параметр) |
ua |
User-Agent браузера заказчика |
country |
Двухбуквенный код страны заказчика, вычисляется на основании IP-адреса |
Дополнительные параметры для создания лида:
| Поле | Описание |
|---|---|
us |
UTM-метка utm_source |
uc |
UTM-метка utm_campaign |
un |
UTM-метка utm_content |
ut |
UTM-метка utm_term |
um |
UTM-метка utm_medium |
currency |
Трёхбуквенный код валюты заказчика, например RUB или BYN, по умолчанию вычисляется на основании страны заказчика |
index |
Почтовый индекс адреса доставки в формате 127000 |
addr |
Адрес доставки. Может содержать в себе полный адрес без индекса, если не используются поля ниже. В противном случае содержит только номер дома, корпуса, квартиры или офиса. |
area |
Регион доставки, например, Московская обл. |
city |
Город доставки, например Москва |
street |
Улица по адресу доставки, например ул. Мира |
base |
Цена единицы товара в валюте заказа. |
count |
Количество товара. |
discount |
Скидка на товар в процентах. |
more |
Сумма добавочной стоимости заказа, например, наценки за экспресс-доставку. |
comm |
Дополнительный комментарий по заказу. |
item |
Идентификатор вложенного товара, который необходимо добавить в заказ. Если товаров несколько, перечисляется через запятую. |
items |
Массив вложенных товаров для добавления в заказ с указанием их цены. Каждый товар должен быть представлен ассоциативным массивом с полями:
|
params |
Ассоциативный массив со значениями произвольных полей заказа. |
Пример простого запроса на создание лида (показан в JSON для удобства):
{
"id": 112358,
"wm": 42,
"offer": 217,
"ip": "12.34.56.78",
"name": "John Doe",
"phone": "77000000000",
"country": "kz",
}
Пример создания лида с указанием массива товаров (показан в JSON для удобства):
{
"id": 112358,
"wm": 42,
"offer": 217,
"ip": "12.34.56.78",
"name": "Jane Doe",
"phone": "79000000000",
"country": "ru",
"items": [
{
"id": 135,
"price": 9900,
"count": 1
}
]
}
Пример создания лида с произвольными полями (показан в JSON для удобства)
{
"id": 112358,
"wm": 42,
"offer": 217,
"ip": "12.34.56.78",
"name": "John",
"phone": "77000000000",
"country": "kz",
"params": {
"sirname": "Doe",
"phonecc": "+7"
}
}
Результатом выполнения функции является ассоциативный массив:
| Поле | Описание |
|---|---|
status |
Результат выполнения операции: ok в случае успешного выполнения, error в случае ошибки |
uid |
Идентификатор заказа на вашей стороне. Обязательно сохраните это значение, если используете id=auto при отправке лидов. Проверка статуса производится именно по этому идентификатору! |
id |
Идентификатор добавленного заказа (в случае успеха) |
error |
Идентификатор ошибки: nooffer при отсутствии идентификатора оффера, noid при отсутствии идентификатора заказа на стороне агентства, nophone при отсутствии номера телефона, duplicate при наличии заказа с таким же телефоном, именем и оффером в обработке, offer если не найден указанный оффер, traffic если оффер заблокирован и трафик на него запрещён, security при бане пользователя, ban при бане телефона или IP-адреса заказчика, db в случае внутренней ошибки добавления данных. |
Пример ответа функции:
{ "status": "ok", "id": 1234, "uid": 45678 }
Проверка статуса лидов
URL: https://api.cpa.moe/ext/list.json?id={user}-{key}&ids=1,2,3
Функция позволяет получить информацию о статусе обработки отправленных лидов. На входе функция получает параметр ids, содержащий список идентификаторов лидов на вашей стороне. Параметр может передаваться в GET или POST-запросе. Идентификаторы указываются через запятую. Рекомендуется отправлять не более 50 идентификаторов в одном запросе.
Результатом выполнения функции является массив статусов лидов. Ключевой параметр - идентификатор заказа на стороне агентства. Для каждого лида указываются следующие параметры:
| Поле | Описание |
|---|---|
id |
Идентификатор заказа на вашей стороне |
src |
Идентификатор вебмастера (источника) на вашей стороне |
uid |
Идентификатор заказа на стороне нашей системы |
stage |
Символьный статус заказа:
|
status |
Идентификатор статуса заказа. Принимает одно из следующих значений:
|
reason |
Код причины отказа для статуса 5. Принимает одно из следующих значений:
|
count |
Количество проданных единиц товара |
comment |
Текстовый комментарий к заказу (при наличии) |
Пример ответа функции:
[
1234 : {
"id": 1234, // ID заказа на стороне агентства
"uid": 432, // ID заказа на стороне нашей системы
"status": 5, // Код статуса заказа
"reason": 2, // Код причины отказа
"comment: "Мур-мур-мур-мур", // Комментарий по заказу
},
2345 : {
"id": 2345, // ID заказа на стороне агентства
"uid": 543, // ID заказа на стороне нашей системы
"status": 6, // Код статуса заказа
"count: 2, // Количество товара в заказе
}
]