* fix spec * read records from lists stream * campaigns * contacts * stats_automations * segments * single_sends * templates * suppressions_global * suppression groups * suppression group memebers * blocks * bounces * invalid emails and spam reports * bump cdk version * fix paths * bump cdk version * only define cursor field in one place * move to definitions * move bounces inside the streams array * move all streams within the streams array * update sendgrid config * fix * derp * rename field * fix parse * Revert "fix parse" This reverts commit3c76c5a782. * fix parse timestamp * extract datetime parser * remove print * use parser * top level docstring * rename variable * Revert "Merge branch 'alex/datetimeFormatTimestamp' into alex/configbasedsendgrid" This reverts commit99caa5884e, reversing changes made to028bdfbb5e. * Revert "Revert "Merge branch 'alex/datetimeFormatTimestamp' into alex/configbasedsendgrid"" This reverts commit8d55afa5aa. * Revert "Revert "Revert "Merge branch 'alex/datetimeFormatTimestamp' into alex/configbasedsendgrid""" This reverts commit9b70a3b67c. * do not use timestamp() * Revert "do not use timestamp()" This reverts commit016cb69193. * Handle extracting no records from root * bump cdk version * handle empty record * update unit test * messages stream needs a different slicer * handle missing keys * Update unit test * record extractor interface * dpath extractor * docstring * use dpath * Revert "Merge branch 'alex/selectNoRecords' into alex/configbasedsendgrid" This reverts commitac92374952, reversing changes made toe10d6b9f4a. * bump cdk version * use dpath * missing cursor field * start DRYing the config * delete more cruff * DRY * get start time from config * delete custom streams * step=30days * bump version * auto-bump connector version [ci skip] Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
3.0 KiB
Sendgrid
Overview
The Sendgrid source supports Full Refresh syncs. That is, every time a sync is run, Airbyte will copy all rows in the tables and columns you set up for replication into the destination in a new table.
Note: SendGrid provides two different kinds of marketing campaigns, "legacy marketing campaigns" and "new marketing campaigns". Legacy marketing campaigns are not supported by this source connector. If you are seeing a 403 FORBIDDEN error message for https://api.sendgrid.com/v3/marketing/campaigns, it might be because your SendGrid account uses legacy marketing campaigns.
Output schema
Several output streams are available from this source (campaigns, lists).
If there are more endpoints you'd like Airbyte to support, please create an issue.
Features
| Feature | Supported? |
|---|---|
| Full Refresh Sync | Yes |
| Incremental Sync | Coming soon |
| Replicate Incremental Deletes | Coming soon |
| SSL connection | Yes |
| Namespaces | No |
Performance considerations
The connector is restricted by normal Sendgrid requests limitation.
The Sendgrid connector should not run into Sendgrid API limitations under normal usage. Please create an issue if you see any rate limit issues that are not automatically retried successfully.
Getting started
Requirements
- Sendgrid Account
- Sendgrid API Key with the following permissions:
- Read-only access to all resources
- Full access to marketing resources
Setup guide
Generate a API key using the Sendgrid documentation.
We recommend creating a key specifically for Airbyte access. This will allow you to control which resources Airbyte should be able to access. The API key should be read-only on all resources except Marketing, where it needs Full Access.
To consume Messages resources requires to purchase an extra on Sendgrid. You can read more about this here
| Version | Date | Pull Request | Subject |
|---|---|---|---|
| 0.2.9 | 2022-06-07 | 15257 | Migrate to config-based framework |
| 0.2.8 | 2022-06-07 | 13571 | Add Message stream |
| 0.2.7 | 2021-09-08 | 5910 | Add Single Sends Stats stream |
| 0.2.6 | 2021-07-19 | 4839 | Gracefully handle malformed responses from the API |