This method will be available mid-February 2025.
Use to upload a file and synchronize contents with a Flex container. The synchronization is two-way:
First, changes from the file can be optionally be pushed into the Flex container.
Second, the file contents is updated with the latest translations from the Flex container.
The result is the uploaded file with updates, if any, from the Flex container.
NOTE: This method is designed for multilingual files only. Such as Excel, CSV, POT, XLIFF and others.
URL
(POST) /api/apps/wbflex/documents/{id}/contents/sync
PARAMETERS
The URL parameters are:
id | Specify either a document ID (such as 1000) or a job ID (such as c300). | string, Mandatory |
The BODY must be a JSON object with these properties:
file | A JSON object with the reference to the uploaded file, the parser configuration for content extraction and more. Please see a full list of properties here: Pushing content - "files" property . The file must be uploaded using media/upload to obtain a Example: "file": { "token": "{{uploadedFile}}", "name": "software-strings.xlsx", "formatId": 137, "stringKeyPattern": "string-{seq}" } | object, Mandatory |
pushMode | Optional, default is This field specifies how content is synchronized from the uploaded file to the Flex container. In many scenarios you want to sync source text changes from the file to Flex and translation changes from Flex back into the file. The options are:
| string, Optional |
isPreviewMode | Optional boolean, default is false. If true then the system simulates the update and returns all the details but it will not actually update the Flex container. | bool, Optional |
skipStatusError | Optional boolean, default is false. If true, then any texts with status in red color will not be pulled from the Flex container into the uploaded file. | bool, Optional |
callback | Specify a URL which will be called upon success or failure of operation. This makes polling for operation status unnecessary. See Callbacks (with asynchronous operations) | object, Optional |
RESULTS
The operation may take more or less time depending on the amount of data to push. Therefore it is implemented as an asynchronous operation. The API method returns an Asynchronous operation result:
{ "trm": { "requestid":32230, "status":"Waiting", "statusText":"Waiting..." } }
Specify the callback in the payload if you can process those. Otherwise and until the operation is not completed (status = Finished), you need to poll every few seconds until completion with requestid. When finished you obtain the results as a JSON:
{ "trm": { ... } "custom": { "filetoken": "0b90f03b423b44dfbbea6969e9595f01", "updatedSegments": 5, "result": { "type": "Push", "transaction": "2a0968cc-b234-4a35-9718-9a9c9aedcc1f", ... } } }
The important fields are in the custom
node. It has these properties:
filetoken | Use to download the updated / synchronized file using media/get/{token} . This is the original file you uploaded with any updates on source text or translations pulled from the Flex container. | string |
updatedSegments | The total number of segments updated in the file. | bool |
result | Full details on the content pushed from the uploaded file to the Flex container. The information is described on this page (see the Results section and the It contains information on the segments, texts and meta-data updated in the Flex container. As well as many more details. | object |