Callback API

Metamug
Callback API

What are Callback APIs?

APIs send data when requested, but callbacks can send data when an event is triggered to the callback url. So the client doesn't need to check repeatedly, if new data is available.

A Callback API is defined by the service calling the API. (Also referred to as a Webhook or Reverse API)

e.g. When a Callback API is called, the responder must handle the request and provide a response that conforms to what the caller expects.

Here is an example of a callback API with callback url.

POST /api.example.com/foo?callbackURL=http://my.server.com/bar

The callback URL will be invoked by the API method you're calling after it's done.

The callback URL can be set in the server configuration, database or passed as a parameter in the ruquest as above example.

Callbacks Usage

  • API Redirect: Redirecting the user to a different url after requesting API is succesful. Additional parameters can be added by API server to callback url
  • Avoid Polling: Requests can take time to respond. The client in this case need to poll the status api i.e. A GET request for response. So certain API can accept the request and use the callback API (callback url configured in database) later to give update on the earlier request.

How are callbacks different from APIs?

API Callback
Client client requests the API url to get data callbacks call the client url to send
Server API Clients dont need a running server. They can request data when they want Callback callback need active servers. They have to be active all the time accept connections.
Push APIs cannot push data to other systems callbacks can push data to a given url
Invoke On API Request On Event Trigger
request Comes into the server Goes out to callback URL
New data Check repeatedly Pushed to callback url

How to make callbacks ?

callbacks are similar to APIs with respect to providing data to the clients. They can be built within the same API server. The user needs to provide a callback url, where they need the data send.

Setting up Callback reciever

  • Have a running server with a valid url publicly accessible
  • The URL should accept a POST request
  • URL should reply with a 201 response to let the Callback know that data has been sent correctly.

Registering the Callback url is a one time configuration activity that API user performs. The callback url from every user is different. So the API server can send data when available to different clients.

Steps to create Callback with API

  • Create an endpoint to accept Callback callback url for each user
  • Create a POST API request within the API server to callback url
  • Check for valid response from callback url and save response in database


Comments

Post a comment
Icon For Arrow-up