Fixes #13862 Updates the webhook OpenAPI schema to match the current API behavior for webhook secrets and supported subscription events. ## Why Current source already creates per-webhook secrets, returns `secret` from the account webhook API, and uses that secret to sign outbound webhook requests with `X-Chatwoot-Signature`. The OpenAPI schema was behind that contract: - `components.schemas.webhook` did not include the returned `secret` field. - Webhook subscription enums did not include the typing events that are already available in the dashboard webhook form and handled by `WebhookListener`. ## What this change does - Documents `secret` on the webhook response schema. - Documents the outbound webhook signing headers associated with `secret`: `X-Chatwoot-Timestamp`, `X-Chatwoot-Signature`, and `X-Chatwoot-Delivery`. - Adds `conversation_typing_on` and `conversation_typing_off` to webhook subscription enums. - Regenerates the main and tag-group swagger JSON files. ## Validation - Ran `bundle exec rails swagger:build`. - Ran `bundle exec rspec spec/swagger/openapi_spec.rb`. - Verified generated swagger JSON includes `secret`, `conversation_typing_on`, and `conversation_typing_off` in the webhook schemas. --------- Co-authored-by: Syed Muhammad Bilal <sdmhbilal@users.noreply.github.com> Co-authored-by: Sojan Jose <sojan@pepalo.com>
31 lines
771 B
YAML
31 lines
771 B
YAML
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
description: The url where the events should be sent
|
|
example: https://example.com/webhook
|
|
name:
|
|
type: string
|
|
description: The name of the webhook
|
|
subscriptions:
|
|
type: array
|
|
items:
|
|
type: string
|
|
enum:
|
|
[
|
|
'conversation_created',
|
|
'conversation_status_changed',
|
|
'conversation_updated',
|
|
'message_created',
|
|
'message_updated',
|
|
'contact_created',
|
|
'contact_updated',
|
|
'webwidget_triggered',
|
|
'conversation_typing_on',
|
|
'conversation_typing_off',
|
|
]
|
|
description: The events you want to subscribe to.
|
|
example:
|
|
- conversation_created
|
|
- conversation_status_changed
|