IP Library Granted Patent US 11,064,042
Granted Patent B2
US 11,064,042 · App. 16/539,354 · Granted Jul 13, 2021

Proxy server to handle webhook callbacks

Inventor: Abraham Benjamin de Waal (Pleasanton, CA)
Assignee: Hint, Inc.
H04L67/2842H04L67/02H04L67/146H04L67/2871
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,064,042
App. No.
16/539,354
Granted
Jul 13, 2021
Kind
B2
Abstract

A proxy server has a proxy callback interface to receive a webhook call from a callback producer server of a web service, the webhook call including a webhook channel address and payload callback data. A proxy server database stores a callback record comprising the payload callback data in a proxy server database. A query interface receives a callback query from a callback consumer server, the callback query identifying the webhook channel address. The query interface further configured to identify a plurality of callback records associated with the webhook channel address stored within the proxy server database after receipt of a previous callback query from the callback consumer server, and return the plurality of callback records to the callback client responsive to the callback query.

Claims (41)

1. A proxy server comprising:

a proxy callback interface to receive a webhook call from a callback producer server of a web service, the webhook call including a webhook channel address and payload callback data;

a database interface to store a callback record comprising the payload callback data in a proxy server database; and

a query interface to receive a callback query from a callback consumer server, the callback query identifying the webhook channel address, the query interface further to:

identify a plurality of callback records associated with the webhook channel address stored within the proxy server database subsequent to receipt of a previous callback query from the callback consumer server, and

return the plurality of callback records to the callback consumer server, responsive to the callback query,

wherein the callback query includes a timestamp identifying a time associated with the previous callback query, and the query interface is to store the timestamp identifying the time associated with the previous callback query.

2. The proxy server of claim 1 , wherein the callback query is a poll query that is used by the query interface to identify a polling sequence number, and wherein the query interface is to identify the plurality of callback records, associated with the webhook channel address and stored within the proxy server database, using the polling sequence number.

3. The proxy server of claim 2 , wherein the polling sequence number is included in the poll query.

4. The proxy server of claim 2 , wherein the polling sequence number is stored by the query interface, and is identified using an identifier associated with the callback consumer server.

5. The proxy server of claim 1 , wherein the proxy callback interface includes a plurality of webhook channels, each channel of the plurality of webhook channels being identified by a respective webhook channel address.

6. The proxy server of claim 1 , wherein the query interface includes a dedicated endpoint associated with the callback consumer server, the callback query being received at the dedicated endpoint.

7. The proxy server of claim 6 , wherein the query interface includes a plurality of dedicated endpoints associated with respective ones of a plurality of callback consumer servers, and wherein the query interface is to dynamically rotate the plurality of dedicated endpoints in order to provide additional security.

8. A method comprising:

storing a callback record in a proxy server database accessible by a proxy server, the callback record comprising payload callback data previously received in a webhook call comprising a webhook channel address and the payload callback data;

receiving, at a query interface of the proxy server, a callback query identifying the webhook channel address;

identify, using the callback query, a plurality of callback records associated with the webhook channel address stored within the proxy server database subsequent to receipt of a previous callback query received from a callback client; and

providing, responsive to the callback query, the plurality of callback records from the query interface to the callback client,

wherein the callback query includes a timestamp identifying a time associated with the previous callback query, and the query interface is to store the timestamp identifying the time associated with the previous callback query.

9. The method of claim 8 , wherein the callback query includes a polling sequence number, and the method includes using the polling sequence number to identify the callback record.

10. The method of claim 9 , including identifying, using the query interface, the plurality of callback records as being associated with the webhook channel address based on the polling sequence number, and providing, responsive to the callback query, the plurality of callback records from the query interface to the callback client.

11. The method of claim 10 , wherein the providing of the plurality of callback records includes identifying callback records having a respective index a value greater than the polling sequence number.

12. The method of claim 8 , wherein the proxy server supports a plurality of webhook channels, each channel of the plurality of webhook channels being identified by a respective webhook channel address, the method further including identifying a specific webhook channel from among the plurality of webhook channels based on the webhook channel address included in the webhook call.

13. The method of claim 12 , wherein the callback record comprises a webhook channel identifier identifying the specific webhook channel.

14. The method of claim 13 , wherein the storing of the callback record includes storing the callback record in a callback table associated with the specific webhook channel.

15. A computing apparatus, the computing apparatus comprising:

a processor; and

a memory storing instructions that, when executed by the processor, configure the computing apparatus to:

receive, from a callback producer machine and at a proxy callback interface of a proxy server, a webhook call comprising a webhook channel address and payload callback data;

store a callback record in a proxy server database, the callback record comprising the payload callback data;

receive, from a callback consumer machine and at a query interface of the proxy server, a callback query identifying the webhook channel address;

identify, use the callback query, a plurality of callback records associated with the webhook channel address stored within the proxy server database subsequent to receipt of a previous callback query from the callback consumer machine; and

provide, responsive to the callback query, the plurality of callback records from the query; interface to the callback consumer machine,

wherein the callback query includes a timestamp identifying a time associated with the previous callback query, and the query interface is to store the timestamp identifying the time associated with the previous callback query.

16. A non-transitory computer-readable storage medium, the computer-readable storage medium including instructions that when executed by a computer, cause the computer to:

receive, from a callback producer server and at a proxy callback interface of a proxy server, a webhook call comprising a webhook channel address and payload callback data;

store a callback record in a proxy server database, the callback record comprising the payload callback data;

receive, from a callback client and at a query interface of the proxy server, a callback query identifying the webhook channel address;

identify, use the callback query, a plurality of callback records associated with the webhook channel address stored within the proxy server database subsequent to receipt of a previous callback query from the callback client; and

provide; responsive to the callback query, the plurality of callback records from the query interface to the callback client,

wherein the callback query includes a timestamp identifying a time associated with the previous callback query, and the query interface is to store the timestamp identifying the time associated with the previous callback query.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Feb 7, 2025
From: ATHYRIUM BUFFALO LP
To: HINT, INC.
Reel/Frame 070147/0865 →
SECURITY INTEREST Recorded Mar 18, 2022
From: HINT, INC.
To: ATHYRIUM BUFFALO LP
Reel/Frame 059313/0135 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 13, 2019
From: DE WAAL, ABRAHAM BENJAMIN
To: HINT, INC.
Reel/Frame 050039/0100 →
Continuity (2)
Continuation 16147306 · Sep 28, 2018
Related Publication 20200106851A1 · Apr 2, 2020
Cited By (1)
US 12,726,411