The SendGrid is a communication platform for transactional and marketing emails.
User Expectations
- User will retrieve API Keys (Restricted Access) from their SendGrid account for Event Notification, Marketing Campaigns, Suppressions and Tracking.
- User will enable Active Tracking in their account - Click, Open and Subscription tracking is enabled.
- Uses SendGrid v3 REST API and Webhooks to sync your data.
- Retrieves
- Marketing Campaigns
- Automation
- Single Sends
- Senders
- Contacts
- Segments
- Schedule *
- Stats
- Global Stats
- Category Stats
- Advanced Stats
- Suppressions
- Bounces
- Global Unsubscribes
- Group Unsubscribes
- Spam Reports **
- Blocks **
* is present as state in the list of Automation/Single Send, but could be parsed as separate list of both entities to represent the current schedule and be a dynamic entity
** currently no way to test or get info about those endpoints as for that, test account should have been reported for spam and have some blocks - Marketing Campaigns
User Configurations
Section | User Configuration Label | Label Description | Options | Default | Variable | User Widget |
---|---|---|---|---|---|---|
Standard | API Key | The SendGrid API Key taken from the SendGrid account of choice | sendgrid-api-key | Text Box | ||
Username | Login name for Sendgrid | username | Text Box | |||
Password | Login password for the username specified above | password | Text Box | |||
Data Source | One of the above sources picked from list | data-source | List Box | |||
Data Source Fields | List of fields to be retrieved | data-source-fields | Text Box | |||
Start Date | (required by some SG API Endpoints) The date in format YYYY-MM-DD, starting from which the data is requested. | not set | start-date | TODO | ||
End Date | (required by some SG API Endpoints) The date in format YYYY-MM-DD, the end date for the requested data | not set | end-date | TODO | ||
Error Handling | On Record Error | How to handle error in record processing |
| Skip error | on-error | Radio Button (layout: block) |
Plugin Type
- Batch Source
- Batch Sink
- Real-time Source
- Real-time Sink
- Action
- Post-Run Action
- Aggregate
- Join
- Spark Model
- Spark Compute
Design Tips and references
SendGrid v3 API:
- https://sendgrid.api-docs.io/v3.0/
- https://sendgrid.com/docs/API_Reference/api_v3.html
SendGrid supports API v2 and v3 legacy and and SendGrid v3 API . As v2 and v3 legacy are outdated, we going to support and use the latest SendGrid v3 API.
Data source reference
Data sources description (WIP)
Field name | Type | Description |
---|---|---|
Automation | ||
SingleSends | ||
Senders | ||
Contacts | ||
Segments | ||
GlobalStats | ||
CategoryStats | ||
AdvancedStats | ||
Bounces | ||
GlobalUnsubscribes | ||
GroupUnsubscribes | ||
SpamReports (TODO) | ||
Blocks (TODO) | ||
Schedule (TODO) | ||
Authorization
Plugin supporting Basic and API Key authorization, with using API Key by default when provided.
Approach
TODO
UI Impact or Changes
TODO
Test Case(s)
TODO
Sample Pipeline
TODO