IP Library Granted Patent US 11,537,448
Granted Patent B1
US 11,537,448 · App. 17/551,106 · Granted Dec 27, 2022

Adapting application programming interfaces with schema mappings

Inventors: Guido Martín Chari (Buenos Aires, AR); Nicolás Roque D'Ippolito (Ciudad Autónoma de Buenos Aires, AR); Satchuthananthavale Rasiah Kuhan Branavan (London, GB)
Assignee: ASAPP, INC.
G06F9/54
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,537,448
App. No.
17/551,106
Granted
Dec 27, 2022
Kind
B1
Abstract

A first application programming interface (API) with a first schema may be adapted to work with a second API with a second schema using mappings of schema properties and a directed graph. An API call specification of the first API may receive first API schema properties as input and provide first API schema properties as outputs. The first API schema properties may be mapped to corresponding second API schema properties, such as using semantic representations of the schema properties. An implementation of an API call for the first API may be created by using the schema mappings and selecting a path from a directed graph corresponding to the second API, where the path includes a node corresponding to an API call of the second API. Computer code may be generated using nodes of the path, and the computer code may be stored for later use.

Claims (76)

1. A computer-implemented method, comprising:

obtaining a directed graph corresponding to an external API;

selecting a first internal API call specification for a first internal API call of an internal API, wherein the first internal API call specification comprises:

receiving a first value corresponding to a first internal schema property as input, and

providing a second value corresponding to a second internal schema property as output;

creating a first internal API call implementation by:

mapping the first internal schema property to a first external schema property,

mapping the second internal schema property to a second external schema property,

selecting a path from the directed graph for implementing the first internal API call, wherein a node on the path corresponds to a first external API call of the external API, wherein selecting the path comprises computing a cost for the path, and wherein the cost is computed using a number of external API calls on the path, and

generating computer code corresponding to actions of nodes of the path, wherein the computer code performs the first external API call of the external API; and

storing the computer code.

2. The computer-implemented method of claim 1 , wherein a starting node of the path corresponds to the first internal schema property and an ending node of the path corresponds to the second internal schema property.

3. The computer-implemented method of claim 1 , wherein a starting node of the path corresponds to the first external schema property and an ending node of the path corresponds to the second external schema property.

4. The computer-implemented method of claim 1 , wherein:

a second node on the path corresponds to a second external API call; and

the computer code performs the second external API call.

5. The computer-implemented method of claim 1 , wherein the computer code corresponds to an abstract syntax tree.

6. The computer-implemented method of claim 1 , wherein the computer code is specified using functional programming.

7. A system, comprising at least one computing device comprising at least one processor and at least one memory, the at least one computing device configured to:

obtain a directed graph corresponding to an external API;

select a first internal API call specification for a first internal API call of an internal API, wherein the first internal API call specification comprises:

receiving a first value corresponding to a first internal schema property as input, and

providing a second value corresponding to a second internal schema property as output;

create a first internal API call implementation by:

mapping the first internal schema property to a first external schema property,

mapping the second internal schema property to a second external schema property,

selecting a path from the directed graph for implementing the first internal API call, wherein a node on the path corresponds to a first external API call of the external API, wherein selecting the path comprises computing a cost for the path, and wherein the cost is computed using a number of external API calls on the path, and

generating computer code corresponding to actions of nodes of the path, wherein the computer code performs the first external API call of the external API; and

store the computer code.

8. The system of claim 7 , wherein the at least one computing device is configured to:

obtain a second directed graph corresponding to a second external API;

create a second internal API call implementation by:

mapping the first internal schema property to a third external schema property of the second external API,

mapping the second internal schema property to a fourth external schema property of the second external API,

selecting a second path from the second directed graph where in a second node on the second path corresponds to a second external API call of the second external API, and

generating second computer code corresponding to second actions of second nodes of the second path, wherein the second actions comprise performing the second external API call of the second external API; and

store the second computer code.

9. The system of claim 7 , wherein the at least one computing device is configured to:

select a second internal API call specification for a second internal API call, wherein the second internal API call specification comprises:

receiving a third value corresponding to a third internal schema property as input, and

providing a fourth value corresponding to a fourth internal schema property as output;

create a second internal API call implementation by:

mapping the third internal schema property to a third external schema property,

mapping the fourth internal schema property to a fourth external schema property,

selecting a second path from the directed graph where in a second node on the second path corresponds to a second external API call of the external API, and

generating second computer code corresponding to second actions of second nodes of the second path, wherein the second actions comprise performing the second external API call of the external API; and

store the second computer code.

10. The system of claim 7 , wherein:

the internal API is an API of a provider company; and

the external API is an API of a company that is a customer of the provider company.

11. The system of claim 7 , wherein the computer code comprises structured text.

12. The system of claim 7 , wherein the at least one computing device is configured to use the computer code to implement the first internal API call in production.

13. The system of claim 7 , wherein the at least one computing device is configured to determine a mapping from the first internal schema property to a first external schema property using a first internal semantic representation of the first internal schema property and a first external semantic representation of the first external schema property.

14. The system of claim 7 , wherein the at least one computing device is configured to:

receive a specification for the external API; and

generate the directed graph using the specification.

15. One or more non-transitory, computer-readable media comprising computer-executable instructions that, when executed, cause at least one processor to perform actions comprising:

obtaining a directed graph corresponding to an external API;

selecting a first internal API call specification for a first internal API call of an internal API, wherein the first internal API call specification comprises:

receiving a first value corresponding to a first internal schema property as input, and

providing a second value corresponding to a second internal schema property as output;

creating a first internal API call implementation by:

mapping the first internal schema property to a first external schema property,

mapping the second internal schema property to a second external schema property,

selecting a path from the directed graph for implementing the first internal API call, wherein a node on the path corresponds to a first external API call of the external API, wherein selecting the path comprises computing a cost for the path, and wherein the cost is computed using a number of external API calls on the path, and

generating computer code corresponding to actions of nodes of the path, wherein the computer code performs the first external API call of the external API; and

storing the computer code.

16. The one or more non-transitory, computer-readable media of claim 15 , wherein:

the first internal API call specification comprises receiving a third value corresponding to a third internal schema property as input; and

creating a first internal API call implementation comprises mapping the third internal schema property to a third external schema property.

17. The one or more non-transitory, computer-readable media of claim 15 , wherein:

the first internal API call specification comprises providing a third value corresponding to a third internal schema property as output; and

creating the first internal API call implementation comprises mapping the third internal schema property to a third external schema property.

18. The one or more non-transitory, computer-readable media of claim 15 , wherein the actions comprise:

selecting a first domain corresponding to the external API from a plurality of domains;

wherein the first internal API call specification is associated with the first domain.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2022
From: CHARI, GUIDO MARTÍN; D'IPPOLITO, NICOLÁS ROQUE; BRANAVAN, SATCHUTHANANTHAVALE RASIAH KUHAN
To: ASAPP, INC.
Reel/Frame 058652/0342 →
Cited By (2)
US 12,705,113 US 12,717,657