IP Library Granted Patent US 10,686,902
Granted Patent B2
US 10,686,902 · App. 15/602,753 · Granted Jun 16, 2020

System and method for a multi-channel notification service

Inventors: Viktor Muller (London, GB); Devid Liik (Tallinn, EE); Sergei Zolotarjov (Tallinn, EE); Sergei Voronichev (Tallinn, EE); Artyom Tyazhelov (Tallinn, EE)
Assignee: Twilio Inc.
H04L67/26H04M3/42238H04M3/42382H04W4/14H04M2203/2044
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,686,902
App. No.
15/602,753
Granted
Jun 16, 2020
Kind
B2
Abstract

A system and method for multichannel notifications that includes configuring an account for notifications within a multitenant platform for multi-channel notifications, which further includes receiving configuration for a set of participant binding resources, wherein the set of participant binding resources comprises endpoint addressing resources, where an endpoint addressing resource specifies a communication address and a communication channel identifier; receiving a notification request on behalf of an account, the notification request comprising at least one targeting property; and executing notifications in accordance to the notification request and the configuration of the participant binding resources of the account by selecting endpoint addressing resources that are accessed from the participant binding resources using the targeting properties of the notification request and transmitting notifications to communication addresses over a set of different communication channels as indicated by the selected endpoint addressing resources.

Claims (57)

1. A method comprising:

receiving, by a multitenant communication platform, configuration data for a set of participant binding resources of a first account of the multitenant communication platform;

receiving a notification request on behalf of the first account of the multitenant communication platform, the notification request comprising a targeting property, wherein the targeting property includes an identifier for an external resource;

transmitting a request to the external resource based on the identifier included in the targeting resource;

receiving, from the external resource, data identifying a set of endpoint addressing resources, each endpoint addressing resource from the set of endpoint addressing resources specifying a communication address and a communication channel identifier;

executing notifications in accordance to the notification request, the configuration data of the participant binding resources of the first account of the multitenant communication platform, and the set of endpoint addressing resources received from the external resource, wherein executing the notifications comprises transmitting notifications to communication addresses over a set of different communication channels as specified by the set of endpoint addressing resources.

2. The method of claim 1 , further comprising:

tagging at least one endpoint addressing resource with a first tag from a set of tags, wherein the data identifying the set of endpoint addressing resources includes the first tag, the method further comprising:

identifying one or more endpoint addressing resources tagged with the first tag, yielding the set of endpoint addressing resources.

3. The method of claim 1 , further comprising:

in response to receiving the notification request, activating a fallback delivery mode option;

collecting a delivery status of an executed notification that referenced a first endpoint addressing resource from the set of endpoint addressing resources, the first endpoint addressing resources having been identified as a preferred endpoint addressing resource; and

in response to collecting the delivery status, selecting a secondary endpoint addressing resource from the set of endpoint addressing resources and transmitting at least a second notification using the secondary endpoint addressing resource.

4. The method of claim 1 , wherein the notification request indicates a fanout delivery mode option.

5. The method of claim 1 , wherein transmitting notifications to communication addresses over the set of different communication channels comprises:

transmitting an asynchronous message to a communication endpoint specified by a first endpoint addressing resource from the set of endpoint addressing resources.

6. The method of claim 1 , wherein transmitting notifications to communication addresses over the set of different communication channels comprises:

initializing a synchronous communication stream; and

playing a message specified in a payload property of the notification request.

7. The method of claim 1 , wherein the set of different communication channels comprises an SMS channel, a push notification channel, a PSTN voice channel, and a proprietary service API channel.

8. The method of claim 1 , wherein at least one of the set of different communication channels is a proprietary service API channel to a device endpoint.

9. The method of claim 1 , wherein the notification request specifies payload properties specific to a first communication channel and transmitting notifications to communication addresses over the set of different communication channels comprises generating notification content using the payload properties specific to the first communication channel.

10. The method of claim 1 , wherein transmitting notifications to communication addresses over the set of different communication channels comprises:

transmitting, over a first communication channel, a first notification to first endpoint addressing resource; and

transmitting over a second communication channel, a second notification to second endpoint addressing resource.

11. The method of claim 1 , further comprising:

