{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"b55126a4-999f-4ed6-92a7-0ef07849b45e","name":"Legacy CAPI guide for Translations","description":"The contribution API (CAPI) guide for contributing translations is an admin-only tool used to bulk contribute (or) apply translations to the listings in the [ATDW-Online platform](https://www.atdw-online.com.au). \r\n\r\n## Authentication:\r\nTo contribute the translations, the API key being used must belong to the organisation with the admin entitlement and the contribution permission enabled. Please contact the ATDW support team <support@atdw.com.au> to request access to contribute the translations. \r\n\r\n## Fields supported for translations:\r\nCurrently, the following fields within each listings are supported for translations: \r\n* Product Name\r\n* Product Description\r\n* Service Name\r\n* Service Description\r\n\r\n**Note:** Tourism operators/listing owners can opt to purchase translations for any one or all fields. \r\n\r\n## Languages supported for translations: \r\n| Language            | Language Code |\r\n|---------------------|---------------|\r\n| Chinese Simplified  | CHINESE-S     |\r\n| Chinese Traditional | CHINESE-T     |\r\n| German              | GERMAN        |\r\n| French              | FRENCH        |\r\n| Japanese            | JAPANESE      |\r\n| Italian             | ITALIAN       |\r\n| Korean              | KOREAN        |\r\n| Portuguese          | PORT-EUR      |\r\n| Spanish             | SPAN-EUR      |\r\n| Indonesian          | INDONESIAN    |\r\n\r\n## Translation Process\r\n* The Operator opts to purchase the translations for their listing via the [ATDW-Online platform](https://www.atdw-online.com.au) after the listing is reviewed and published Live by the QA users. \r\n* ATDW export the listing in CSV format containing the English content.\r\n* ATDW transfers the purchased field(s) content into a separate translation template (spreadsheet) and send to the vendor for the human translations to be completed. \r\n* ATDW receives the translated content and apply the translations to the relevant listings either via the [user interface](https://atdw-online.com.au/#/admin/import-translation/upload) or via the CAPI. \r\n* If the listings are LIVE at the time of applying the translations, the translated content will be available for distribution otherwise the translated content will be made available for distribution when the QA users publish the listing LIVE.\r\n\r\n## CAPI Endpoint:\r\nThe following section applies to contributing the translations to the listings via the Contribution API (CAPI) method only.\r\n\r\n|HTTP Method|Endpoint|\r\n|----------|:-------------:|\r\n|POST|https://{{environment}}/api/listings/contributions?apikey={{key}}|\r\n\r\n* Replace {{environment}} with the appropriate test or production environment host. See Environment section below for more details.\r\n* Replace the {{key}} with your Contribution API key found under the 'ACCOUNT' section by logging into the [ATDW-Online Platform](www.atdw-online.com.au). \r\n\r\nPlease contact the ATDW support team <support@atdw.com.au> for assistance.\r\n\r\n### Environment: \r\n|Environment|Host|\r\n|----------|:---------:|\r\n|Staging / test| atlas.contentstaging.com.au|\r\n|Production | atlas.atdw-online.com.au|\r\n\r\n### Query Parameter: \r\n|Key|Value|Description|Mandatory|\r\n|----------|:---------:|:---------:|:---------:|\r\n|apikey|Your API key|The API key is unique to each organisation|Yes|\r\n|skipEmail|false|The organisation linked to the API key will receive an email notification indicating the contribution status of each listing. This is the default behaviour if the parameter is not specified|No|\r\n|skipEmail|true|The contributor will NOT receive an email notification indicating the contribution status of each listing|No|\r\n|strategy|merge|Contribute the content without publishing the listing.|No|\r\n\r\n#### More Info on \"Strategy=Merge\" query parameter: \r\n* If strategy=merge is specified, the system will update the translations without publishing and modifying the listing status. However, the contributed translations will be made available for distribution after the listing is published LIVE by the QA users.  \r\n* If strategy=merge is not specified, the system will publish the listing following the contribution. Publishing may affect the listing status. For example, if a listing status is expired or pending QA at the time of contributing the translations, the listing will be published LIVE. \r\n\r\n### Request Header: \r\n|Key|Value|Description|Mandatory|\r\n|----------|:---------:|:---------:|:---------:|\r\n|content-type|application/json|Denotes the encoding of the content|Yes|\r\n\r\n### Request Body:\r\n| **Field Name (JSON format)** |**Mandatory (Y/N)** | **Example** | **Comments** |\r\n| --- | --- | --- | --- |\r\n| **id** | Yes | ID = 56b263f02880253d74c4c87d|Provide either product ID **or** productNumber|\r\n|**productNumber**| Unique product id/productNumber of the listing for which the translation needs to be applied. | productNumber = AU0060587 | Provide either product ID **or** productNumber|\r\n| **translations[#].language** | Yes | FRENCH | Specify the language code in which the content is being translated into. Please see available language code to be used. |\r\n| **translations[#].name** | No | Bicentennial Monument | Product name in the translated language. |\r\n| **translations[#].description** | No | Ils sont simples et simples, trois paires d&#39;ailes blanches étendues en maçonnerie, debout sur le rond-point le 5 juin et les avenues de libération | Product description in the translated language. |\r\n| **translations[#].translatedFrom.name** | No | Bicentennial Monument | Current product Name in English for reference |\r\n| **translations[#].translatedFrom.description** | No | They are plain and simple, three pairs of extended white wings in masonry, standing on the roundabout at the 5th of June and Liberation Avenues... | Current product description in English for reference |\r\n| **services[#].id** | Yes | 5eb09da09a863a281df608e1 | Unique service id of the listing for which the translation needs to be applied. |\r\n| **services[#].translations[#].language** | Yes | FRENCH | Specify the language code of the translated content. Please see available language code to be used. |\r\n| **services[#].translations[#].description** | Yes | Les chambres de luxe disposent d&#39;un lit king-size ou de deux lits doubles, pouvant accueillir confortablement 2 adultes et 2 enfants ou 3 adultes. | Translated content of the service. |\r\n| **services[#].translations[#].translatedFrom.name** | No | Deluxe Room | Current service name in English for reference |\r\n| **services[#].translations[#].translatedFrom.description** | No | Deluxe rooms feature one king bed or two doubles, comfortably sleeping 2 adults and 2 children or 3 adults. | Current service description in English for reference. |\r\n\r\n### Response Body:\r\nThe response body for each listing object contains the following fields that will indicate the status of the translations: \r\n* action - This field indicates if the listing is PUBLISHED indicating the contribution is applied successfully. \r\n* status - This field indicates the [HTTP status code](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes).\r\n\r\nPlease see the sample request and response body for more details. \r\n\r\n### Note: \r\n- Translations can be applied in bulk in a single request. However, to prevent load on the server, please contribute in batches. \r\n- The following is an example scenario to contribute in batches:\r\n  - Contribute listings in batches where a single batch contains 5 listings\r\n  - Contribute 20 batches with a 5 seconds pause between each batch\r\n  - Between every 20 batches, pause for 60 secodns to allow the response to be captured. This will also allow for cool down time \r\n  - Between every 1000 batches, pause for 15 minutes to maintain the system health\r\n\r\n\r\nFor more information, please do not hesitate to contact the ATDW support team <support@atdw.com.au>.\r\n","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"14889","collectionId":"b55126a4-999f-4ed6-92a7-0ef07849b45e","publishedId":"TVCb3VTD","public":true,"publicUrl":"https://capi-translations.atdw-online.com.au","privateUrl":"https://go.postman.co/documentation/14889-b55126a4-999f-4ed6-92a7-0ef07849b45e","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"documentationLayout":"classic-double-column","customisation":null,"version":"8.10.1","publishDate":"2020-08-27T15:25:52.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{},"logos":{}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/768118b36f06c94b0306958b980558e6915839447e859fe16906e29d683976f0","favicon":"https://atdw-online.com.au/favicon.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://capi-translations.atdw-online.com.au/view/metadata/TVCb3VTD"}