API manager
A method for managing application programming interface (API) keys associated with third-party software development kits (SDKs). The method includes: receiving, from an application developer machine, a plurality of notifications identifying a plurality of third-party SDKs selected for installment in a mobile application under development; sending a plurality of API key provisioning requests to a plurality of third-party service providers including a plurality of third-party APIs corresponding to the plurality of third-party SDKs; receiving a plurality of API keys for the mobile application under development from the plurality of third-party service providers; and storing the plurality of API keys.
1 . A computer-implemented method when executed by data processing hardware causes the data processing hardware to perform operations comprising:
receiving, at an application programming interface (API) manager, an API call from an application for a mobile device, the API call associated with a conditional key and directed to a third party API of a third party service provider;
determining, by the API manager, that a respective condition of the conditional key authorizes the API manager to submit the API call to the third party API of the third party service provider on behalf of the application of the mobile device;
after determining that the respective condition of the conditional key authorizes the API manager to submit the API call to the third party API of the third party service provider on behalf of the application of the mobile device, determining that the API call does not comprise an API key specifically provisioned by the third party service provider for the application of the mobile device, the API key necessary for communication between the mobile device and the third party service provider;
in response to determining that the API call does not comprise an API key specifically provisioned by the third party service provider for the application of the mobile device:
retrieving, from the API manager, the API key specifically provisioned by the third party service provider for the application of the mobile device; and
modifying, by the API manager, the API call by inserting the API key specifically provisioned by the third party service provider for the application of the mobile device into the API call; and
communicating, by the API manager, the modified API call to the third party API of the third party service provider.
2 . The method of claim 1 , wherein determining, by the API manager, that the respective condition of the conditional key authorizes the API manager to submit the API call to the third party API comprises determining that the API call does not exceed a permissible number of API calls designated for a user of the application for the mobile device.
3 . The method of claim 1 , wherein the operations further comprise:
receiving, at the API manager, a second API call from the application of the mobile device, the second API call associated with a second conditional key and directed to the third party API of the third party service provider;
determining, by the API manager, that a respective second condition of the second conditional key fails to authorize the API manager to submit the API call to the third party API of the third party service provider on behalf of the application of the mobile device; and
after determining that the respective second condition of the second conditional key fails to authorize the API manager to submit the API call to the third party API, rejecting, by the API manager, the API call from the application for the mobile device.
4 . The method of claim 3 , wherein the operations further comprise, after determining that the respective second condition of the second conditional key fails to authorize the API manager to submit the API call to the third party API of the third party service provider on behalf of the application of the mobile device, requesting, by the API manager, that a new conditional key is provisioned for the application for the mobile device.
5 . The method of claim 1 , wherein the respective condition comprises a required format for communicating with the third party API.
6 . The method of claim 1 , wherein the respective condition comprises an access right designated by the third party service provider.
7 . The method of claim 1 , wherein the operations further comprise, after determining that the respective condition of the conditional key authorizes the API manager to submit the API call to the third party API and prior to communicating, by the API manager, the API call to the third party API, replacing, by the API manager, the conditional key with the API key specifically provisioned by the third party service provider for the application of the mobile device.
8 . The method of claim 1 , wherein the application for the mobile device comprises:
a software development kit of the third party service provider; and
code including the conditional key.
9 . The method of claim 8 , wherein the code of the application for the mobile device was modified during application development of the application to include the conditional key.
10 . The method of claim 1 , wherein the application for the mobile device is configured with a direct connection to the third party service provider that bypasses the API manager.
11 . The method of claim 1 , wherein the conditional key corresponds to an authentication token configured to enable the application of the mobile device to communicate a respective API call to the third party API of the third party service provider.
12 . The method of claim 11 , wherein the authentication token is stored at the API manager while the application for the mobile device fails to include the authentication token.
13 . A system comprising:
data processing hardware; and
memory hardware in communication with the data processing hardware, the memory hardware storing instructions that when executed on the data processing hardware cause the data processing hardware to perform operations comprising:
receiving, at an application programming interface (API) manager, an API call from an application for a mobile device, the API call associated with a conditional key and directed to a third party API of a third party service provider;
determining, by the API manager, that a respective condition of the conditional key authorizes the API manager to submit the API call to the third party API of the third party service provider on behalf of the application of the mobile device;
after determining that the respective condition of the conditional key authorizes the API manager to submit the API call to the third party API of the third party service provider on behalf of the application of the mobile device, determining that the API call does not comprise an API key specifically provisioned by the third party service provider for the application of the mobile device, the API key necessary for communication between the mobile device and the third party service provider;
in response to determining that the API call does not comprise an API key specifically provisioned by the third party service provider for the application of the mobile device:
retrieving, from the API manager, the API key specifically provisioned by the third party service provider for the application of the mobile device; and
modifying, by the API manager, the API call by inserting the API key specifically provisioned by the third party service provider for the application of the mobile device into the API call; and
communicating, by the API manager, the modified API call to the third party API of the third party service provider.
14 . The system of claim 13 , wherein determining, by the API manager, that the respective condition of the conditional key authorizes the API manager to submit the API call to the third party API comprises determining that the API call does not exceed a permissible number of API calls designated for a user of the application for the mobile device.
15 . The system of claim 13 , wherein the operations further comprise:
receiving, at the API manager, a second API call from the application of the mobile device, the second API call associated with a second conditional key and directed to the third party API of the third party service provider;
determining, by the API manager, that a respective second condition of the second conditional key fails to authorize the API manager to submit the API call to the third party API of the third party service provider on behalf of the application of the mobile device; and
after determining that the respective second condition of the second conditional key fails to authorize the API manager to submit the API call to the third party API, rejecting, by the API manager, the API call from the application for the mobile device.
16 . The system of claim 15 , wherein the operations further comprise, after determining that the respective second condition of the second conditional key fails to authorize the API manager to submit the API call to the third party API of the third party service provider on behalf of the application of the mobile device, requesting, by the API manager, that a new conditional key is provisioned for the application for the mobile device.
17 . The system of claim 13 , wherein the respective condition comprises a required format for communicating with the third party API.
18 . The system of claim 13 , wherein the respective condition comprises an access right designated by the third party service provider.
19 . The system of claim 13 , wherein the operations further comprise, after determining that the respective condition of the conditional key authorizes the API manager to submit the API call to the third party API and prior to communicating, by the API manager, the API call to the third party API, replacing, by the API manager, the conditional key with the API key specifically provisioned by the third party service provider for the application of the mobile device.
20 . The system of claim 13 , wherein the application for the mobile device comprises:
a software development kit of the third party service provider; and
code including the conditional key.
21 . The system of claim 20 , wherein the code of the application for the mobile device was modified during application development of the application to include the conditional key.
22 . The system of claim 13 , wherein the application for the mobile device is configured with a direct connection to the third party service provider that bypasses the API manager.
23 . The system of claim 13 , wherein the conditional key corresponds to an authentication token configured to enable the application of the mobile device to communicate a respective API call to the third party API of the third party service provider.
24 . The system of claim 23 , wherein the authentication token is stored at the API manager while the application for the mobile device fails to include the authentication token.