after receiving the notification request, receiving a second notification request comprising a second targeting property identifying a first endpoint addressing resource; and

in response to receiving the second notification request, transmitting a notification to a communication address specified in the first endpoint addressing resource.

12. A multitenant communication platform comprising:

one or more computer processors; and

one or more non-transitory computer-readable mediums storing instructions that, when executed by the one or more computer processors, cause the multitenant communication platform to perform operations comprising:

receiving configuration data for a set of participant binding resources of a first account of the multitenant communication platform;

receiving a notification request on behalf of the first account of the multitenant communication platform, the notification request comprising a targeting property, wherein the targeting property includes an identifier for an external resource;

transmitting a request to the external resource based on the identifier included in the targeting resource;

receiving, from the external resource, data identifying a set of endpoint addressing resources, each endpoint addressing resource from the set of endpoint addressing resources specifying a communication address and a communication channel identifier;

executing notifications in accordance to the notification request, the configuration data of the participant binding resources of the first account of the multitenant communication platform, and the set of endpoint addressing resources received from the external resource, wherein executing the notifications comprises transmitting notifications to communication addresses over a set of different communication channels as specified by the set of endpoint addressing resources.

13. The multitenant communication platform of claim 12 , the operations further comprising:

tagging at least one endpoint addressing resource with a first tag from a set of tags, wherein the data identifying the set of endpoint addressing resources includes the first tag, the method further comprising:

identifying one or more endpoint addressing resources tagged with the first tag, yielding the set of endpoint addressing resources.

14. The multitenant communication platform of claim 12 , the operations further comprising:

in response to receiving the notification request, activating a fallback delivery mode option;

collecting a delivery status of an executed notification that referenced a first endpoint addressing resource from the set of endpoint addressing resources, the first endpoint addressing resources having been identified as a preferred endpoint addressing resource; and

in response to collecting the delivery status, selecting a secondary endpoint addressing resource from the set of endpoint addressing resources and transmitting at least a second notification using the secondary endpoint addressing resource.

15. The multitenant communication platform of claim 12 , wherein the notification request indicates a fanout delivery mode option.

16. The multitenant communication platform of claim 12 , wherein transmitting notifications to communication addresses over the set of different communication channels comprises:

transmitting an asynchronous message to a communication endpoint specified by a first endpoint addressing resource from the set of endpoint addressing resources.

17. The multitenant communication platform of claim 12 , wherein transmitting notifications to communication addresses over the set of different communication channels comprises:

initializing a synchronous communication stream; and

playing a message specified in a payload property of the notification request.

18. The multitenant communication platform of claim 12 , wherein the set of different communication channels comprises an SMS channel, a push notification channel, a PSTN voice channel, and a proprietary service API channel.

19. The multitenant communication platform of claim 12 , wherein at least one of the set of different communication channels is a proprietary service API channel to a device endpoint.

20. A non-transitory computer-readable medium storing instructions that, when executed by one or more computer processors of a multitenant communication platform, cause the multitenant communication platform to perform operations comprising:

receiving configuration data for a set of participant binding resources of a first account of the multitenant communication platform;

receiving a notification request on behalf of the first account of the multitenant communication platform, the notification request comprising a targeting property, wherein the targeting property includes an identifier for an external resource;

transmitting a request to the external resource based on the identifier included in the targeting resource;

receiving, from the external resource, data identifying a set of endpoint addressing resources, each endpoint addressing resource from the set of endpoint addressing resources specifying a communication address and a communication channel identifier;

executing notifications in accordance to the notification request, the configuration data of the participant binding resources of the first account of the multitenant communication platform, and the set of endpoint addressing resources received from the external resource, wherein executing the notifications comprises transmitting notifications to communication addresses over a set of different communication channels as specified by the set of endpoint addressing resources.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2017
From: MULLER, VIKTOR; LIIK, DEVID; ZOLOTARJOV, SERGEI; VORONICHEV, SERGEI; TYAZHELOV, ARTYOM
To: TWILIO, INC.
Reel/Frame 042819/0524 →
Continuity (2)
Provisional Application 62340151 · May 23, 2016
Related Publication 20170339240A1 · Nov 23, 2017
Cited By (2)
US 12,549,506 US 12,641,163