Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 15 Next »

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

User Configurations

Section

User Configuration Label

Label Description

Options

Default

Variable

User Widget

StandardAPI KeyThe SendGrid API Key taken from the SendGrid account of choice

sendgrid-api-keyText Box

UsernameLogin name for Sendgrid

usernameText Box

PasswordLogin password for the username specified above

passwordText Box

Data SourceOne of the above sources picked from list

data-sourceList Box








Data Source FieldsList of fields to be retrieved

data-source-fieldsText Box

Start Date(required by some SG API Endpoints)

The date in format YYYY-MM-DD, starting from which the data is requested.

not setstart-dateTODO

End Date(required by some SG API Endpoints)
The date in format YYYY-MM-DD, the end date for the requested data

not setend-dateTODO
Error HandlingOn Record ErrorHow to handle error in record processing
  • Skip error
  • Send to error port
  • Fail pipeline
Skip erroron-errorRadio 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 nameTypeDescription

Automation

id

name

status

type

message_count

created_at

updated_at

live_at

SingleSends

id

name

status

created_at

updated_at

is_abtest

Senders

id

nickname

address

address_2

city

country

state

zip

locked

created_at

updated_at

from_email

from_name

verified_status

verified_reason

reply_to_name

reply_to_email

Contacts

id

first_name

last_name

list_ids

created_at

updated_at

email

Segments







GlobalStats







CategoryStats

name

type

date

metrics_blocks

metrics_bounce_drops

metrics_bounces

metrics_clicks

metrics_deferred

metrics_delivered

metrics_invalid_emails

metrics_opens

metrics_processed

metrics_requests

metrics_spam_report_drops

metrics_spam_reports

metrics_unique_clicks

metrics_unique_opens

metrics_unsubscribe_drops

metrics_unsubscribes

AdvancedStats

name

type

date

metrics_clicks

metrics_opens

metrics_unique_clicks

metrics_unique_opens

Bounces

created

email

reason

status

GlobalUnsubscribes







GroupUnsubscribes

id

name

description

is_default

last_email_send_at

unsubscribes

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

  • No labels