One or more computer storage media storing computer executable instructions which when executed implement a method for managing notifications in a communications platform, the method comprising:
- receiving, from an application or web-based interface hosted on a first client device, a first set of one or more API requests that include notification creation input for a first notification, the notification creation input including an identifier of a first user as a sender of the first notification, an identifier of a second user as a recipient of the first notification, an open date for the first notification, content of the first notification, and a cover for the first notification;
- in response to receiving the first set of one or more API requests, creating a first entry in one or more notification data structures and a second entry in one or more content data structures, the first entry including a notification identifier for the first entry, the identifier of the first user as the sender of the first notification, the identifier of the second user as the recipient of the first notification, the open date for the first notification, a content identifier of the second entry, and the cover for the first notification, the second entry including the content identifier for the second entry and the content of the first notification;
- also in response to receiving the first set of one or more API requests, sending the first notification to an application or web-based interface hosted on a second client device, wherein the application or web-based interface hosted on the second client device presents the cover of the first notification and the open date for the first notification but prevents the second user from revealing the sender of the first notification and the content of the first notification prior to the open date;
- receiving, from the application or web-based interface hosted on the second client device, a second set of one or more API requests that define a request for a hint for the first notification and include the notification identifier for the first entry;
- in response to receiving the second set of one or more API requests, extracting the notification identifier for the first entry and using the notification identifier for the first entry to locate the first entry in the notification data structures;
- obtaining the identifier of the first user from the first entry and using the identifier of the first user to send a hint request notification to the application or web-based interface hosted on the first client device causing the application or web-based interface hosted on the first client device to present the request for the hint to the first user and thereafter receive the hint from the first user;
- receiving, from the application or web-based interface hosted on the first client device, a third set of one or more API requests that include the notification identifier for the first entry and the hint received from the first user;
- in response to receiving the third set of one or more API requests, extracting the notification identifier for the first entry and using the notification identifier for the first entry to locate the first entry in the notification data structures and add the hint to the first entry;
- also in response to receiving the third set of one or more API requests, sending a hint notification to the application or web-based interface hosted on the second client device, the hint notification including the notification identifier for the first entry and the hint causing the application or web-based interface hosted on the second client device to present the hint in conjunction with the first notification while continuing to prevent the second user from revealing the sender of the first notification and the content of the first notification prior to the open date;
- after reaching the open date, receiving, from the application or web-based interface hosted on the second client device, a fourth set of one or more API requests that define a request for the sender of the first notification and the content of the first notification and include the notification identifier for the first entry;
- in response to receiving the fourth set of one or more API requests, extracting the notification identifier for the first entry and using the notification identifier for the first entry to locate the first entry in the notification data structures and obtain, from the first entry, the sender of the first notification and the content identifier of the second entry;
- using the content identifier of the second entry to locate the second entry in the content data structures and obtain the content of the first notification;
- and
- sending, to the application or web-based interface hosted on the second client device, the sender of the first notification and the content of the first notification causing the sender and the content to be revealed to the second user only after reaching the open date.