IP Library Granted Patent US 11,677,700
Granted Patent B1
US 11,677,700 · App. 16/886,998 · Granted Jun 13, 2023

Systems and methods for opt-in messaging

Inventors: Igor Slutsker (Santa Clara, CA); Rohit Watve (Santa Clara, CA); Yi Xiao (Sunnyvale, CA)
Assignee: META PLATFORMS, INC.
H04L51/18G06Q10/10G06Q30/016G06Q50/01H04L9/3213H04L51/224G06F16/22
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 11,677,700
App. No.
16/886,998
Granted
Jun 13, 2023
Kind
B1
Abstract

Exemplary embodiments relate to techniques for allowing a first user of a messaging platform to send follow-up message(s) to a second user after expiration of an allotted messaging time period without violating existing messaging policies based at least in part on opt-in messaging. The first user may perform an API call to an API of a messaging server to send a follow-up message request. Based on the request, the messaging server may send an opt-in message to the second user who may then explicitly opt in to receive a follow-up message from the first user. A qualifying response by the second user to the opt-in message may cause the messaging server to generate a unique token for the communicating pair. The first user may send the follow-up message to the second user by sending the message with the token.

Claims (86)

1. An apparatus comprising:

memory;

at least one processor operable to execute stored instructions to:

receive a request from a sender to send a follow-up message from the sender to a client device;

send an opt-in message to the client device based on the received request;

determine whether a qualifying response to the opt-in message has been received;

generate, based on the determination, a first token;

receive the follow-up message from the sender with a second token;

verify that the first and second tokens match; and

send, based on the verification, the follow-up message to the client device, wherein the follow-up message is sent to the client device without violating any messaging policies and outside a corresponding predefined messaging time period for sending messages to the client device.

2. The apparatus of claim 1 , wherein the follow-up message indicates an occurrence of a follow-up event.

3. The apparatus of claim 2 , wherein the follow-up message: (i) is a one-time notification containing two or more updates on two or more topics or (ii) comprises two or more separate update messages.

4. The apparatus of claim 1 , wherein the request for sending the follow-up message originates from a computing device associated with a business page, and the at least one processor is further operable to execute the stored instructions to:

notify the business page that a user associated with the client device has properly responded to the opt-in message via a webhook; and

send or provide the first token to the computing device associated with the business page via the webhook or in a communication separate from the webhook,

wherein the first token expires after a predefined time period,

wherein the business page has a predefined token count, and

wherein the predefined token count is decremented by one when the follow-up message is sent to the client device.

5. The apparatus of claim 1 , wherein the request for sending the follow-up message to the client device is based at least in part on a preconfigured template, wherein only a title and a payload associated with the template is customizable, and wherein the at least one processor is further operable to execute the stored instructions to generate the opt-in message for the client device based at least in part on the title and the payload of the template.

6. The apparatus of claim 1 , wherein the determination of whether the qualifying response to the opt-in message has been received comprises stored instructions to:

receive a response to the opt-in message from the client device;

determine whether the response was received within a predetermined time period;

determine whether the response explicitly includes an opt-in indication; and

determine that the qualifying response to the opt-in message has been received based on the response being received within the predetermined time period and the response explicitly including the opt-in indication.

7. The apparatus of claim 1 , wherein the at least one processor is further operable to execute the stored instructions to:

store the first token in memory, a datastore, or a database, and

wherein the verification of the first and second tokens matching further comprises stored instructions to:

determine if the first and second tokens are identical,

if the first and second tokens are identical, confirm a successful verification of the match, or

if the first and second tokens are not identical, confirm an unsuccessful verification of the match and not send the follow-up message to the client device.

8. At least one non-transitory computer-readable storage medium comprising instructions that, when executed, cause at least one processor to:

receive a request from a sender to send a follow-up message from the sender to a client device;

send an opt-in message to the client device based on the received request;

determine whether a qualifying response to the opt-in message has been received;

generate, based on the determination, a first token;

receive the follow-up message from the sender with a second token;

verify that the first and second tokens match; and

send, based on the verification, the follow-up message to the client device, wherein the follow-up message is sent to the client device without violating any messaging policies and outside a corresponding predefined messaging time period for sending messages to the client device.

9. The non-transitory computer-readable storage medium of claim 8 , wherein the follow-up message indicates an occurrence of a follow-up event.

