Add Banners API (list + dismiss) to Preview#539
Conversation
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Reviewed as part of the Banners API GA trio (docs intercom/developer-docs#959, this spec, version flip intercom/intercom#519329). I cross-checked the spec against the already-merged serializer ( 🔴
|
The action object only exposed `type`, so generated SDKs dropped the variant-specific fields. Add label/target (url), reaction_set (reaction), and tour_id/tour_url (product_tour) as documented optional properties matching the API response. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Thanks @zilleeizad-inter — both points addressed. action schema: Expanded the client_targeting: Verified that this endpoint only returns banners that don't depend on client-side targeting, so the documented "always null" is correct. The implementation has been simplified accordingly and the contract is now covered by a test. Ready for re-review. |
zilleeizad-inter
left a comment
There was a problem hiding this comment.
Re-reviewed after the updates — both findings verify out against the merged serializer:
- ✅
actionnow documents every variant field (label/targetforurl,reaction_setwith{index, unicode_emoticon}items,tour_id/tour_urlforproduct_tour), matchingBanner#serialize_actionexactly. SDK generators will surface all fields now. - ✅
client_targetingis now genuinely always-null — the presenter hardcodesclient_targeting: nil(in intercom#519329), so the "always null" contract is literally accurate.
Approving. 🚀
Why?
Documents the new Preview Banners API so developers can retrieve the banners a contact matches and record dismissals on surfaces outside the Messenger (native mobile apps, kiosks, embedded tools).
How?
Adds the two banner endpoints, their schemas, and a Banners tag to the Preview spec.
Generated with Claude Code