Webhook usage
You can setup a webhook on your batches.
Code Reference
See the code reference for further details.
A webhook is attached to a batch, but you can easily define a webhook for all the batches in a project.
New batch
If you create a new batch, you have to set the webhook on it. If you use the same webhook parameters for all the batches of your project,
you can call setup_webhook
with only a project_id
parameter. It will update the webhook of all the batches on your projects without loosing
the "log" information (lastCall
and lastError
)
Usage
Setup a simple webhook on all batches on my project
from isahitlab.client import IsahitLab
lab = IsahitLab()
lab.setup_webhook(
project_id='<project_id>',
webhook_url='<my_url>'
)
URL
The webhook_url
must start with http
You can also setup a webhook for a specific batch
from isahitlab.client import IsahitLab
lab = IsahitLab()
lab.setup_webhook(
project_id='<project_id>',
batch_id='<batch_id>',
webhook_url='<my_url>'
)
To check the webhook of a batch, you can use get_webhook
from isahitlab.client import IsahitLab
lab = IsahitLab()
my_webhook = lab.get_webhook(
project_id='<project_id>',
batch_id='<batch_id>'
)
json.dumps(my_webhook, indent=2)
Log
You can only know the information of the last call (lastCall
).
Isahit Lab also keep the last error (lastError
).
The body of the response is stored to facilitate debugging.
See the code below and the output.
from isahitlab.client import IsahitLab
lab = IsahitLab()
my_webhook = lab.get_webhook(
project_id='<project_id>',
batch_id='<batch_id>'
)
json.dumps(my_webhook, indent=2)
Output:
{
"header": "<my_authorization_token>",
"url": "<my_url>",
"updatedAt": "2024-12-17T15:23:21.433Z",
"lastCall": {
"statusCode": 200,
"message": "OK",
"date": "2024-12-17T15:10:37.619Z"
},
"lastError": {
"statusCode": 400,
"message": "Bad Request",
"body": {
...
}
}
}
Authorization
You can define a header that will be sent as the Authorization header of the request.
from isahitlab.client import IsahitLab
lab = IsahitLab()
lab.setup_webhook(
project_id='<project_id>',
webhook_url='<my_url>',
webhook_header='<my_authorization_token>'
)
Request
Isahit Lab will make a POST call on your URL.
{
"workflowId": string,
"type": "annotation" | "review",
"taskId": string,
"batchId": string,
"projectId": string
}
type
type
lets you know if the task has been done in an annotation job or a review job
You can now use the SDK to get your task.