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

Basic Use of Model Factories in Laravel

In this article, we will discuss the basic use of Model Factories in Laravel. Laravel comes with the feature called model factories that are offered to made fake models quickly. It’s used in the database testing and database seeding. Let’s start the discussion on this feature by... Read out the full post at here

How to Manage Elastic IP in AWS?

In this article, we will discuss "How to Manage Elastic IP in AWS?" . Here, you will learn the use of Elastic IP addresses and how to assign it to your EC2 Instance. If you are new with EC2 Instance then check out my previous article, "How to setup an EC2 Instance on AWS" . EC2 (Amazon Elastic Compute Cloud) provide us an ability to create, start, stop and terminate the instance at any time. This will creates a challenge with IP addresses, because restarting an instance or replacing a terminated instance with newly created instance, will result in a new IP address. Now the question is "How to reference a machine when the IP is constantly change?" . We can handle this situation with the use of Elastic IP address. We can associate a single Elastic IP address to different Ec2 Instances. You can immediately associate a new Ec2 Instance with the Elastic IP address if the EC2 instance is stopped or terminated. After the back-end EC2 instance changes, our exist...

How to use trackBy in Angular with Example

In this article, we will discuss "How to use trackBy in Angular" . Basically, " trackBy " is used to improve the performance of an angular application. Today, I will try to explain the use of trackBy with an example. Why do we need trackBy in Angular? By default, no need to use trackBy in Angular. But with large collections of data, angular ngFor directive may perform poorly. For example, a small change of data such as adding a new record, editing, or deleting a record from the collection. The angular framework will remove all the DOM elements that are associated with the data and will create them again in the DOM tree even if the same data is coming. Here, a lot of DOM manipulation will happen in the background if a large amount of data comes from the API then the application performance will suffer. Angular trackBy example Angular provides us function trackBy which helps us to track the items which have been added or deleted. The trackBy function takes two argum...