memoQ Server provides a web service based callback to notify an external service about events in memoQ Server. The callback is performed via standard web services technology, therefore enables integration with any platform supporting standard web services, including applications developed in Microsoft .NET or Java.
This API is not offered by memoQ server. memoQ Server is able to call a third-party application offering a compatible API.
The callback service in memoQ Server is a web service-based client that calls an external web service. The external service must be published as a standard web service, and accessible by memoQ Server. The web service must be an ASMX-based web services or similar service that conform to the WS-I Basic Profile 1.1 using SOAP 1.1 without security. In order to work with this service, memoQ Server defines the service interface (contract) that the external service must implement. The service is not expected to report any business errors.
Using the callback service
The callback service is enabled on a per-project basis. Each server project in memoQ Server receives a callback url. If this url is provided, the callback service is considered to be enabled for that project. If the url is not provided, the callback service is disabled for that project. memoQ Server does not check the availability of the service until the service is used.
The remote url of the service can be set when creating new projects and can be updated for existing projects. The url is not validated by memoQ Server. memoQ client provides a test function for server projects that have and url configured. To test the url, open a server project for management in memoQ client, go to Settings / Communication (see Figure below) where the url is displayed, and the test button calls the external service reporting the result.
A callback URL can be provided when creating a new server project (CreateProject2 operation, ServerProjectDesktopDocsCreateInfo.CallbackWebServiceUrl parameter) or for existing project changing project properties (UpdateProject operation, ServerProjectUpdateInfo.CallbackWebServiceUrl parameter). It is possible to set up a project for callback notification via only the WS API, the memoQ client application can only be used for testing an already set callback url.
Each document can have an identifier provided by external system, which identifier is sent back during the callback. This ID is set when importing documents using ServerProjectService.ImportTranslationDocumentsWithOptions using the member ImportTranslationDocumentOptions.ExternalDocumentId).
The callback is about signaling a delivery event. The actions that trigger this callback are the following:
- A user delivering a document or a slice in memoQ desktop client using the deliver command.
- A user delivering a document or a slice in webTrans using the deliver command.
- (Also returning a document/slice to a previous actor using the previous commands.)
NOT included are
- Delivery from WS API (as it was triggered by the external system)
- PM changing workflow status by hand in memoQ client (there is equivalent call on the WS API, external tool should call that instead)
- Automatic changing the workflow status for example from translator not started to translation in progress when a user starts working.