Is your language English?
Yes

Документация разработчика

Webhook — механизм получения уведомлений об определённых событиях на свой сервер.

Список возможных событий

  • Новая заявка
  • Новая оплата

Как использовать Webhook

Для того чтобы начать использовать технологию webhook, вам необходимо подключить модуль "Webhooks", выбрать необходимые события и указать соответствующие URL (ссылки) на которые мы будем уведомлять вас о событиях.

Мы отправляем запросы HTTP-методом POST. Все запросы сопровождаются подписью, что позволяет проверить запрос и убедиться, что данные посылаем именно мы. Подпись передается через заголовки HTTP запроса с именем taplink-signature.

Пример кода если в настройках выбран формат данных JSON:

$data = file_get_contents('php://input');
$_POST = json_decode($data, true);

$signature = hash_hmac('sha1', $data, 'СЕКРЕТНАЯ ФРАЗА');
if ($signature == $_SERVER['HTTP_TAPLINK_SIGNATURE']) 
{
   ...
}

Пример кода если в настройках выбран формат данных Form (Deprecated):

$signature = hash_hmac('sha1', json_encode($_POST, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES), 'СЕКРЕТНАЯ ФРАЗА');
if ($signature == $_SERVER['HTTP_TAPLINK_SIGNATURE']) 
{
   ...
}

ФОРМАТ ДАННЫХ

profile_idID профиля
usernameИмя пользователя
nameИмя контакта
emailEmail контакта
phoneТелефон контакта
status_idстатус заявки (1 - новая, 2 - в работе, 3 - выполнена, 4 - Отмена)
contact_idID контакта
block_idID блока (если это форма, если это магазин - то null)
order_idID счета
order_numberНомер счета в системе клиента
order_status_idСтатус счета (1 - не оплачен, 2 - оплачен, 3- отменен, 4 - в процессе, 5 - возврат, 6 - преавторизация (нужно подтверждение в ЛК) )
purposeНазначение платежа
tms_modifyДата/время последнего изменения счета
budgetБюджет счета
currency_codeКод валюты счета
currency_titleВалюта счета (знак)
page_linkСсылка на страницу где был сформирована заявка
lead_idID заявки
ipIP адрес клиента
lead_numberНомер заявки в системе клиента
tms_createdДата/время создания заявки 
recordsПользовательские поля формы заявки, состоит из заголовка поля (title), значения поля (value) и типа поля (type)
records_extendedДополнительные поля, состоит из имени поля (name), типа поля (type) и значения поля (value).
offersТовары в корзине
discountsПромокоды и акции
shippingДанные доставки, массив из полей: price, country, state, city, addr1, shipping_method. Набор полей зависит от метода доставки.

Типы полей формы заявок

1Строка
3Имя
5Текстовое поле
6Email
7Телефон
8Список
9Выбор
10Галочка
11Страна
12Число
13Дата
14Время

Дополнительные поля

ИМЯТИПОПИСАНИЕ
lead_numbernumberНомер заявки
budgetnumberСтоимость к оплате если указана цена
order_linkstringСсылка на оплату счета
order_numbernumberНомер счета
page_linkstringСсылка на страницу с которой поступила заявка

Дополнительные поля для магазина

ИМЯТИПОПИСАНИЕ
lead_numbernumberНомер заявки
contactstextКонтакты заявки одним текстом
carttextКорзина заказа одним текстом
budgetnumberСтоимость заказа
shippingtextИнформация о доставке одним текстом
shipping_pricenumberСтоимость доставки
order_linkstringСсылка на оплату счета
order_numbernumberНомер счета
weightnumberВес заказа
page_linkstringСсылка на каталог
discountsstringИспользованные скидки одним текстом

Типы дополнительных полей

stringСтрока
numberЧисло
textМногостраничный текст

Пример JSON-документа

{  
   "action":"leads.created",
   "data":{  
      "profile_id":"56",
      "username":"taplink.ru",
      "contact_id":"0",
      "block_id":"0",
      "page_link":"https://taplink.cc/taplink.ru",
      "lead_id":"0",
      "ip":"201.195.126.8",
      "lead_number":"0",
      "date_created":"2017-10-18",
      "tms_created":"2017-10-18 12:00:52",
      "records":[  
         {  
            "value":"Василий",
            "type":"3",
            "title":"Имя"
         },
         {  
            "value":"[email protected]",
            "type":"6",
            "title":"Email"
         }
      ],
      "name":"",
      "email":"",
      "phone":""
   }
}

Ожидаемый ответ

При отправке запроса информация считается принятой, если в заголовке http ответа будет возвращён код от 100 до 299, согласно таблице кодов статусов w3.org.

Первая попытка отправки происходит сразу после совершения выбранного действия. В случае, когда попытка неудачна, произойдёт повторная отправка по правилам, представленным в таблице ниже.

Номер попыткиВремя, прошедшее с предыдущей попытки
15 минут
215 минут
315 минут
41 час
51 час
62 часа
72 часа
84 часа

После этого запрос будет удалён из очереди, даже если доставка так и не состоялась.