The Registration Authority API can send event notifications to a URL when request status changes. Each change triggers an HTTP POST to that URL with a JSON body. This is especially useful for VideoID flows (eIDAS and External) so your application is notified when the status moves from VIDEOPENDING to VIDEOREVIEW (or VIDEOINCOMPLETE, VIDEOERROR).
The webhook URL passed as a parameter in the API is for demo purposes. For production, contact your Uanataca officer to set the webhook URL in your RA configuration.
Each status change sends a JSON object. Example:
{
"status": "VIDEOINCOMPLETE",
"date": "2021-07-20T08:08:21.132394",
"previous_status": "VIDEOPENDING",
"request": 46760,
"registration_authority": 455
}| Field | Description |
|---|---|
| status | The status that triggered the notification (most recent). |
| date | Date and time of the status change (datetime format). |
| previous_status | The status immediately before the change. |
| request | Request unique id. |
| registration_authority | Registration Authority id the request is associated with. |
Your endpoint should accept HTTP POST, read the JSON body, and return a successful HTTP status (e.g. 200).
The callback URL is the full address where your server receives POST requests, for example:
https://{host}/videoidwhere {host} is the IP or domain of the server exposing the webhook.
This example appends each received JSON to a file named status.json:
import web
urls = ('/videoid', 'videoid')
app = web.application(urls, globals())
class videoid:
def POST(self):
data = web.data()
f = open("status.json", 'a+')
f.write(data)
f.close()
return ''
if __name__ == "__main__":
app.run()<?php
$post = file_get_contents('php://input', true);
$file_handle = fopen('/videoid/status.json', 'w');
fwrite($file_handle, $post);
fclose($file_handle);
?>- Developer documentation overview
- Workflows — VideoID flows
- API reference (OpenAPI)