2016-04-19 2 views
1

Я пытаюсь предотвратить повторное выполнение Webhooks, если они были повторно выполнены неправильно (например: когда сборки выходят, а серверы иногда выходят из системы). Я вижу на панели инструментов, что webhooks имеют уникальные идентификаторы, но они, похоже, недоступны в хеше сообщения, я что-то упускаю? Я использую Rails для чего это стоит.Recurly Webhook ID

<?xml version="1.0" encoding="UTF-8"?> 
<updated_subscription_notification> 
    <account> 
    <account_code>1</account_code> 
    <username nil="true"></username> 
    <email>[email protected]</email> 
    <first_name>Verena</first_name> 
    <last_name>Example</last_name> 
    <company_name nil="true"></company_name> 
    </account> 
    <subscription> 
    <plan> 
     <plan_code>1dpt</plan_code> 
     <name>Subscription One</name> 
    </plan> 
    <uuid>292332928954ca62fa48048be5ac98ec</uuid> 
    <state>active</state> 
    <quantity type="integer">1</quantity> 
    <total_amount_in_cents type="integer">200</total_amount_in_cents> 
    <activated_at type="datetime">2010-09-23T22:12:39Z</activated_at> 
    <canceled_at nil="true" type="datetime"></canceled_at> 
    <expires_at nil="true" type="datetime"></expires_at> 
    <current_period_started_at type="datetime">2010-09-23T22:03:30Z</current_period_started_at> 
    <current_period_ends_at type="datetime">2010-09-24T22:03:30Z</current_period_ends_at> 
    <trial_started_at nil="true" type="datetime"> 
    </trial_started_at> 
    <trial_ends_at nil="true" type="datetime"> 
    </trial_ends_at> 
    <collection_method>automatic</collection_method> 
    </subscription> 
</updated_subscription_notification> 

ответ

1

webhook может быть отставные несколько раз, однако, как только успешный код состояния принимается вашим сервером, Recurly прекратит попытки повторно отправить это уведомление. Следовательно, на каждый случай будет доставлен только один веб-чек. Кроме того, идентификаторы веб-хостов не включены в хэш сообщений, они находятся только в пользовательском интерфейсе.

1

К сожалению, единственный способ остановить webhooks от того, негодуют является ответ с кодом 200 статуса с 5 секунд. (https://docs.recurly.com/docs/webhooks)

Это было 30 секунд, но что переоделся ноября 2015 я думаю.

В любом случае я решил это, отбросив сообщение в очередь и сразу отвечая 200 ответами.

Смежные вопросы