Skip to main content

How to Setup AWS Pinpoint (Part 1)

In this series of articles, we will discuss AWS Pinpoint and how to set up the pinpoint project with two-way communication and delivery reporting via AWS Kinesis Data Stream. Today, I will try to explain to you "How to Setup AWS Pinpoint.



What is Pinpoint


Amazon Pinpoint is an AWS service, you can use this to send push notifications, SMS, emails, or voice messages. It's easy to set up, flexible, and easy to use. Check here for details of pinpoint pricing.

How Pinpoint Works


[caption id="attachment_2632" align="aligncenter" width="1024"] Source: https://aws.amazon.com/pinpoint/[/caption]

 

Prerequisites



  1. AWS Account

  2. AWS Management Console Access

  3. Basic knowledge of AWS, If you are new to AWS then read service pricing properly. Otherwise, AWS charges your card when the free tier limit is crossed.

  4. IAM User (Check my previous post)


AWS provides a lot of services and all those have their own pricing plan. Also, they provide free tires for most of the services with some limitations. You can check here for more details related to AWS free tires.

What we cover in this Pinpoint Series


Here, we will discuss the following in detail in this pinpoint tutorial series.

  • Setup Pinpoint Project

  • One way or Two way SMS communications

  • Lambda functions with python to automate SMS sending script

  • Setup SNS Topic to Handle Two Way user communication

  • Setup AWS Trigger work as CRON

  • SMS delivery report using AWS Kinesis Data Stream


Setup AWS Pinpoint Project


Login to your AWS account and go to Amazon Pinpoint Console. Here add the project name and click "Create a project".



You will be redirected to the configure features screen. We have to choose SMS and voice and click the Configure button.



After clicking on confirm, we are redirected to the Set up SMS page.



Here, we have to select "Enable the SMS channel for this project". Also, set the default message type to Transactional.
Two types of messages such as:

Transactional: Messages that are critical or time-sensitive, for e.g: one-time passwords (OTP) or notifications.

Promotional: Messages that aren't critical or time-sensitive, for e.g: marketing messages, sales promotional messages.

Account spending limit: By default, the AWS sandbox spending limit is $1. You can increase the limit, but you have to request this to AWS support then they will approve your request. After that, you can update your spending limit here.

Account sender ID: This is an optional field, we can set the identity that appears on the recipients' devices.

Advanced configurations: This is an optional field, no need to apply any change here.

After all the changes are done, just click on "Save changes".



Here, we got our SMS and Voice feature, SMS is enabled now.

Let's click on the Manage button, we have been redirected to SMS and voice settings. Everything looks fine, now time to Request phone number. This will be used in the script for sending SMS notifications.



Note down, recently some features are changed by AWS. Three type phone numbers are offered by AWS such as:

Long Code: Support only voice messaging.

Toll-Free: Support both text and voice. Having limit to sending upto 3 messages per second.

10DLC: Support both text and voice messaging. It required the company and 10DLC campaign registration. You can get more details on 10DLC here.



Select the country "United States", after selecting the country the rest of the fields are displayed on the screen. Let fill them and complete the process. Note that the Toll-Free number is not free of cost, it charges us $2 per month.



Here, choose both SMS and Voice under capabilities. Default message type set as Transactional, click on the Next button.

Now, we are redirected to the review and request screen.



Just click on the Request button. Request long process is complete.



AWS allotted a toll-free number to us. We use this number with our SDK to send messages using pinpoint.

Conclusion


I hope you enjoyed this article, today we’ve explored “How to setup AWS Pinpoint”. We will discuss more on the Pinpoint, LambdaBoto3, and other AWS services in our future articles. Please feel free to add a comment if any queries.

Keep Learning, Stay Safe ðŸ™‚




 

Comments

Popular posts from this blog

Laravel Logging Guzzle Requests in File

In this article, we will discuss “Laravel Logging Guzzle Requests in File”. In the multiple scenarios, we have to use third-party API’s in our project and test those API using postman or any other tool. But also required to maintain a log for each request, such as what we send (request)? and what we receive (response)? Today, […] Read out the full post at here

How to Use SSH with AWS EC2 Instance?

In this article, we will discuss "How to Use SSH with AWS EC2 Instance?" . As I already explain the setup of EC2 Instance and the use of an Elastic IP in my previous article. Today, we will learn how to connect an EC2 instance using SSH. If still, you have not read my previous articles then I recommend checking them once for a better understanding. Prerequisites A running EC2 Instance . Elastic IP (Optional for this article) ".pem" file, which is downloaded when setup the EC2 Instance. If not having the ".pem" file, then you have to create new key/value pairs. Connect via Terminal or WSL(Window Subsystem for Linux) Open your terminal and go to the directory where you downloaded your ".pem" file. Use the following command to connect with the server. ssh -i "****.pem" username@<publicDNS> or <IP Address> The same terminal command can be used in the windows Linux terminal. I'm using ubuntu on my windows machine...

How to Setup and Install Next.js App?

In this article, we will discuss "How to Setup and Install Next.js App" from scratch. What is React.js and Next.js? "React.js" is a JavaScript library for building user interfaces (elements that users see and interacting on-screen). Basically, React provide us some helpful functions to build UI, and leaves it on us where to use those functions in the application. "Next.js" is a React framework. It is maintained by "Vercel" . Next.js features to solve common application requirements such as routing, data fetching, integrations - all while improving the developer and end-user experience. Why we use Next.js ? Next.js comes with the some additional features to solve come application requirements such as: We can build SSG (Static Site Generation), SSR (Server-Side Rendering) and SPA (Single Page Application) apps. Hot code Reloading: Reload the page when it detects any change saved. Routing: No need to configure any route. Files put in the pages fol...