[{"data":1,"prerenderedAt":218},["ShallowReactive",2],{"navigation_docs":3,"-webhooks-reliability":81},[4,35,53,71],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":34},"Начало работы","i-lucide-rocket","\u002Fgetting-started","1.getting-started",[10,14,18,22,26,30],{"title":11,"path":12,"stem":13},"Введение","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction",{"title":15,"path":16,"stem":17},"Ключ API","\u002Fgetting-started\u002Fapi-key","1.getting-started\u002F2.api-key",{"title":19,"path":20,"stem":21},"Аутентификация","\u002Fgetting-started\u002Fauthentication","1.getting-started\u002F3.authentication",{"title":23,"path":24,"stem":25},"Ошибки","\u002Fgetting-started\u002Ferrors","1.getting-started\u002F4.errors",{"title":27,"path":28,"stem":29},"Пагинация","\u002Fgetting-started\u002Fpagination","1.getting-started\u002F5.pagination",{"title":31,"path":32,"stem":33},"Сценарий записи","\u002Fgetting-started\u002Fbooking-flow","1.getting-started\u002F6.booking-flow",false,{"title":36,"icon":37,"path":38,"stem":39,"children":40,"page":34},"Вебхуки","i-lucide-webhook","\u002Fwebhooks","2.webhooks",[41,45,49],{"title":42,"path":43,"stem":44},"Обзор","\u002Fwebhooks\u002Foverview","2.webhooks\u002F1.overview",{"title":46,"path":47,"stem":48},"Payload","\u002Fwebhooks\u002Fpayload","2.webhooks\u002F2.payload",{"title":50,"path":51,"stem":52},"Надёжность доставки","\u002Fwebhooks\u002Freliability","2.webhooks\u002F3.reliability",{"title":54,"icon":55,"path":56,"stem":57,"children":58,"page":34},"Виджет","i-lucide-panel-top","\u002Fwidget","3.widget",[59,63,67],{"title":60,"path":61,"stem":62},"Установка","\u002Fwidget\u002Finstallation","3.widget\u002F1.installation",{"title":64,"path":65,"stem":66},"Загрузчик","\u002Fwidget\u002Floader","3.widget\u002F2.loader",{"title":68,"path":69,"stem":70},"Настройка и устранение неполадок","\u002Fwidget\u002Ftroubleshooting","3.widget\u002F3.troubleshooting",{"title":72,"icon":73,"path":74,"stem":75,"children":76,"page":34},"API reference","i-lucide-braces","\u002Freference","4.reference",[77],{"title":78,"path":79,"stem":80,"to":74},"Открыть reference","\u002Freference\u002Fapi","4.reference\u002F1.api",{"id":82,"title":50,"body":83,"description":210,"extension":211,"links":212,"meta":213,"navigation":215,"path":51,"seo":216,"stem":52,"__hash__":217},"docs\u002F2.webhooks\u002F3.reliability.md",{"type":84,"value":85,"toc":200},"minimark",[86,91,108,112,131,138,142,145,149,175,179,182,186],[87,88,90],"h2",{"id":89},"какая-доставка-считается-успешной","Какая доставка считается успешной",[92,93,94,95,99,100,103,104,107],"p",{},"Доставка считается успешной, если ответ с кодом из списка ",[96,97,98],"code",{},"success_statuses"," вебхука (по умолчанию ",[96,101,102],{},"200",") получен до истечения ",[96,105,106],{},"timeout"," (по умолчанию 10 секунд). Тело ответа не анализируется. Отвечайте на запрос сразу, а ресурсоёмкую обработку выполняйте после отправки ответа.",[87,109,111],{"id":110},"повторные-попытки","Повторные попытки",[92,113,114,115,118,119,122,123,126,127,130],{},"При получении кода ошибки в ответе BookNow повторяет запрос до ",[96,116,117],{},"tries"," раз (по умолчанию 5). Когда попытки исчерпаны, вебхук переходит в статус ",[96,120,121],{},"auto_disabled"," и больше не отправляется. Если в настройках включено ",[96,124,125],{},"send_notification",", на адреса из ",[96,128,129],{},"emails"," отправляется письмо об отключении.",[92,132,133,134,137],{},"Повторно включить вебхук можно в панели или запросом ",[96,135,136],{},"POST \u002Fwebhooks\u002F{id}\u002Fenable",". События, пропущенные за время отключения, автоматически не отправляются: их можно отправить повторно из истории в панели.",[87,139,141],{"id":140},"история-и-повторная-отправка","История и повторная отправка",[92,143,144],{},"Панель хранит журнал доставок: запрос, ответ, код, число попыток. Любую доставку из журнала можно отправить повторно. Журнал хранится ограниченное время: подробные записи 7 дней, сводные 30.",[87,146,148],{"id":147},"обработка-дубликатов","Обработка дубликатов",[92,150,151,152,155,156,159,160,163,164,155,167,170,171,174],{},"Одно действие может привести к нескольким доставкам: при переносе записи отправляются ",[96,153,154],{},"booking-updated"," и ",[96,157,158],{},"booking-rescheduled",", а повторная отправка из панели дублирует уже полученный запрос. Обработчик должен быть идемпотентным: в качестве ключа используйте ",[96,161,162],{},"uid"," записи вместе с ",[96,165,166],{},"booking_status",[96,168,169],{},"booking_date_start",". Для ",[96,172,173],{},"goods-sold"," тело может быть пустым массивом, такие доставки пропускайте.",[87,176,178],{"id":177},"порядок-доставки","Порядок доставки",[92,180,181],{},"Порядок доставок не гарантирован: события отправляются через очередь, поэтому повторные попытки могут увеличивать время доставки. Ориентируйтесь на значения полей, а не на порядок получения.",[87,183,185],{"id":184},"сетевые-требования","Сетевые требования",[92,187,188,189,191,192,195,196,199],{},"Адрес вебхука должен быть доступен из интернета по HTTPS или HTTP и отвечать за время меньше ",[96,190,106],{},". Запросы отправляются с заголовком ",[96,193,194],{},"User-Agent: GuzzleHttp\u002F7","; дополнительные заголовки для авторизации задаются в настройках вебхука (",[96,197,198],{},"headers",").",{"title":201,"searchDepth":202,"depth":202,"links":203},"",2,[204,205,206,207,208,209],{"id":89,"depth":202,"text":90},{"id":110,"depth":202,"text":111},{"id":140,"depth":202,"text":141},{"id":147,"depth":202,"text":148},{"id":177,"depth":202,"text":178},{"id":184,"depth":202,"text":185},"Повторные попытки, таймаут, автоматическое отключение вебхука, повторная отправка и обработка дубликатов на вашей стороне.","md",null,{"related":214},[43,47],true,{"title":50,"description":210},"TttRCiKBwL_fkCMsVRgUvYkMXSB2XCLMoTHFHN2Y2mM",1790506051432]