Skip to content

Instantly share code, notes, and snippets.

@depakespedro
Last active September 15, 2017 10:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save depakespedro/3f270660fab427af1fdf8b472ad4e737 to your computer and use it in GitHub Desktop.
Save depakespedro/3f270660fab427af1fdf8b472ad4e737 to your computer and use it in GitHub Desktop.
API for crm.callcpa.ru
------------------------- Работа с заказами:
1) POST запрос на урл: https://api.callcpa.ru/orders?token=test
Данный метод позволяет принимать заказы от сторонних сервисов.
По токену идеи привязка к клиенту. Если вы шлете по токену test, то все заказы попадут к клиенту в нашей системе имеющего данный токен.
Для того чтобы передать в сервис crm.callcpa.ru заказ, нужно передать следующий json:
{
"id": "id в вашей системе",
"phone": "номер телефона клиента",
"name": "имя клиента",
"type_payment": "тип оплаты заказа",
"type_delivery": "способдоствки заказа",
"state": "статус заказа в нашей системе",
"price": "стоимость заказа",
"syspicious": "подозрительный",
"rpo": "трек номер заказа",
"address": "адрес отправления",
"product": [
{
"id": "id в вашей системе(необязательно)"
"title": "название продукта",
"count": "колличество",
"price": "стоимость продукта"
},
{
"id": "id в вашей системе(необязательно)"
"title": "название продукта",
"count": "колличество",
"price": "стоимость продукта"
}
],
"note": "комментарий к заказу",
"callcpa_id": "id заказа в системе callcpa",
"out_id": "промежуточный id"
}
Данный метод так же позволяет редактировать заказ.
Для того чтобы отредактировать заказ, отошлите туже-самую структуру json-а в которой укажите ваш ID в вашей системе, тогда данные обновятся или дополнятся.
Если вы хотите чтобы ваш заказ обрабатывался роботом, а не оператором, то в поле state поставьте 17 статус(state: 17). При других статусах, заказы будет адресовываться операторам.
2) GET запрос на урл: https://api.callcpa.ru/orders?token=test
Данный метод, выводит все заказы клиента к которому привзяан данный токен.
3) GET запрос на урл: https://api.callcpa.ru/orders/"ID заказа в нашей системе"?token=test
Данный метод позволяет получить информацию, только об одном заказе, по ID в нашей системе.
Заказы можно получить только те, которые принадлежат клиенту имеющему указанный токен.
------------------------- Работа с метками:
------------------------- Справочная информация:
1) Способ оплаты (type_payment):
0 => Неизвестно
1 => Наложенный
2 => Предоплата
2) Способ доставки:
1 => Почта России
2 => DPD
3 => СДЭК
4 => ТС
5 => Курьер
6 => ПВЗ
7 => Другое
8 => Курьер - Грастин
9 => ПВЗ - Грастин
3) Статусы в нашей системе:
1 => 'Новый заказ'
2 => 'Ожидает обработки'
3 => 'Взят в обработку'
4 => 'Звонок клиенту'
5 => 'Подтвержден'
6 => 'Не дозвонился'
7 => 'Номер не отвечает'
8 => 'Перезвонить'
9 => 'Заказ отменен'
10 => 'Отправлен'
11 => 'Подтвержден подозрительный'
12 => 'Отменен: фрод'
13 => 'Подтвержден. Прибыл на место вручения'
14 => 'Подтвержден. Клиент забрал заказ'
15 => 'Прибыл'
16 => 'Выкуплен'
17 => 'Возврат'
18 => 'Отменен: отказ'
19 => 'Вручение. Вручение адресату'
20 => 'Обработка. Покинуло сортировочный центр'
21 => 'Обработка. Прибыло в место вручения'
22 => 'Отменен: недозвон'
23 => 'Отменен: неформат'
24 => 'Отменен: дубликат'
25 => 'Получен'
32 => 'Возврат'
33 => 'Контроль'
34 => 'Обработка. Покинуло место приёма'
35 => 'Архив'
37 => 'Обработка. Прибыло в сортировочный центр'
38 => 'Неудачная попытка вручения. Временное отсутствие адресата'
39 => 'Передача на временное хранение. Невостребовано'
40 => '. '
41 => 'Обработка. Сортировка'
42 => 'Неудачная попытка вручения. Адресат заберет отправление сам'
43 => 'Возврат. Отказ адресата'
44 => 'Прием. Партионный'
45 => 'Обработка. Прибыло в место международного обмена'
46 => 'Таможенное оформление. Выпущено таможней'
47 => 'Экспорт международной почты.'
48 => 'Досылка почты. Засылка'
49 => 'Неудачная попытка вручения. Иная'
50 => 'Вручение. Адресату с контролем ответа'
51 => 'Вручение. Адресату почтальоном'
52 => 'Импорт международной почты.'
53 => 'Обработка. Передано почтальону'
54 => 'Возврат. Истек срок хранения'
4) Подозрительный (syspicious):
true => подозрительный
false => не подозрительный
5) Грастин (grastin):
shippingtimefrom => Начало желаемого времени доставки
shippingtimefor => Окончание желаемого времени доставки
shippingdate => Дата доставки
------------------------- Работа с POSTBACK
В настройках интеграции - CallCPA:
1) Url postback - ссылка на которую отправляются данные
2) Статусы postback - выбираете статусы при которых будет срабатывать отправка данных о заказе, у которго сменился статус
POSTBACK посылает по указанной в настйроках ссылке json с данными о заказе. Примерный вид json данных:
{
"id":"0", - id в вашей системе
"state":15, - id статуса в нашей системе
"price":"0.00", - стоимость заказа
"type_delivery":"Почта России", - способо доставки
"price_develiry":"0.00", - цена доставки
"syspicious":null, - подозрительный заказ
"rpo":"0", - трек номер
"address":"Москва ул. Ленина д. 44", - сокращенный адресс
"full_address":{ - данные о полном адрессе, если заказ проходил разбивку
},
"client":{
"name":"тест тест", - имя клиента
"phone":"9177768427" - телефон клиента
},
"product":[
{
"id":"123", - id продукта в вашей системе
"title":"название продукта", - название продукта
"count":"1", - кол-во продукта
"price":"0.00", - стоимость единицы продукта
"sum":"0.00", - общая стоимость продуктов
"delivery_price":"0.00" - стоимость доставки
}
],
"upsells":[
{
"id":"8093", - id апсела в вашей системе
"title":"CICRET BRACELET", - название апсела
"count":"2", - кол-во апсела
"price":"2210.00", - стоимость единицы апсела
"sum":"2210.00" - общая стоимость апсела
}
],
"note":"звонить после 6ти вечера", - комментарий к заказу
"callcpa_id":42342354, - id в нашей системе
"out_id":null - дополнительный внешний id заказа
}
@Torondor27
Copy link

Привет. Было бы очень удобно если бы для заказов были фильтры. Чтобы можно было достать заказы по разным параметрам, в первую очередь по статусу (статусах)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment