API поставщика
Чтобы начать работу с API-интерфейсом, необходимо получить ID и ключ. Они доступны в разделе «Профиль». Далее по тексту пользовательский ID будет обозначаться {user}, а ключ доступа - {key}. Важно! В строке запроса фигурные скобки указывать не нужно!
Взаимодействие с сервисом осуществляется по протоколу HTTP. Формат запроса - чистый POST. Формат результата - JSON. Ограничений на количество запросов нет. Если вам требуется отправить запрос в виде JSON POST, не забудьте указать заголовок Content-type: application/json
Добавление заказа
URL: https://api.cpa.moe/comp/add.json?id={user}-{key}
Функция позволяет добавить новый лид от имени компании, без указания источника поступления лида. Данные нового лида передаются в POST-запросе.
На входе функция принимает следующие основные данные о лиде:
Поле | Описание |
---|---|
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 для удобства):
{ "offer": 217, "ip": "12.34.56.78", "name": "John Doe", "phone": "77000000000", "country": "kz", }
Пример создания лида с указанием массива товаров (показан в JSON для удобства):
{ "offer": 217, "ip": "12.34.56.78", "name": "Jane Doe", "phone": "79000000000", "country": "ru", "items": [ { "id": 135, "price": 9900, "count": 1 } ] }
Пример создания лида с произвольными полями (показан в JSON для удобства)
{ "offer": 217, "ip": "12.34.56.78", "name": "John", "phone": "77000000000", "country": "kz", "params": { "sirname": "Doe", "phonecc": "+7" } }
Результатом выполнения функции является ассоциативный массив:
Поле | Описание |
---|---|
status |
Результат выполнения операции: ok в случае успешного выполнения, error в случае ошибки |
id |
Идентификатор добавленного заказа (в случае успеха) |
error |
Идентификатор ошибки: nooffer при отсутствии идентификатора оффера, noid при отсутствии идентификатора заказа на стороне агентства, nophone при отсутствии номера телефона, duplicate при наличии заказа с таким же телефоном, именем и оффером в обработке, offer если не найден указанный оффер, traffic если оффер заблокирован и трафик на него запрещён, security при бане пользователя, ban при бане телефона или IP-адреса заказчика, db в случае внутренней ошибки добавления данных. |
Пример ответа функции:
{ "status": "ok", "id": 1234 }
Список заказов
URL: https://api.cpa.moe/comp/list.json?id={user}-{key}&oid=1,2,3
Функция позволяет получить список заказов. Параметры отбора могут передаваться в GET или POST-запросе.
На входе функция может использовать следующие параметры для отбора заказов:
Поле | Описание |
---|---|
oid |
Внутренний идентификатор заказа AlterCPA Moe или список идентификаторов через запятую |
ids[] |
Массив внутренних идентификатор заказа AlterCPA Moe. |
eid |
Внешний идентификатор заказа в интерфейсе поставщика или список идентификаторов через запятую |
eids[] |
Массив внешних идентификатор заказа из интерфейса поставщика. |
status |
Статус заказа:
|
from to |
Отбор заказов по времени с from до to . Время указывается в формате UNIX-timestamp. Могут использоваться как оба параметра одновременно, так и один из параметров по отдельности. Полезно для формирования выгрузки заказов в свой интерфейс, но для этой задачи рекомендуется использовать поле ниже. |
after |
Идентификатор последнего полученного заказа, после которого начинать выдачу. Полезно для выгрузки заказов в свой интерфейс - список заказов запрашивается каждый раз с указанием ID последнего полученного заказа, и в результате выводятся только новые заказы, пришедшие после указанного. |
Результатом выполнения функции является массив элементов со следующими полями:
Поле | Описание |
---|---|
id |
Идентификатор заказа в рамках AlterCPA Moe |
offer |
Идентификатор оффера |
wm |
Идентификатор вебмастера |
stage |
Символьный статус заказа для вебмастера:
|
phase |
Числовой статус заказа для вебмастера:
|
status |
Статус заказа в CRM. Принимает одно из следующих значений:
|
reason |
Код причины отказа. Принимает одно из следующих значений:
|
ip |
IP-адрес заказчика |
time |
Время получения заказа в формате UNIX-timestamp |
name |
ФИО заказчика |
gender |
Пол заказчика. 1 - мужчина, 2 - женщина. Определяется автоматически. |
phone |
Телефон заказчика в формате 79876543210 |
country |
Двухбуквенный код страны заказчика, вычисляется на основании IP-адреса |
index |
Почтовый индекс адреса доставки в формате 127000 |
addr |
Адрес доставки. Может содержать в себе полный адрес без индекса, если не используются поля ниже. В противном случае содержит только номер дома, корпуса, квартиры или офиса. |
area |
Регион доставки, например, Московская обл. |
city |
Город доставки, например Москва |
street |
Улица по адресу доставки, например ул. Мира |
count |
Количество товара. |
items |
Состав заказа, количество тех или иных вариантов товара. Массив, в котором ключ - идентификатор варианта, значение - количество товара данного вида и цена за единицу товара. |
delivery |
Идентификатор службы доставки |
discount |
Скидка на товар в процентах. |
currency |
ISO-код валюты товара |
base |
Цена за единицу товара в валюте заказа |
delpr |
Цена за доставку в валюте заказа |
more |
Сумма добавочной стоимости заказа, например, наценки за экспресс-доставку. |
price |
Общая стоимость заказа. |
comment |
Дополнительный комментарий по заказу. |
Пример ответа функции:
[ { "id": 13131, "offer": 15, "offername": "Shiny test offer", "wm": 59, "stage": "approve", "phase": 3, "status": 8, "reason": 0, "ip": "12.34.56.78", "time": 1234567890, "name": "John Doe", "gender": 0, "phone": "123456789000", "country": "ru", "index": "100000", "area": "", "city": "Moscow", "street": "Lenina street", "addr": "1", "comment": "Заберет у курьера в течение 2-5 дней", "count": 6, "items": { "12": [ 3, 665 ], "23": [ 1, 665 ], "34": [ 2, 665 ] }, "delivery": 1, "discount": 0, "currency": "rub", "base": "0.00", "more": "0.00", "delpr": "350.00", "price": "4340.00" } ]
Смена статуса заказа
URL: https://api.cpa.moe/comp/status.json?id={user}-{key}&oid=123&status=approve
Функция позволяет обновить статус существующего заказа и изменить некоторые его поля. Все параметры могут передаваться как в POST, так и в GET-части запроса. Функция оптимальна для использования в PostBack-запросах.
На входе функция получает следующие параметры:
Поле | Описание |
---|---|
oid eid |
Идентификатор заказа, над которым ведётся работа. Поле oid используется для указания внутреннего идентификатора заказа в рамках AlterCPA Moe, поле eid используется для работы с идентификатором заказа на стороне поставщика. Обязательное поле запроса. Может передаваться в GET. |
status |
Текстовое поле со статусом заказа, привязанное к параметрам st* или распознаваемое автоматически по списку:
|
sta |
Значение статуса, которое будет распознано как аппрув |
stc |
Значение статуса, которое будет распознано как отмена |
stt |
Значение статуса, которое будет распознано как треш |
sth |
Значение статуса, которое будет распознано как холд |
stw |
Значение статуса, которое будет распознано как заказ в обработке |
name |
ФИО заказчика |
phone |
Телефон заказчика в формате 79876543210 (только цифры) |
email |
Адрес электронной почты заказчика |
comment |
Дополнительный комментарий по заказу. |
country |
Двухбуквенный ISO-код страны |
currency |
Трёхбуквенный ISO-код валюты |
base |
Цена за единицу товара или стоимость конверсии в валюте заказа |
count |
Количество товара в заказе |
delpr |
Стоимость доставки товара в валюте заказа |
Обязательным являются только идентификатор заказа и статус, остальные поля используются по мере надобности. Результатом выполнения функции является ассоциативный массив:
Поле | Описание |
---|---|
status |
Результат выполнения операции: ok в случае успешного выполнения, error в случае ошибки |
error |
Идентификатор ошибки: orderid при отсутствии идентификатора заказа, edit в случае отсутствия полей для обновления (например, если информация не изменялась), access-denied при работе с недоступным заказом, request-error в случае внутренней ошибки системы. |
Пример успешного ответа функции:
{ "status" : "ok" }
Пример ответа функции при возникновении ошибки:
{ "status" : "error", "error" : "access-denied" }
Редактирование заказа
URL: https://api.cpa.moe/comp/edit.json?id={user}-{key}
Функция позволяет отредактировать поля существующего заказа, обновить его статус. Часть параметров может передаваться в GET-части запроса.
На входе функция получает следующие параметры:
Поле | Описание |
---|---|
oid eid |
Идентификатор заказа, над которым ведётся работа. Поле oid используется для указания внутреннего идентификатора заказа в рамках AlterCPA Moe, поле eid используется для работы с идентификатором заказа на стороне поставщика. Обязательное поле запроса. Может передаваться в GET. |
accept |
Флаг приёма заказа. Устанавливается в 1 если заказ в данный момент одобряется на стороне поставщика. Может передаваться в GET. |
status |
Идентификатор нового статуса заказа. Может передаваться в GET. Принимает одно из следующих значений:
reason . Важно! Для подтверждения заказа используйте поле accept=1 , а не смену статуса заказа!
|
reason |
Код причины отказа, обязателен для указания при установке статуса status=5 . Может передаваться в GET. Принимает одно из следующих значений:
|
track |
Трек-код отправленной посылки. Может передаваться в GET. |
name |
ФИО заказчика |
phone |
Телефон заказчика в формате 79876543210 (только цифры) |
email |
E-mail заказчика |
index |
Почтовый индекс адреса доставки в формате 127000 (только цифры) |
addr |
Адрес доставки. Может содержать в себе полный адрес без индекса, если не используются поля ниже. В противном случае должен содержать только номер дома, корпуса, квартиры или офиса. |
area |
Регион доставки, например, Московская обл. |
city |
Город доставки, например Москва |
street |
Улица по адресу доставки, например ул. Мира |
delivery |
Используемая идентификатор службы доставки |
base |
Стоимость единицы товара в валюте заказа |
delpr |
Стоимость доставки в валюте заказа |
discount |
Скидка на товар в процентах. Целое число от 0 до 99. |
count |
Количество товара, используется для товаров без дополнительных вариантов оформления, размера, цвета и пр. |
items |
Массив вложенных товаров заказа с указанием их цены. Каждый товар должен быть представлен ассоциативным массивом с полями:
|
more |
Сумма добавочной стоимости заказа, например, наценки за экспресс-доставку. Прибавляется к основной сумме заказа после учёта всех скидок. |
comment |
Дополнительный комментарий по заказу. |
Обязательным является только поле идентификатора заказа, остальные поля используются по мере надобности. Результатом выполнения функции является ассоциативный массив:
Поле | Описание |
---|---|
status |
Результат выполнения операции: ok в случае успешного выполнения, error в случае ошибки |
error |
Идентификатор ошибки: orderid при отсутствии идентификатора заказа, edit в случае отсутствия полей для обновления (например, если информация не изменялась), access-denied при работе с недоступным заказом, request-error в случае внутренней ошибки системы. |
Пример успешного ответа функции:
{ "status" : "ok" }
Пример ответа функции при возникновении ошибки:
{ "status" : "error", "error" : "access-denied" }
Аналитика заказов
URL: https://api.cpa.moe/comp/stats.json?id={user}-{key}&item=date
Функция предоставляет статистику по заказам, сгруппированную по выбранному параметру. Данная функция даёт подробную статистику по количеству заказов в каждом из статусов.
На входе функция получает следующие параметры:
Поле | Описание |
---|---|
item * |
Обязательный параметр. Поле, по которому производится группировка статистики:
|
from |
Дата начала статистики в формате ГГГГ-ММ-ДД . По умолчанию используется дата неделю назад. |
to |
Дата окончания статистики в формате ГГГГ-ММ-ДД . По умолчанию используется сегодняшний день. |
offer |
Фильтрация по ID оффера. |
stage |
Фильтрация по идентификатору (не названию!) стадии. |
status |
Фильтрация по статусу заказа. |
hour |
Фильтрация по часу поступления лида. |
geo |
Фильтрация по ISO-коду страны. |
Результатом выполнения функции является ассоциативный массив. Идентификатором каждого элемента служит идентификатор выбранного элемента группировки. Каждый элемент включает в себя следующие поля:
Поле | Описание |
---|---|
id |
Идентификатор элемента группировки |
name |
Название элемента группировки, если применимо |
count |
Общее количество заказов |
app |
Процент аппрува без учёта заказов в треше |
apps |
Процент аппрува с учётом заказов в треше |
cash |
Распределение количества заказов и общей суммы чека по валютам. Массив, в котором ключ - ISO-код валюты, а значение - пара [ количество лидов, сумма ]. |
status |
Распределение заказов по статусам. Массив, в котором ключ - код статуса, а значение содержит следующие поля:
|
Пример ответа функции:
{ "20190801": { "id": 20190801, // ИД элемента "name": "2019-08-01" // Название элемента "count": 24, // Количество "app": 100, // Процент аппрува "apps": 100, // Процент аппрува при учёте треша "cash": { // Распределение по валютам "usd": [ // ISO-код валюты 23, // Количество заказов 40477 // Сумма по заказам ], "rub": [ 1, 13990 ] }, "status": { // Распределение по статусам "6": { // ИД статуса "count": 24, // Количество заказов в этом статусе "cash": { // Распределение по валютам "usd": [ 23, 40477 ], "rub": [ 1, 13990 ] } } }, }, }
Добавление аудио записи звонка
URL: https://api.cpa.moe/comp/audio.json?id={user}-{key}
Чтобы прикрепить запись звонка к заказу, обязательно потребуется URL самой записи и номер телефона, на который осуществлялся звонок. Номер телефона должен совпадать с указанным в самом заказе. Крайне желательно также указывать время совершения звонка и исходящий номер звонящего, указанный у него в профиле. Конкретные ИД заказа и ИД изменения система постарается определить автоматически. Если есть возможность указать ИД заказа - будет только лучше.
Параметры могут передаваться как в GET, так и в POST.
Поле | Описание |
---|---|
phone |
Номер, указанный в карточке заказа. Обязательный параметр. |
operator |
Номер телефона оператора, указанный у него в профиле |
src mp3 ogg wav |
Ссылка на аудио-файл соответствующего формата. Если формат аудио-файла неизвестен, применяется src , в противном случае лучше указывать конкретный формат. Указание одного из этих полей является обязательным. |
time |
Время совершения вызова в формате Unix Timestamp. По умолчанию подставляется время вызова функции. |
length |
Длительность вызова в секундах. |
user |
ID пользователя, который совершил вызов. По умолчанию ID определяется по номеру оператора из параметра operator . |
order |
ID заказа, по которому был совершен вызов. По умолчанию определяется автоматически через 10-15 минут после добавления. |
call |
ID звонка, к которому прикреплён вызов. По умолчанию определяется автоматически через 10-15 минут после добавления. |
Результатом выполнения функции является ассоциативный массив:
Поле | Описание |
---|---|
status |
Результат выполнения операции: ok в случае успешного выполнения, error в случае ошибки |
id |
Идентификатор добавленного аудио-файла. |
Пример успешного ответа функции:
{ "status" : "ok", "id": 1234 }
Пример ответа функции при возникновении ошибки:
{ "status" : "error", "error" : "access-denied" }