10. The non-transitory computer-readable storage medium of claim 9 , wherein the follow-up message: (i) is a one-time notification containing two or more updates on two or more topics, or (ii) comprises two or more separate update messages.

11. The non-transitory computer-readable storage medium of claim 8 , wherein the request for sending the follow-up message originates from a computing device associated with a business page, and the instructions further cause the at least one processor to:

notify the business page that a user associated with the client device has properly responded to the opt-in message via a webhook; and

send or provide the first token to the computing device associated with the business page via the webhook or in a communication separate from the webhook,

wherein the first token expires after a predefined time period,

wherein the business page has a predefined token count, and

wherein the predefined token count is decremented by one when the follow-up message is sent to the client device.

12. The non-transitory computer-readable storage medium of claim 8 , wherein the request for sending the follow-up message to the client device is based at least in part on a preconfigured template, wherein only a title and a payload associated with the template is customizable, and wherein the instructions further cause the at least one processor to generate the opt-in message for the client device based at least in part on the title and the payload of the template.

13. The non-transitory computer-readable storage medium of claim 8 , wherein the determination of whether the qualifying response to the opt-in message has been received comprises instructions that further cause the at least one processor to:

receive a response to the opt-in message from the client device;

determine whether the response was received within a predetermined time period;

determine whether the response explicitly includes an opt-in indication; and

determine that the qualifying response to the opt-in message has been received based on the response being received within the predetermined time period and the response explicitly including the opt-in indication.

14. The non-transitory computer-readable storage medium of claim 8 , wherein the instructions further cause the at least one processor to:

store the first token in memory, a datastore, or a database, and

wherein the verification of the first and second tokens matching comprises the instructions to further cause the at least one processor to:

determine if the first and second tokens are identical,

if the first and second tokens are identical, confirm a successful verification of the match, or

if the first and second tokens are not identical, confirm an unsuccessful verification of the match and not send the follow-up message to the client device.

15. A method comprising:

receiving a request from a sender to send a follow-up message from the sender to a client device;

sending an opt-in message to the client device based on the received request;

determining whether a qualifying response to the opt-in message has been received;

generating, based on the determining, a first token;

receiving the follow-up message from the sender with a second token;

verifying that the first and second tokens match; and

sending, based on the verifying, the follow-up message to the client device, wherein the follow-up message is sent to the client device without violating any messaging policies and outside a corresponding predefined messaging time period for sending messages to the client device.

16. The method of claim 15 , wherein the follow-up message indicates an occurrence of a follow-up event, and

wherein the follow-up message: (i) is a one-time notification containing two or more updates on two or more topics or (ii) comprises two or more separate update messages.

17. The method of claim 15 , wherein the request for sending the follow-up message originates from a computing device associated with a business page, and the method further comprising:

notifying, via the one or more processors, the business page that a user associated with the client device has properly responded to the opt-in message via a webhook; and

sending or providing the first token to the computing device associated with the business page via the webhook or in a communication separate from the webhook,

wherein the first token expires after a predefined time period,

wherein the business page has a predefined token count, and

wherein the predefined token count is decremented by one when the follow-up message is sent to the client device.

18. The method of claim 15 , wherein the request for sending the follow-up message to the client device is based at least in part on a preconfigured template, wherein only a title and a payload associated with the template is customizable, and the method further comprising generating the opt-in message for the client device based at least in part on the title and the payload of the template.

19. The method of claim 15 , wherein the determining of whether the qualifying response to the opt-in message has been received further comprises:

receiving a response to the opt-in message from the client device;

determining whether the response was received within a predetermined time period;

determining whether the response explicitly includes an opt-in indication; and

determining that the qualifying response to the opt-in message has been received based on the response being received within the predetermined time period and the response explicitly including the opt-in indication.

20. The method of claim 15 , further comprising:

storing the first token in memory, a datastore, or a database, and

wherein the verifying of the first and second tokens matching further comprises:

determining if the first and second tokens are identical,

if the first and second tokens are identical, confirming a successful verification of the match, or

if the first and second tokens are not identical, confirming an unsuccessful verification of the match and not sending the follow-up message to the client device.

Assignments (2)
CHANGE OF NAME Recorded Feb 9, 2022
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058981/0383 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2020
From: SLUTSKER, IGOR; WATVE, ROHIT; XIAO, YI
To: FACEBOOK, INC.
Reel/Frame 052965/0753 →