Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dynamic Subscriptions for Webhook Event Type Filtering like Stripe #3

Closed
Tracked by #1
nathanclevenger opened this issue Dec 21, 2022 · 3 comments
Closed
Tracked by #1
Assignees

Comments

@nathanclevenger
Copy link
Member

No description provided.

@AggressivelyMeows
Copy link
Contributor

Im thinking of offering an API like POST /create

{
  "url": "https://localhost",
  "events": [ "airtable.*.records.created" ]
}

Where Airtable is able to create event in the format of source.optionalSelector.resource.created/updated/deleted e.g. airtable.tableID.records.updated. The reasoning is that if we can reduce the amount of requests we send per event, that would improve performance and decrease wasted bandwidth. Why send events to customers if they dont actually want them.

Since we support wildcard selection, if you want to listen to all events relating to records: airtable.*.records.*
If you want to know about records being updated or deleted, but not created: airtable.*.records.(updated|deleted)

@AggressivelyMeows
Copy link
Contributor

Oh and i forgot to mention but the one thing im going to enforce with the events, is that they must end with either created, updated, or deleted. Might be missing one but i think having the basic CRUD resource markers will make it clear whats going on.

@nathanclevenger
Copy link
Member Author

@AggressivelyMeows I'm not sure if we need to enforce CRUD methods, as there could be other simpler events just like email.received or documents.signed or vehicle.delivered

I think the other thing that's getting at, is that we shouldn't be tightly coupled to any underlying architecture/tech but just generally have a flexible and powerful web hook management mechanism.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants