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 Массив вложенных товаров для добавления в заказ с указанием их цены. Каждый товар должен быть представлен ассоциативным массивом с полями:
  • id - идентификатор вложенного товара
  • price - цена за единицу товара
  • count - количество товара
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 Символьный статус заказа:
  • wait - заказ в обработке
  • hold - холд
  • approve - заказ принят
  • cancel - заказ отменён
  • trash - треш
status Идентификатор статуса заказа. Принимает одно из следующих значений:
  • 1 – Новый заказ
  • 2 – В обработке
  • 3 – Перезвонить
  • 4 – Холд
  • 5 – Отменён
  • 6 – На упаковке
  • 7 – Отправка
  • 8 – В пути
  • 9 – Доставлен
  • 10 – Оплачен
  • 11 – Возврат
  • 12 – Удалён
reason Код причины отказа для статуса 5. Принимает одно из следующих значений:
  • 1 – Некорректный номер (треш)
  • 2 – Передумал
  • 3 – Не заказывал (треш)
  • 4 – Требует сертификат
  • 5 – Неверное ГЕО (треш)
  • 6 – Ошибки или фэйк (треш)
  • 7 – Дублированный заказ (треш)
  • 8 – Заказал в другом месте (треш)
  • 9 – Дорого
  • 10 – Не устраивает доставка
  • 11 – Не удалось дозвониться (треш)
  • 12 – Подозрения на фрод (треш)
  • 13 – Не говорит на языке колл-центра (треш)
  • 14 – Товар не подошел (треш)
  • 15 – Оффер отключен
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, // Количество товара в заказе
 }
]