Knowledge Base

Documentation on how to translate software with POEditor

Webhooks are user-defined HTTP callbacks, which can be maintained, modified and managed by any third-party users, in order to cause events on one site to invoke behavior on another.

Webhooks can be called from anywhere. They can be added in a Bitbucket repo's settings, to extend what Bitbucket does when the repository changes (for example, new code is pushed or a pull request is merged).

When the webhook is triggered, the assigned languages/projects on POEditor receive data from the Bitbucket file that is connected to it.

URL Example

https://poeditor.com/api/webhooks/bitbucket?api_token=a9824103d8729b923fbe1d268ec69ef9&id_project=7717&language=en&operation=import_translations

  • api_token (required) - you can get this key from your POEditor account. You'll find it in My Account > API Access.
  • id_project (required) - the id of project. You'll find it in My Account > API Access.
  • language (required) - language code. You'll find it in My Account > API Access.
  • operation (required) - can be one of the following:
    • get_terms - brings the terms from connected file on Bitbucket to the POEditor project
    • import_translations - brings the translations from the file on Bitbucket repo to the linked language in the POEditor project
    • import_terms_and_translations - brings new terms from the file on Bitbucket repo to the POEditor project, also adding translations to the linked language
    • export_terms_and_translations - sends terms and translations from POEditor to the linked file on Bitbucket
    • sync_terms_and_translations - gets the terms and translations from Bitbucket repo and removes obsolete terms from POEditor
  • overwrite_translations (optional) - when importing translations to POEditor, set it to 1 in order to overwrite existing translations

In the Bitbucket integration page, you can find a webhook generator.

Notes: 1) The export option can be triggered from anywhere, except Bitbucket. 2) How your webhook behaves is determined by how you set it up in the integration page, in the Settings of each linked language.