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, // Количество товара в заказе } ]