Repository navigation
Add doc samples for verified sources batch 4 (32 providers) - #73
Merged
Merged
Conversation
Copied from hookdeck/webhook-registry samples-doc/ at 98fcbd65 (rows added in hookdeck/webhook-registry#106): assemblyai, cartesia, confluence, coterie, cover-genius, documenso, footprint, foursquare, honeybadger, increase, lokalise, medusa, middesk, mistral, northflank, oncehub, paysafe, printify, recruitee, sendbird, shopware, shortcut, signnow, stigg, storyblok, stream, todoist, unit, wave, workable, xendit, zoho-sign. The other 11 batch 4 rows have no doc sample, so they get no directory. Sample files are unchanged. One index.json differs from the export: - unit: topic_identifier is ["data[].type", "data.type"]. The registry row's carrier is data[].type (a delivery's data is an array of events), and its carrier_note says ten doc examples (assignment.*, cardFraudCase.*, repayment.*, wireDrawdown.created) show data as a single object, to be read at data.type. The export's "data[].type" resolved 105 of 115 samples; the list resolves all 115. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D7eqaQdKAUzQXRbGtym1PF
The export named the sample after the registry's event key, trigger:build:start, which is the create-notification-integration API's subscription key. The delivery carries build:start in the body's `event` and in the X-Northflank-Notification-Integration-Event-Type header; the registry row's join_normalization says the wire value drops the trigger: prefix. With the old topic, topic_identifier "event" resolved 0 of 1 samples. The topic is now build:start and the file build.start.json, as for Rubrik in #71, so it resolves 1 of 1. The body is unchanged. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D7eqaQdKAUzQXRbGtym1PF
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Gareth · project thread
Before: hookdeck/webhook-registry#106 (verified sources batch 4, merged) added 43 provider rows and exported doc examples for 32 of them to the registry's
samples-doc/tree. None of the 32 had a directory here.After: 32 new provider directories with 391 doc-sourced samples.
providers.jsongoes from 210 to 242 providers. The other 11 rows have no published example body, so they get no directory: emporix, mercury, moonpay, outreach, posthog, salesloft, savvycal, tawk-to, trigger-dev, truework and yousign. No existing file is changed. This touches only new directories, so it doesn't conflict with #72 (batch 3); with both merged the count is 272.topic_identifierlatestnull(no discriminator)latesttypelatesteventlatestnull(no discriminator)latesteventlatesteventlatestevent_kindlatesteventTypelatesteventlatestcategorylatesteventlatesttypelatesttypelatesteventlatesteventv2typelatesteventNamelatesttypelatestevent_typelatestcategorylatestdata.eventv1null(composed:actions[].entity_type+.+actions[].action)latestmeta.eventlatesttypelatestactionlatesttype10event_namelatestdata[].type,data.typelatestevent_typelatestevent_typelatesteventlatestnotifications.operation_typeHow: I copied
samples-doc/providers/<p>/from webhook-registrymain(98fcbd65) intoproviders/, the same way #70 and #72 did. All but one sample file is byte-identical to the export, and oneindex.jsondiffers. Both changes are listed first below. Every othertopic_identifierequals the registry row's discriminator path. I checked each one with a port ofresolveTopicagainst every sample, and every non-null one resolves all of its provider's samples. Each file carriessource.type: vendor-documentationand its page URL, and each version is markedsourced_via: docs.yarn compilepasses (210 → 242 providers, compiled topic count equals file count for all 32).yarn testpasses 16/16.Worth a look:
unit uses the README's list form. The registry's carrier is
data[].type, because a delivery'sdatais an array of events (batched up to 64). Ten doc examples showdataas a single object instead:assignment.*,cardFraudCase.*,repayment.*andwireDrawdown.created. The registry row'scarrier_notesays to readdata.typein that case. The export'sdata[].typeresolved 105 of 115 samples.["data[].type", "data.type"]resolves all 115. The single-object bodies may be a docs artifact rather than a second wire shape, but they're kept as published.northflank's sample is renamed to its wire value (separate commit, 33b920b). The export named it
trigger:build:start, which is the subscription key from the create-notification-integration API. The body'seventand theX-Northflank-Notification-Integration-Event-Typeheader both carrybuild:start, and the registry'sjoin_normalizationsays the wire value drops thetrigger:prefix. With the old topic,eventresolved 0 of 1 samples. The topic is nowbuild:startand the file isbuild.start.json, following Rubrik in Rename Rubrik Backup sample to its wire class value #71. The body is unchanged. The registry export still writes the prefixed name, so a re-export would bring it back unless the exporter applies the normalization. The commit is easy to drop if you'd rather keep the export as is.nullrows: assemblyai and coterie have no event field (the registry records the discriminator asabsent). AssemblyAI's two shapes are told apart bytranscript_idvssession_id. Coterie's application, quote and policy bodies are told apart by key presence. shortcut is composed (<entity_type>.<action>fromactions[]), following the check, jfrog and taiga precedent from Add 228 doc-sourced samples for verified-sources batch 3 (30 providers) #72.Versions taken from the payload: oncehub
v2(bodyapi_version), todoist10(bodyversion, the webhook version chosen per app) and shortcutv1(bodyversion). These follow the README rule.Not re-versioned:
sw-versionheader carries the shop's Shopware version, not a payload schema version./v2/is the event-subscriptions API path (ramp precedent)./v1/resource links are the API version.Cartesia-Versionheader versions requests to Cartesia, not deliveries.All four stay
latest.recruitee keys on
event_typealone. The registry also recordsevent_subtypeas a refinement, e.g.candidate_moved→stage_changed. All 7 samples resolve to their topic onevent_type, so it stays as exported.Unlisted extra families:
Event, whicheventwon't read.geofenceEvent.eventTypewith different values, and the top level is the right key.All of their samples resolve, so they stay strings.
Filenames differ from topics in three providers. printify (
order:created), sendbird (group_channel:changed) and todoist (item:added) use:on the wire. The files use.(order.created.jsonand so on), but the published topic keys come from each file'stopicfield and match the wire values.footprint cites
svix.com, because Footprint delivers through Svix and its event catalog is a Svix-hosted page. confluence is the Data Center product (label "Confluence (Data Center)").Generated by Claude Code