Project Callback URLs

Use Callback URLs are to keep relevant integrators aware of changes in phases, targets, documents, and projects and to trigger API calls to Enterprise’s system in order to automate various tasks (i.e. download a completed translation).

Project Callback URLs

Setting Project Callback URLs

To set one or multiple Callback URLs for a project:

  1. Open Projects from the sidebar menu and choose the Project you want to give a Callback URL.

  2. Open the Settings tab for that project.

  3. Select Add on the Callbacks section. 

     

  4. Select Add Callback. A modal will appear where you can add the necessary information. 

     

  5. Enter the following information:

    1. Name (required)

    2. URL (required)

    3. Organization (required) – The Callback information is only visible to the organization that created it. Multiple vendors can use callbacks to integrate with their own tools without worrying about other vendors seeing their information.

    4. External Application ID – External Application IDs are used for Dynamic Callbacks. 

    5. Callback Email(s) – You can add community members, teams, or external email addresses to this field. The email addresses added here will receive an email notification when a callback fails to be consumed by the URL you specify.  

    6. Due Date/Target Cancelled/Checkout Status – Callbacks will be sent if:

      1. due dates are changed on any level (project, document, target, or phase) 

      2. targets are cancelled.

      3. the checkout status changes on a task (task is checked out or back in).

    7. Username

    8. Password

  6. To keep your changes, click Save. To cancel all changes, select Cancel Editing.

  7.  Select the checkbox under the Default column to make a callback the default. If dynamic callbacks cannot find a match, or if dynamic defaults are selected, the default callback will be used. You can only make callbacks defaults that are used by the client organization.

Permissions for Editing Project Callbacks

Enterprise has maintained security by including different permission levels for editing Project Callbacks. 

Permission

Community Admin

Project Owner

Shared User

Edit the Project's Default Callback

Yes

Yes

No

Edit a Project Callback from their organization

Yes

Yes

Yes

Edit a Project Callback from another organization

Yes

No

No

Callback Workflow Rules

Create rules in the workflow to get Callback notifications for any phase.  

  1. Open the dropdown from the Project Resources menu on the sidebar and open Workflows. To create a new workflow, choose New Workflow. Select the desired workflow to edit an existing workflow and select the Configure Workflow icon. 

  2. On any phase, scroll down to the Rules section and choose, Add Rule.

     

  3. Choose the desired Condition – The condition refers to the condition of the Phase. (Phase Start, Phase Progress % reaches, Phase Marked Complete, MT Process is completed, Leverage TM process completes)

  4. Choose Call project callback URL as the Action – A rule is made up of a Condition and an Action

  5. Select which callback should be sent – Select “Send download interim translation callback“ to send the download_interim_translation callback. Otherwise the Target callback will be sent.

  6. Choose which project callback should be called.

    1. Project Default Callback - The default Callback for the project is used. 

    2. Dynamic Callback - Uses the External Application ID field on the document moving through the workflow to determine the correct callback. 

    3. Specify Callback - A list of all the available Callbacks for use on projects for your organization

      1. If the user chooses a specific callback in a workflow rule, it will only be sent if it belongs to the client organization or belongs to the Vendor organization assigned to the target. 

      2. Also, if the specified callback the workflow is referencing is removed from the project, the callback rule will not run when its condition is met. The default callback will not be used. 

  7. Select Save

Permissions for Editing Callback Rules

Enterprise has maintained security by including different permission levels for editing Project Callbacks. 

Permission

Community Admin

Full Project Manager

Project Owner

Edit the Rules in the Workflow Templates that define what Callback(s) to use.

Yes

Yes

No

Edit Rules in Phases for a given Target that define what Callback(s) to use.

Yes

No

Yes

Vendor Aware Callbacks

Document Due Date Changes

If the organization on the Project Callback matches the vendor organization assigned to ANY phase on ANY target in the document, then a callback will be sent to the matching project callback. If your vendor organization is NOT assigned to any phase on any target, you won't receive a callback.

Target Due Date Changes

If the organization on the Project Callback matches the vendor organization assigned to ANY phase on THAT specific target, then a callback will be sent to the matching project callback. If your vendor organization is NOT assigned to any of the phases on the target, you won't receive a callback.

Phase Due Date Changes

If the organization on the Project Callback matches the vendor organization assigned to the specific phase, then a callback will be sent to the matching project callback. If the assigned vendor organization DOES NOT match the organization on the Project Callback, a callback will not be sent to that Project Callback for the phase due date change.

Dynamic Callbacks

