Amazon S3

Export notification data from Suprsend to your S3 bucket

There are 2 types of connectors in SuprSend: Source and Destination. Source is used to connect event and user data from a third party platform into SuprSend to power notifications. Destination is used to sync data like message templates and notification metrics that we track in SuprSend back to your data warehouse for reporting and analysis.

Amazon S3 is a destination used to ingest data from SuprSend into your S3 bucket type. You can directly query on this data using Athena or import it to data warehouses like Redshift, Snowflake, Clickhouse etc. for analysis.


How it works?

This integration exports individual parquet files for message templates and notification data to your S3 bucket at a regular interval. You can select what all data you want to sync to your S3 bucket. The sync happens every 3-5 minutes, ensuring that you always have the latest data in your S3 bucket. There'll be a separate parquet file for each day.

Note that this integration only publishes parquet files to your storage bucket. You can either use Athena to query this data or ingest this data into a data warehouse for analysis.


Setting up Amazon S3 connector

Step 1. Create S3 bucket

This will be the location of data export. Skip this step If you want to sync to an existing bucket or you can create a new bucket by following below steps:

  1. Sign into the Amazon AWS S3 Management Console and Click on Create Bucket button.


  1. This will open a form. Enter a relevant bucket name, something like “suprsend-notification”.
  2. Select the region and Set Object Ownership to ACLs disabled (recommended).


  1. Next, Select "Block all public access" and disable bucket versioning
  2. Do not add any Tags.
  3. Leave Default encryption at defaults: Encryption key type = Server-side encryption with Amazon S3 managed keys (SSE-S3) and Bucket Key = Enable.
  4. Do not change any Advanced settings and click on "Create bucket" button

Step 2. Set permission policy for the bucket

We'll need permission to PutObject for data ingestion in your bucket. To set permission policy, On your Amazon AWS IAM Management Console , select Policies Page from the side bar. Click on Create Policy and on the JSON tab, copy paste the below code.

Replace suprsend-notification with the bucket name you created.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllObjectActions",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::suprsend-notification/*" //replace with your bucket name
            ]
        }
    ]
}


Create a relevant name to the policy, something like - SingleBucketWriteAccess.


Step 3. Create a user with access to the bucket

This user will be needed to get the access key id and secret. To create user permission policy, On your Amazon AWS IAM Management Console , select Users Page from the side bar. If you want to use an existing user, just assign the permission created in step 2 to your existing user.

You can create a new user by following the steps below:

  1. On the user page, click on "Add users"
  2. Add relevant user name, you can use this name for example: s3-bucket-suprsend
  3. Leave provide user access to the AWS Management Console unchecked and click on "Next: Permissions"
  4. Select Attach existing policies directly.
  5. Search for the policy created in step 2 and select it.
  6. Click "Next: Tags" -> "Next:Review" -> "Create User" buttons
  7. Continue to step 4 before closing the browser.

Step 4. Get access key ID and secret for the above user

This information will be required in the connector integration form on SuprSend. Follow below steps to get access key ID and secret for the user created in step 3:

  1. On users page, choose the IAM user name created in step 3
  2. Open the Security credentials tab, and create access key.

  1. Choose “third party service” and click next.
  2. Next, you can add description for your reference or leave it blank. Click on the "create access key"
  3. Copy the access key and secret and store it somewhere safe. You'll not be able to retrieve this information later once you leave this modal. Add this information in SuprSend S3 connector form
  4. Once copied, click on "Done".

Step 5. Add your S3 connector details on SuprSend

On SuprSend dashboard, go to Settings -> Connectors -> Amazon S3 and fill in the required information:


Form Fields and its description

Form FieldDescription
Connector nameThis name is identify the connector and is for your reference
AWS KeyThis is the access key ID linked to the IAM user. Refer step 4 for steps to create access key
AWS SecretThis is the secret access linked to the IAM user. Refer step 4 for steps to get secret access
Export bucketName of the S3 bucket where the parquet files should be exported. Refer step 1 to create an export bucket
Data points to exportHere you can choose what all information should be exported to your S3 bucket:

Notifications Status - To sync details to the each notification - users, brands, vendor, channel, DLR status of the notification (delivery, seen, click etc.), and failure reasons for failed notifications

Template - To sync all templates created in SuprSend in your S3 bucket. Template sync will happen every time you are making change in the template

Step 6: Enable Sync

Your S3 setup is now complete. "Enable sync" to start data export. You can pause and resume your sync anytime you want. To Pause sync for certain data points, deselect the ones not needed from "Data Points to export" and save the changes.

You can also disable your entire sync by disabling the "Enable sync" button, in which case we’ll stop the export. When you enable your sync again, we send all of your historical data as if you’re starting a new integration.