Webhooks API
Webhooks — это инструмент для мгновенного получение информации от API Reestr на стороне Вашего приложения.

С его помощью Вы можете реализовать:
  • Систему автоматического скачивания готовых заказов.
  • Подписку на изменение кадастровой стоимости объекта (в разработке) и т.д.
Чтобы начать использовать Webhooks, подключите свой сервер в настройках ключа доступа ("Личный кабинет" → "Настройки API" → "Ключ доступа" → "Настройки Webhooks").

Когда Ваш заказ будет готов, Reestr отправит на Ваш сервер запрос с данными в формате JSON с основной информацией о данном заказе.
В ответ на каждое уведомление Ваш сервер должен вернуть строку "OK".
Благодаря Webhooks API Вам не придётся регулярно повторять запросы к API, чтобы отслеживать обновления, т.к. Вы будете получать их мгновенно.
Подключение Webhooks к ключу доступа
Для подключения Webhooks нужно открыть раздел «Настройки API» и выбрать необходимый ключ доступа. Далее необходимо указать и подтвердить конечный адрес сервера, куда будут направлены все запросы. После указания адреса сервера и нажатия на кнопку "подтвердить" на указанный Вами адрес отправится запрос с уведомлением типа "confirm". Ваш сервер должен вернуть заданную строку.

Например, Вы добавили адрес https://example.com/callback/Ujfm3s в настройки Webhooks, наш сервер отправит на данный адрес POST-запрос, содержащий JSON:
{"type":"confirm","object":"token","object_id":"3-56701-0674a80-9717ac10d8ac48-19797ac10d2ac-70a80"}
Строка, которую должен вернуть Ваш сервер:
873fd5a562
После подтверждения адреса в личном кабинете появится уведомление об успешной интеграции.
Если Вы захотите поменять URL адрес для получения, Webhooks, то каждый раз Вам придётся проделывать данную процедуру.
Обратите внимание:
Ваш сервер должен возвращать строку "OK" и статус HTTP 200. Если сервер несколько раз подряд вернет ошибку, Webhooks API временно перестанет отправлять на него уведомления.
Для защиты от нежелательных и мошеннеческих запросов на Ваш URL адрес, Вы можете указать в настройках Секретный ключ. Секретный ключ - это произвольная строка, которая будет передаваться во всех Webhooks-уведомлениях на Ваш сервер в поле secret_key. Тем самым, Вы всегда можете быть уверены в том, что запрос пришёл от сервера Reestr.
Формат данных
Когда происходит событие, Вы получаете данные в JSON, имеющем следующую структуру:
{"type": <тип события>, "object": <объект, инициировавший событие (номер заказа, либо кадастрового номера)>, "object_id": <ID объекта>, "secret_key": <Секретный ключ, если установлен>}
Типы событий
Различать события можно по параметру type:
  • payment - уведомление о поступлении платежа. В параметре object_id будет передан ID заказа.
  • service_done - уведомление об окончании обработки услугии. ID услуги (service) передаётся в параметре object, ID заказа в параметре object_id.
Пример использования
В данном примере PHP скрипт обрабатывает уведомление о готовности заказа и далее получет подробную информацию о нём.
<?php

if (!isset($_REQUEST)) {
return;
}

//Строка для подтверждения адреса сервера из настроек Webhooks
$confirm_token = '873fd5a562';

// Секретный ключ из настроек Webhooks
$secret_key = 'eaa4-1e8485fb21-2117d474';

//Ключ доступа
$access_token = '47a59bc-6d272a0e620f6-c25ceab910e14-610f1-10f1-f6d';

//Получаем и декодируем уведомление
$resp = json_decode(file_get_contents('php://input'));


//Если это уведомление для подтверждения адреса...
if($resp->type == "confirm"){
//...отправляем строку для подтверждения
echo $confirm_token;
}

// Если параметр secret_key отсутствует или неверный
if (empty($resp->secret_key) || $resp->secret_key != $secret_key) {
return;
}

//Проверяем, что находится в поле "type"
switch ($resp->type) {

//Если это уведомление о готовности заказа...
case 'service_done':
//...получаем его ID
$order_id = $resp->object_id;

//затем с помощью order.get получаем данные о заказе
$data = json_decode(file_get_contents("https://reestr.net/api/method/order.get?id={$order_id}&access_token={$access_token}&v=1.0"));

//Возвращаем "OK" серверу Webhooks API
echo 'OK';
break;
}
?>
Рекомендации, которые могут Вам помочь найти любой, даже самый сложный объект:
  • если Вы ищете дачный участок, то введите его наименование в окне "улица" не используя кавычек (например, Рыбачий-12);
  • номер участка СНТ вставляйте в окно "квартира" или "корпус";
  • сделайте поиск более обширным: сам населённый пункт не стоит указывать;
  • внесите информацию об улице, номере дома, корпуса и квартиры (если есть);
  • не используйте букву "Ё". Вместо неё попробуйте написать букву "Е";
  • в сложных названиях, особенно когда улица названа в честь кого-то, используйте ключевые слова, например: улица Фридриха Энгельса - напечатайте просто Фридриха.

Вернуться к поиску >