Dynamic Callbacks create more flexibility to our workflows. Multiple integrations can use the same workflow by tagging the documents with the correct External Application ID metadata. If the metadata matches an External Application ID of one of the Callbacks in the project, that callback will be used for the document. 

  • This can be done automatically using our APIs, or you can add metadata to documents manually

  • If documents uploaded has an External Application ID that does not match anything in the project they were uploaded to, then the default Callback will be used. 

Callback Failures

  • If the URL you provide fails to accept our callback, we will attempt to resend the callback three times before we consider the callback failed.

  • If we receive a 404 response, we will not attempt to resend the callback.

  • When the callback fails to be accepted three times (or right after we receive the 404 response), we will notify whoever you specify in the callback email field.

Callback Types

Note that header information has been removed from these examples and IDs have been simplified.

Callback

Sent when…

Example

PROJECT

the workflow is set up to call a project callback URL when the project has reached a milestone or when you use the Project Action “Send Project Callback.”

{
"method": "GET",
"path": "/",
"query": {
"projectId": "{id}",
"original_project_id": "0",
"complete": "true",
"community_id": "{uuid}",
"progress": "100",
"project_id": "{uuid}",
"type": "project"
}
}

DOCUMENT_UPLOADED

a document has successfully been imported into the TMS.

{
"method": "GET",
"path": "/",
"query": {
"document_id": "2",
"doc_mts": "1603902083671",
"projectId": "{id}",
"original_project_id": "0",
"doc_cts": "1603902083671",
"doc_require_review": "false",
"complete": "false",
"community_id": "{uuid}",
"progress": "0",
"project_id": "{uuid}",
"documentId": "1",
"doc_due_date": "1605005606077",
"type": "document_uploaded",
"doc_status": "READY"
}
}

TARGET

  • the target has reached a milestone.

  • a workflow rule is set to call the project callback URL and download interim translation callback is not specified.

{
"method": "GET",
"path": "/",
"query": {
"locale_code": "fr-FR",
"target_id": "{uuid}",
"document_id": "{uuid}",
"phase_name": "Translation",
"doc_mts": "1599680691658",
"projectId": "{id}",
"original_project_id": "0",
"doc_cts": "1599680691658",
"locale": "fr_FR",
"targetId": "{id}",
"doc_require_review": "false",
"complete": "false",
"community_id": "{uuid}",
"progress": "75",
"project_id": "{uuid}",
"status": "IN_PROGRESS",
"documentId": "{id}",
"doc_due_date": "1600784214613",
"type": "target",
"doc_status": "IN_PROGRESS"
}
}

PHASE

the workflow rule is set to call a project callback URL when a phase condition is met.

{
"method": "GET",
"path": "/",
"query": {
"locale_code": "fr-FR",
"target_id": "{uuid}",
"phase_id": "{uuid}",
"phaseId": "59936500",
"document_id": "{uuid}",
"phase_name": "Translation",
"doc_mts": "1605541576558",
"projectId": "{id}",
"original_project_id": "{uuid}",
"doc_cts": "1605541576558",
"locale": "fr_FR",
"targetId": "{id}",
"doc_require_review": "false",
"complete": "true",
"community_id": "{uuid}",
"progress": "100",
"project_id": "{uuid}",
"status": "COMPLETE",
"documentId": "{id}",
"doc_due_date": "1606439839127",
"type": "phase",
"doc_status": "IN_PROGRESS"
}
}

DOCUMENT_DELETED

a document is deleted.

{
"method": "GET",
"path": "/",
"query": {
"deleted_by_user_id": "{uuid}",
"document_id": "{uuid}",
"projectId": "{id}",
"original_project_id": "0",
"complete": "false",
"community_id": "{uuid}",
"progress": "0",
"deleted_by_user_name": "LTKLSP_26a6cbb5",
"project_id": "{uuid}",
"deleted_by_user_login": "restricted",
"documentId": "{id}",
"type": "document_deleted",
"deleted_at": "1603908587402"
}
}

TARGET_DELETED

a target is removed/deleted

ANALYSIS_COMPLETED

an analysis is requested via the API and a callback URL is provided in the API call.

DOCUMENT_CANCELLED

a document is cancelled.

TARGET_CANCELLED

a target is cancelled. This callback needs to be enabled in the project callback settings.

DUE_DATE_CHANGED

any due date is changed. This callback needs to be enabled in the project callback settings.

CHECKOUT_STATUS_CHANGED

a task has been checked-out or checked-in. This callback needs to be enabled in the project callback settings.

DOCUMENT_ARCHIVED

a document is archived.

IMPORT_FAILURE

a document fails to import. This callback needs to be enabled in the project callback settings.

DOCUMENT_UPDATED

a document has successfully updated.

DOWNLOAD_INTERIM_TRANSLATION

the workflow rule is set to call the project callback URL and download interim translation callback is specified.