The callback mechanism allows for asynchronous job requests and responses. While the job_status API can be polled to get a result, a better method is to set up a callback url and let the system POST a JSON response. This is especially recommended for SDK implementations because the result will go directly back to your server and avoid client side security issues.
Most of the job requests you submit are processed asynchronously, which means results are not immediately available. We require callbacks so we can post json responses when the results of your job are available. There are two main callback urls you can set for your requests - a default callback which we will post results to by default or you can pass a callback url in each job request you make, in this case responses will be posted to the job level callback.
There are two ways of setting default callback urls:
Follow the steps below to set your default callback url in the partner portal
Login into the portal
Switch to the Developer Tools page from the menu
Click Set on the Default Callback URL card
Input your callback url (take note of the active environment)
Toggle to the other environment and input the url
You can also set default callback in any of our server-to-server libraries, you can achieve this by setting the
default_callback parameter in the initialisation of the
WebAPI class of the server-to-server library you are using.
Setting a job level callback url varies based on your integration option of choice.
For products that support callback urls, just set your url as string in the
callback_url key of your request body.
optional_callback parameter in the
options structure passed to the
submit_job function of the
You can set the per job callback url in the mobile SDKs by using the method
To be sure the requests being received are, in fact, from Smile Identity there are 2 ways this can be done
Verifying the incoming signature parameter in the request body of the result
Whitelisting our originating IP address (see below):