PATCH/v1/webhooks/{webhook_id}
Ажурирање вебхука
update_webhook
Мења URL, опис, претплате, приступ, филтере, прилагођена заглавља, ауторизацију одлазних захтева и стање укључености. active: true укључује вебхук и укида паузу, па нагомилане испоруке одлазе по реду. active: false искључује вебхук и отказује испоруке на чекању. headers замењује целу листу прилагођених заглавља; ставка без value задржава претходну вредност заглавља са истим називом. auth: null и data_profile_id: null уклањају ауторизацију одлазних захтева и профил приступа.
Аутентификација
Пошаљите API кључ у заглављу Authorization: Authorization: Bearer <кључ>.
Параметри путање
webhook_idintegerобавезно
Параметри заглавља
Idempotency-KeystringКључ за безбедан поновни покушај уписа: од 1 до 255 штампаних ASCII знакова; препоручује се UUID v4 за сваку логичку операцију. Поновни покушај са истим кључем у року од 24 сата не извршава операцију поново: враћа сачувани одговор (статус, заглавља и тело) са заглављем
Idempotency-Replayed: true. Исти кључ са другим методом, путањом,Content-Typeили телом враћа409 api.idempotency_mismatch; док се први захтев још извршава –409 api.idempotency_in_progressсаRetry-After: 1. После одговора 5xx или 429 кључ се ослобађа и поновни покушај поново извршава операцију. Кључ важи у оквиру организације и позиваоца (API кључ, корисник или кључ сопственог извора).length ≥ 1, length ≤ 255
Тело захтева
application/json
urlstring | nulllength ≤ 2048
descriptionstring | nulllength ≤ 200
eventsarray of WebhookEventFilter | nullitems ≥ 1
activeboolean | nullrolestring | nullДозвољене вредности:
admineditorviewernulldata_profile_idinteger | nullnullуклања профил приступа.collection_idsarray of integer | nullКолекције вебхука. Празна листа значи све колекције доступне улози и профилу приступа; изостанак вредности или
nullих оставља непромењеним. Кључ који је и сам ограничен на колекције види и мења само вебхукове чије су колекције у његовој листи (остали вебхукови враћају404 webhooks.not_found). Празна листа или колекција ван његове листе враћа403 webhooks.collections_outside_key.items ≤ 200
tagsarray of string | nullitems ≤ 50
payloadstring | nullДозвољене вредности:
fullthinnullheadersarray of WebhookHeaderInput | nullitems ≤ 10
authWebhookAuthInput | nullnullуклања ауторизацију одлазних захтева.
Одговори
200Успешан одговор
Заглавља одговора
RateLimit-PolicyОграничења која важе, у формату IETF нацрта
draft-ietf-httpapi-ratelimit-headers: ставке раздвојене зарезима"<name>";q=<quota>;w=<window in seconds>.keyје учесталост захтева API кључа (квота је налет, прозор је време за потпуно обнављање; за сесију то јеuser, без акредитива –ip);minute,dayиmonthсу квоте организације за календарски минут, дан и месец по UTC.RateLimitКолико је преостало од сваког ограничења из
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitОграничење најстроже ставке у
RateLimit-Policy(оне са најмање преосталих захтева).X-RateLimit-RemainingБрој преосталих захтева по најстрожем ограничењу.
X-RateLimit-ResetБрој секунди до ресетовања најстрожег ограничења.
Idempotency-Replayedtrueзначи да је одговор поново послат из одговора сачуваног за овајIdempotency-Key: операција није поново извршена.
application/json
idintegerобавезноurlstringобавезноdescriptionstringобавезноactivebooleanобавезноpaused_atstring (date-time) | nullpaused_reasonstring | nullfailures: 10 неуспелих покушаја заредом;feature_disabled: план не обухвата вебхукове.disabled_reasonstring | nullgone: прималац је одговорио са 410;manual: искључио га је администратор.Дозвољене вредности:
gonemanualnulldisabled_atstring (date-time) | nulldata_profile_idinteger | nullПрофил приступа вебхука (
nullзначи без профила, као за API кључ са истом улогом).collection_idsarray of integerобавезноКолекције о којима вебхук прима догађаје; празно значи све колекције доступне улози и профилу приступа.
tagsarray of stringобавезноДогађаји картица само за картице са било којом од ових ознака; празно значи без филтера.
auth_typestring | nullТип ауторизације одлазних захтева (
nullзначи без ауторизације).Дозвољене вредности:
bearerbasicnullauth_setbooleanобавезноДа ли је ауторизација одлазних захтева подешена (вредности се никада не враћају).
previous_secret_valid_untilstring (date-time) | nullДо када се испоруке потписују и претходном тајном (
nullзначи да нема преклапања).healthWebhookHealthconsecutive_failuresintegerобавезноlast_delivery_atstring (date-time) | nulllast_success_atstring (date-time) | nulllast_errorstring | nullcreated_byinteger | nullcreated_by_namestring | nullcreated_atstring (date-time)обавезноupdated_atstring (date-time)обавезно
400Захтев није исправан: вредност параметра или стање објекта не дозвољава радњу (`detail` је порука).
Заглавља одговора
RateLimit-PolicyОграничења која важе, у формату IETF нацрта
draft-ietf-httpapi-ratelimit-headers: ставке раздвојене зарезима"<name>";q=<quota>;w=<window in seconds>.keyје учесталост захтева API кључа (квота је налет, прозор је време за потпуно обнављање; за сесију то јеuser, без акредитива –ip);minute,dayиmonthсу квоте организације за календарски минут, дан и месец по UTC.RateLimitКолико је преостало од сваког ограничења из
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitОграничење најстроже ставке у
RateLimit-Policy(оне са најмање преосталих захтева).X-RateLimit-RemainingБрој преосталих захтева по најстрожем ограничењу.
X-RateLimit-ResetБрој секунди до ресетовања најстрожег ограничења.
application/json
401Акредитиви нису послати (ни колачић сесије ни API кључ) или кључ није пронађен.
Заглавља одговора
RateLimit-PolicyОграничења која важе, у формату IETF нацрта
draft-ietf-httpapi-ratelimit-headers: ставке раздвојене зарезима"<name>";q=<quota>;w=<window in seconds>.keyје учесталост захтева API кључа (квота је налет, прозор је време за потпуно обнављање; за сесију то јеuser, без акредитива –ip);minute,dayиmonthсу квоте организације за календарски минут, дан и месец по UTC.RateLimitКолико је преостало од сваког ограничења из
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitОграничење најстроже ставке у
RateLimit-Policy(оне са најмање преосталих захтева).X-RateLimit-RemainingБрој преосталих захтева по најстрожем ограничењу.
X-RateLimit-ResetБрој секунди до ресетовања најстрожег ограничења.
application/json
403Радња није дозвољена: улога није довољна, нема приступа колекцији или картици, захтев се извршава у режиму „View as“ или је организација суспендована или обрисана (`detail` је објекат са `code: org_suspended | org_deleted`).
Заглавља одговора
RateLimit-PolicyОграничења која важе, у формату IETF нацрта
draft-ietf-httpapi-ratelimit-headers: ставке раздвојене зарезима"<name>";q=<quota>;w=<window in seconds>.keyје учесталост захтева API кључа (квота је налет, прозор је време за потпуно обнављање; за сесију то јеuser, без акредитива –ip);minute,dayиmonthсу квоте организације за календарски минут, дан и месец по UTC.RateLimitКолико је преостало од сваког ограничења из
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitОграничење најстроже ставке у
RateLimit-Policy(оне са најмање преосталих захтева).X-RateLimit-RemainingБрој преосталих захтева по најстрожем ограничењу.
X-RateLimit-ResetБрој секунди до ресетовања најстрожег ограничења.
application/json
404Објекат не постоји или вам није доступан. API не потврђује да објекат са ограниченим приступом постоји.
Заглавља одговора
RateLimit-PolicyОграничења која важе, у формату IETF нацрта
draft-ietf-httpapi-ratelimit-headers: ставке раздвојене зарезима"<name>";q=<quota>;w=<window in seconds>.keyје учесталост захтева API кључа (квота је налет, прозор је време за потпуно обнављање; за сесију то јеuser, без акредитива –ip);minute,dayиmonthсу квоте организације за календарски минут, дан и месец по UTC.RateLimitКолико је преостало од сваког ограничења из
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitОграничење најстроже ставке у
RateLimit-Policy(оне са најмање преосталих захтева).X-RateLimit-RemainingБрој преосталих захтева по најстрожем ограничењу.
X-RateLimit-ResetБрој секунди до ресетовања најстрожег ограничења.
application/json
422Грешка валидације: тело или параметри не одговарају шеми (`detail` је листа грешака валидације) или је вредност параметра ван дозвољеног распона (`detail` је порука).
Заглавља одговора
RateLimit-PolicyОграничења која важе, у формату IETF нацрта
draft-ietf-httpapi-ratelimit-headers: ставке раздвојене зарезима"<name>";q=<quota>;w=<window in seconds>.keyје учесталост захтева API кључа (квота је налет, прозор је време за потпуно обнављање; за сесију то јеuser, без акредитива –ip);minute,dayиmonthсу квоте организације за календарски минут, дан и месец по UTC.RateLimitКолико је преостало од сваког ограничења из
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitОграничење најстроже ставке у
RateLimit-Policy(оне са најмање преосталих захтева).X-RateLimit-RemainingБрој преосталих захтева по најстрожем ограничењу.
X-RateLimit-ResetБрој секунди до ресетовања најстрожег ограничења.
application/json
429Превише захтева (`api.rate_limited`), квота организације за минут, дан или месец је потрошена (`api.quota_exceeded`; `error.details` садржи `quota`, `limit` и `reset_at`), достигнуто је ограничење организације или је сервис за одговоре заузет (`answers.engine_busy`). Сачекајте време наведено у заглављу `Retry-After`.
Заглавља одговора
Retry-AfterБрој секунди које треба сачекати пре поновног покушаја захтева.
RateLimit-PolicyОграничења која важе, у формату IETF нацрта
draft-ietf-httpapi-ratelimit-headers: ставке раздвојене зарезима"<name>";q=<quota>;w=<window in seconds>.keyје учесталост захтева API кључа (квота је налет, прозор је време за потпуно обнављање; за сесију то јеuser, без акредитива –ip);minute,dayиmonthсу квоте организације за календарски минут, дан и месец по UTC.RateLimitКолико је преостало од сваког ограничења из
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitОграничење најстроже ставке у
RateLimit-Policy(оне са најмање преосталих захтева).X-RateLimit-RemainingБрој преосталих захтева по најстрожем ограничењу.
X-RateLimit-ResetБрој секунди до ресетовања најстрожег ограничења.
application/json
Кодови грешака
Кодови које ова операција може да врати у error.code, поред општих кодова сваког захтева.
- 409api.idempotency_in_progress
- 400api.idempotency_key_invalid
- 409api.idempotency_mismatch
- 403webhooks.feature_disabled
- 401auth.not_authenticated
- 403authz.forbidden
- 404webhooks.not_found
- 400webhooks.invalid_url
- 400webhooks.private_address
- 400webhooks.unresolvable
- 400webhooks.unknown_event
- 400webhooks.events_required
- 400webhooks.description_too_long
- 400webhooks.headers_invalid
- 400webhooks.auth_invalid
- 400webhooks.access_invalid
- 403webhooks.collections_outside_key
Безбедни поновни покушаји
Уз сваки POST и PATCH захтев пошаљите заглавље Idempotency-Key (на пример UUID). Поновни покушај са истим кључем у року од 24 сата враћа сачувани одговор уместо да поново изврши захтев.
Ограничења учесталости
Одговори садрже заглавља RateLimit и RateLimit-Policy, као и старија X-RateLimit-Limit, X-RateLimit-Remaining и X-RateLimit-Reset. Одговор 429 садржи заглавље Retry-After у секундама: сачекајте и поновите захтев.