Document Webhook, Trigger, Core Workflow, Report Profile and Email Notification APIs - #920
Conversation
…tification APIs Adds pages for five previously-undocumented REST API endpoint families, plus a note on api/user.rst about group_ids/role_ids needing session or Basic Auth rather than a token. All examples and behavior described are taken from direct, live testing against a real Zammad instance. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Hello! Thank you for waiting. Please check the documents if they follow the structure and tone of the other documents and if everything I mention is correct. If you find any issues feel free to make the necessary changes or inform me to edit them |
PUT /api/v1/object_manager_attributes/:id needs the full record shape, not just the fields being changed. A payload missing data_option fails with an unhandled undefined method 'match?' for nil rather than a clean validation error, confirmed via direct testing. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
@deepblue597 Thanks again for this - great groundwork! We'd like to get this merged. Therefore we'd like to replace the examples with ones from our internal Chrispresso stack as part of the review so they are in line with the existing API pages. So no need to rework those yourself. Here's what we'd otherwise consider required before merging - happy to help with any of it, and we'll also try to apply fixes directly if you have maintainer edits enabled.
Let us know if you want to handle these points and if we are allowed to apply changes directly. Happy hacking! |
- Correct Sender Address permission to admin.channel_email (index/show also ticket.agent) - Attribute the Object Manager match? crash to a missing data_type and warn that omitting data_option wipes select options - Replace the token vs. Basic Auth note with the verified group_ids behavior for non-agent users - Document captured DELETE responses and add missing Show/DELETE endpoints for webhooks, triggers, core workflows, report profiles and email addresses - Remove emoji from new pages and neutralise tone - Clarify that Core Workflows are evaluated by Zammad, not only in the browser Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Thanks for the review! I've pushed fixes for all points:
Best wishes! |
All request/response examples on the five new API pages now come from one consistent generic test instance. Also fixes two claims verified against a live instance: unset webhook secret fields return null (not masked), and updating an object attribute without data_option preserves the existing options.
deepblue597
left a comment
There was a problem hiding this comment.
Thanks for making the necessary changes on the examples.
Lowercase feature names in running text (triggers, report profiles, reporting), tone down inline code in the trigger webhook note, use italics for word emphasis, link the roles API by name instead of its raw path, and add a link to the report profiles admin documentation.
deepblue597
left a comment
There was a problem hiding this comment.
I thought triggers would be with capital since it is an object of Zammad
|
Yeah I think capitalizing would be an option but currently we prefer non-capitalized style for such names. I am now waiting for internal feedback. Let's see, maybe we can merge in the next days. |
ralf401
left a comment
There was a problem hiding this comment.
No objections so far, let's merge it. Thanks again!
Summary
Several admin-only REST API endpoint families had no documentation on this site. This adds pages for:
/api/v1/webhooks) — List, Show, Create, Update/api/v1/triggers) — List, Show, Create, Update/api/v1/core_workflows) — List, Show, Create, Update/api/v1/report_profiles) — List, Create, Update, Delete/api/v1/channels_email,/api/v1/channels_email_notification,/api/v1/email_addresses) — List, Configure, and the Sender Address (EmailAddress) sub-resourceIt also adds a note to the existing
api/user.rstUpdate section: writinggroup_ids/role_idsis silently dropped when authenticating with an API token, but works correctly over HTTP Basic Auth.Scope and methodology
Every payload, response body, status code, and behavioral claim in these pages comes from direct, repeated testing against a real Zammad instance (built while provisioning an internal helpdesk project). Sub-resources or actions that weren't independently exercised are intentionally omitted rather than guessed at — for example, no Delete section for Webhook/Trigger/Core Workflow, and no Show section for Report Profile, since those specific calls weren't tested.
A couple of notable, verified gotchas documented here:
POST /api/v1/channels_email_notificationrequires anoptionskey, notnew_configuration(the latter matches the internal Rails service's parameter name but not the endpoint's actual contract, and fails with an unhandled error rather than a clean validation message).condition_selected/performdoes not validate that referenced ticket fields exist, while Report Profile'sconditiondoes (confirmed via a live 422 response).Test plan
sphinx-build -b html . _buildcompletes cleanly with no warnings on the changed filesapi/role.rst,api/sla.rst) resolve correctly🤖 Generated with Claude Code