Webhooks notify and help you collect information about the key events that happen in your Crowdin project, like completed translations or proofreading. These user-defined callbacks enable Crowdin to open previously set URLs via HTTP.
Only project owners and project managers can register a webhook.
You can configure webhooks to listen for the following events: project fully translated or reviewed, file fully translated or reviewed, translation added, updated, deleted, approved or unapproved.
Provide the following information to create a webhook in Crowdin:
To configure webhooks in Crowdin, follow these steps:
You can configure webhooks for the following events:
The webhook will be triggered when any of your project files get fully translated.
Payload example:
{
"event": "file.translated",
"project": {{project_identifier}},
"project_id": {{project_id}},
"language": {{language_code}},
"file_id": {{file_identifier}},
"file": {{file_name}}
}
The webhook will be triggered when any of your project files get fully reviewed.
Payload example:
{
"event": "file.approved",
"project": {{project_identifier}},
"project_id": {{project_id}},
"language": {{language_code}},
"file_id": {{file_identifier}},
"file": {{file_name}}
}
The webhook will be sent when all the strings of the project are translated.
Payload example:
{
"event": "project.translated",
"project": {{project_identifier}},
"project_id": {{project_id}},
"language": {{language_code}}
}
The webhook will be sent when all the strings of the project are reviewed.
Payload example:
{
"event": "project.approved",
"project": {{project_identifier}},
"project_id": {{project_id}},
"language": {{language_code}}
}
The webhook will be sent when final translation of a string is updated.
Payload example:
{
"event": "translation.updated",
"project": {{project_identifier}},
"project_id": {{project_id}},
"language": {{language_code}},
"source_string_id": {{source_string_identifier}},
"old_translation_id": {{old_translation_identifier}},
"new_translation_id": {{new_translation_identifier}},
"user": {{user_name}},
"user_id" {{user_identifier}},
"file_id": {{file_identifier}},
"file": {{file_name}}
}
The webhook will be triggered when a string from the project gets translated.
Payload example:
{
"event": "suggestion.added",
"project": {{project_identifier}},
"project_id": {{project_id}},
"language": {{language_code}},
"file_id": {{file_identifier}},
"file": {{file_name}},
"source_string_id": {{source_string_identifier}},
"translation_id": {{translation_identifier}},
"user": {{user_name}},
"user_id": {{user_identifier}}
}
The webhook will be triggered when previously added translation for a string from the project is updated.
Payload example:
{
"event": "suggestion.updated",
"project": {{project_identifier}},
"project_id": {{project_id}},
"language": {{language_code}},
"file_id": {{file_identifier}},
"file": {{file_name}},
"source_string_id": {{source_string_identifier}},
"translation_id": {{translation_identifier}},
"user": {{user_name}},
"user_id": {{user_identifier}}
}
The webhook will be triggered when a previously added translation for the string gets deleted.
Payload example:
{
"event": "suggestion.deleted",
"project": {{project_identifier}},
"project_id": {{project_id}},
"language": {{language_code}},
"file_id": {{file_identifier}},
"file": {{file_name}},
"source_string_id": {{source_string_identifier}},
"translation_id": {{translation_identifier}},
"user": {{user_name}},
"user_id": {{user_identifier}}
}
The webhook will be triggered when previously added translation for the string gets approved.
Payload example:
{
"event": "suggestion.approved",
"project": {{project_identifier}},
"project_id": {{project_id}},
"language": {{language_code}},
"file_id": {{file_identifier}},
"file": {{file_name}},
"source_string_id": {{source_string_identifier}},
"translation_id": {{translation_identifier}},
"user": {{user_name}},
"user_id": {{user_identifier}}
}
The webhook will be triggered when a previously added translation for the string is unapproved.
Payload example:
{
"event": "suggestion.disapproved",
"project": {{project_identifier}},
"project_id": {{project_id}},
"language": {{language_code}},
"file_id": {{file_identifier}},
"file": {{file_name}},
"source_string_id": {{source_string_identifier}},
"translation_id": {{translation_identifier}},
"user": {{user_name}},
"user_id": {{user_identifier}}
}
The list of existing webhooks will be shown in the Webhooks section. You can edit or delete webhooks right from the list displayed.
Calls history of all the webhooks added will be accessible in the same section. Use the filter to check all or only unsuccessful webhook notifications.