curl --request POST \
--url https://eu.phrase.com/connectors/optimizely/v1/sync/download-xliff-file \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"connectorUuid": "4282fec0-d2e9-4266-8733-3e634feb7b59",
"configuration": {},
"path": {
"pathType": "ITEM",
"id": "12345"
},
"sourceLocale": "en",
"targetLocale": "de"
}
'import requests
url = "https://eu.phrase.com/connectors/optimizely/v1/sync/download-xliff-file"
payload = {
"connectorUuid": "4282fec0-d2e9-4266-8733-3e634feb7b59",
"configuration": {},
"path": {
"pathType": "ITEM",
"id": "12345"
},
"sourceLocale": "en",
"targetLocale": "de"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
connectorUuid: '4282fec0-d2e9-4266-8733-3e634feb7b59',
configuration: {},
path: {pathType: 'ITEM', id: '12345'},
sourceLocale: 'en',
targetLocale: 'de'
})
};
fetch('https://eu.phrase.com/connectors/optimizely/v1/sync/download-xliff-file', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://eu.phrase.com/connectors/optimizely/v1/sync/download-xliff-file",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'connectorUuid' => '4282fec0-d2e9-4266-8733-3e634feb7b59',
'configuration' => [
],
'path' => [
'pathType' => 'ITEM',
'id' => '12345'
],
'sourceLocale' => 'en',
'targetLocale' => 'de'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://eu.phrase.com/connectors/optimizely/v1/sync/download-xliff-file"
payload := strings.NewReader("{\n \"connectorUuid\": \"4282fec0-d2e9-4266-8733-3e634feb7b59\",\n \"configuration\": {},\n \"path\": {\n \"pathType\": \"ITEM\",\n \"id\": \"12345\"\n },\n \"sourceLocale\": \"en\",\n \"targetLocale\": \"de\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://eu.phrase.com/connectors/optimizely/v1/sync/download-xliff-file")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"connectorUuid\": \"4282fec0-d2e9-4266-8733-3e634feb7b59\",\n \"configuration\": {},\n \"path\": {\n \"pathType\": \"ITEM\",\n \"id\": \"12345\"\n },\n \"sourceLocale\": \"en\",\n \"targetLocale\": \"de\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://eu.phrase.com/connectors/optimizely/v1/sync/download-xliff-file")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"connectorUuid\": \"4282fec0-d2e9-4266-8733-3e634feb7b59\",\n \"configuration\": {},\n \"path\": {\n \"pathType\": \"ITEM\",\n \"id\": \"12345\"\n },\n \"sourceLocale\": \"en\",\n \"targetLocale\": \"de\"\n}"
response = http.request(request)
puts response.read_body"<string>"{
"problemDetail": {
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"properties": {}
}
}Download Optimizely content as XLIFF synchronously
Download Optimizely content as XLIFF 2.0, ready for translation. The connector applies its segmentation and serialization rules to produce a translation-ready file targeting the requested locale pair.
Pair with upload-xliff-file once translated.
curl --request POST \
--url https://eu.phrase.com/connectors/optimizely/v1/sync/download-xliff-file \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"connectorUuid": "4282fec0-d2e9-4266-8733-3e634feb7b59",
"configuration": {},
"path": {
"pathType": "ITEM",
"id": "12345"
},
"sourceLocale": "en",
"targetLocale": "de"
}
'import requests
url = "https://eu.phrase.com/connectors/optimizely/v1/sync/download-xliff-file"
payload = {
"connectorUuid": "4282fec0-d2e9-4266-8733-3e634feb7b59",
"configuration": {},
"path": {
"pathType": "ITEM",
"id": "12345"
},
"sourceLocale": "en",
"targetLocale": "de"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
connectorUuid: '4282fec0-d2e9-4266-8733-3e634feb7b59',
configuration: {},
path: {pathType: 'ITEM', id: '12345'},
sourceLocale: 'en',
targetLocale: 'de'
})
};
fetch('https://eu.phrase.com/connectors/optimizely/v1/sync/download-xliff-file', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://eu.phrase.com/connectors/optimizely/v1/sync/download-xliff-file",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'connectorUuid' => '4282fec0-d2e9-4266-8733-3e634feb7b59',
'configuration' => [
],
'path' => [
'pathType' => 'ITEM',
'id' => '12345'
],
'sourceLocale' => 'en',
'targetLocale' => 'de'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://eu.phrase.com/connectors/optimizely/v1/sync/download-xliff-file"
payload := strings.NewReader("{\n \"connectorUuid\": \"4282fec0-d2e9-4266-8733-3e634feb7b59\",\n \"configuration\": {},\n \"path\": {\n \"pathType\": \"ITEM\",\n \"id\": \"12345\"\n },\n \"sourceLocale\": \"en\",\n \"targetLocale\": \"de\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://eu.phrase.com/connectors/optimizely/v1/sync/download-xliff-file")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"connectorUuid\": \"4282fec0-d2e9-4266-8733-3e634feb7b59\",\n \"configuration\": {},\n \"path\": {\n \"pathType\": \"ITEM\",\n \"id\": \"12345\"\n },\n \"sourceLocale\": \"en\",\n \"targetLocale\": \"de\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://eu.phrase.com/connectors/optimizely/v1/sync/download-xliff-file")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"connectorUuid\": \"4282fec0-d2e9-4266-8733-3e634feb7b59\",\n \"configuration\": {},\n \"path\": {\n \"pathType\": \"ITEM\",\n \"id\": \"12345\"\n },\n \"sourceLocale\": \"en\",\n \"targetLocale\": \"de\"\n}"
response = http.request(request)
puts response.read_body"<string>"{
"problemDetail": {
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"properties": {}
}
}Authorizations
IDM-issued JWT. Obtain via the IDM authentication flow and pass as: Bearer
Headers
A logging ID of the request. It is propagated through Phrase systems, making it easier to connect logs from various services. If no ActionId is sent with a request, one will be generated by Bifrost and returned with the response.
Specify if the response should contain the processed object itself in an application/octet-stream body, or a application/json body with an ID that can be then used to retrieve the object using a /load-content endpoint. Note that for larger files (> 1 MB), it is advised to use the ID option which is also default.
ID, OBJECT Body
Request body for downloading Optimizely content as XLIFF 2.0. Authenticate by supplying connectorUuid; the connector loads its stored credentials from TMS and applies its segmentation and serialization rules to produce a translation-ready XLIFF.
UUID of a connector instance configured in TMS.
"4282fec0-d2e9-4266-8733-3e634feb7b59"
Optimizely-specific behavior knobs.
Selector inside the Optimizely project — content item, folder, or ROOT.
Show child attributes
Show child attributes
Source locale of the content (Optimizely locale code).
"en"
Target locale to generate XLIFF for (Optimizely locale code).
"de"
Response
OK — XLIFF binary stream (returned when X-ResponseType=OBJECT).
The response is of type file.
Was this page helpful?