Если вы хотите использовать вебхук, вам необходимо:
При попадании задачи во входящие боту Pyrus отправит обработчику HTTPS запрос методом POST. На запрос ваш бот должен ответить статусом 2xx в течение 60 секунд после вызова. Если вам необходимо добавить комментарий в задачу, вы можете указать его в теле ответа. Формат комментария описан в запросе POST /tasks/{task-id}/comments.
Пример запроса:
{ event: "comment", access_token: "Dfpb1we4...", task_id: 1532, user_id: 1725, "task": { "text": "Budget approval", "id": 11611, "create_date": "2017-08-17T15:32:11Z", "last_modified_date": "2017-08-17T15:32:11Z", "author": { "id": 1731, "first_name": "Bob", "last_name": "Smith", "email": "Bob.Smith@gmail.com" }, "responsible": { "id": 1245, "first_name": "my bot", "last_name": "", "email": bot@4e83a7da-3ba1-4a16-a1d8-21bbd1ad9592 }, "participants": [ { "id": 1245, "first_name": "my bot", "last_name": "", "email": bot@4e83a7da-3ba1-4a16-a1d8-21bbd1ad9592 }, { "id": 1731, "first_name": "Bob", "last_name": "Smith", "email": "Bob.Smith@gmail.com" } ], "comments": [ { "id": 13767, "create_date": "2017-08-17T15:32:11Z", "text": "Budget approval", "author": { "id": 1731, "first_name": "Bob", "last_name": "Smith", "email": "Bob.Smith@gmail.com" }, "reassigned_to": { "id": 1245, "first_name": "my bot", "last_name": "", "email": bot@4e83a7da-3ba1-4a16-a1d8-21bbd1ad9592 }, "participants_added": [ { "id": 1245, "first_name": "my bot", "last_name": "", "email": bot@4e83a7da-3ba1-4a16-a1d8-21bbd1ad9592 }, { "id": 1731, "first_name": "Bob", "last_name": "Smith", "email": "Bob.Smith@gmail.com" } ] } ] } }
Если сервер бота недоступен или отвечает статусом отличным от 2хх, Pyrus отправит второй запрос через 61 секунду, а затем третий — через 122 секунды. Номер попытки виден в дополнительном заголовке X-Pyrus-Retry запроса. Если за три попытки связаться не удалось, Pyrus отправит новый запрос в следующий раз, когда кто-то прокомментирует задачу.
Заголовки запроса:
git clone https://github.com/simplygoodsoftware/heroku-python-bot.git cd heroku-python-bot
{ "SECRET_KEY": "Bot-Secret-Key" }
heroku create git add . git commit -m "replaced SECRET_KEY in config.json" git push heroku master heroku ps:scale web=1
Hello, {user_name}! You said "{comment_text}".