SAAS saas_plat openapi template - nxtele/nxcloud-doc-en GitHub Wiki

Get Template Message List

Retrieve template message list via API.

  • URL: https://api-hk.nxlink.ai/saas/wa/template/{phone}?page_number={page_number}&page_size={page_size}&name={name}&tenant_id={tenant_id}
  • Method: GET
  • Content-Type: application/json
  • Requires authentication: Yes

Request Parameters

Header Parameters

Parameter Type Required Example Description
accessKey String Yes fme2na3kdi3ki User identity key
ts String Yes 1655710885431 Timestamp in milliseconds. Max allowed time drift is 60 seconds.
bizType String Yes 2 WhatsApp business type, fixed value "2"
action String Yes mt WhatsApp action, fixed value "mt"
sign String Yes 6e9506557d1f289501d333ee2c365826 Signature, see common auth rules

Query Parameters

Parameter Type Required Example Description
phone String Yes 86158xxxx1795 WhatsApp sender number with country code
tenant_id Long Yes 1 Tenant ID
page_number integer Yes 1 Page number
page_size integer Yes 10 Page size
name String No template name Template name

Response Fields

Field Type Description
data data JsonObject Result data
message string Message
code integer Result code

data

Field Type Description
id Long Template ID
channel integer Channel type: 2 WhatsApp
name String Template name
content String Template content
created_at String Created time
updated_at String Updated time
status integer Template status (0 rejected, 1 pending, 2 in use, 3 appealed, 6 unavailable, 9 pending deletion, 11 paused, 12 exceeded limit, 14 deleted)
language String Language code
language_name String Language name
unsubscribe String Unsubscribe status
quality String Template quality
category String Template category name: MARKETING, UTILITY
category_type String Template category type: 1 MARKETING, 2 UTILITY
waRejectedReason String Rejection reason
is_close_auto_flow integer Close unassigned session: 0 no, 1 yes

Response Example

{
    "code": 0,
    "message": "",
    "data": {
        "list": [
            {
                "id": 314,
                "channel": 2,
                "name": "buttontest22",
                "content": "Hello, I am the new virtual assistant. I can help you discover products or provide support. Please reach out if I can help!",
                "created_at": "2024-06-25 14:31:26",
                "updated_at": "2024-06-25 15:27:39",
                "status": 2,
                "language": "en_GB",
                "language_name": "English (UK)",
                "unsubscribe": "",
                "additional": null,
                "quality": "UNKNOWN",
                "category": "MARKETING",
                "category_type": 1,
                "waRejectedReason": "",
                "is_close_auto_flow": 0
            }
        ],
        "total": 1,
        "has_next_page": false
    },
    "traceId": "16f9ca88e70844a8a088f9a4a3806e5e"
}

Create Template Message

Create template via API.

  • URL: https://api-hk.nxlink.ai/saas/wa/template/{phone}
  • Method: POST
  • Content-Type: application/json
  • Requires authentication: Yes

Request Parameters

Header Parameters

Parameter Type Required Example Description
accessKey String Yes fme2na3kdi3ki User identity key
ts String Yes 1655710885431 Timestamp in milliseconds. Max allowed time drift is 60 seconds.
bizType String Yes 2 WhatsApp business type, fixed value "2"
action String Yes mt WhatsApp action, fixed value "mt"
sign String Yes 6e9506557d1f289501d333ee2c365826 Signature, see common auth rules

Path Parameters

Parameter Type Required Example Description
phone String Yes 86158xxxx1795 WhatsApp sender number with country code

Body Parameters

Parameter Type Required Example Description
tenant_id Long Yes 1 Tenant ID
name String Yes test_1 Template name (no Chinese characters)
language String Yes af Template language code
category_type integer Yes 1 Template category: 1 MARKETING, 2 UTILITY
content String Yes Template content Template content
headerText String No - Header text
mediaName String No - Header media name (see upload media response original_filename)
mediaId String No - Header media ID (see upload media response media_id)
mediaType String No - Header media type: IMAGE, DOCUMENT, VIDEO
templateMediaId String No - Header media template ID (see upload media response h)
footerText String No - Footer text
tag_name String No - Tag name (must exist; used when sending template message)
syn_meta boolean No true Sync Meta API: true sync, false no sync (default true)
is_close_auto_flow integer No 0 Close unassigned session: 0 no, 1 yes
buttonComponents array[buttonComponent JsonObject] No - Template buttons
  • buttonComponent object parameters:
Parameter Type Required Example Description
type String Yes - Button type: QUICK_REPLY, URL, PHONE_NUMBER, FLOW, COPY_CODE
customizeType String No - Custom type for QUICK_REPLY: conventional, unsubscribe
text String Yes - Button text
phoneNumber String Yes - Phone number, required when type=PHONE_NUMBER
url String Yes - URL, required when type=URL. For dynamic URL use suffix variable like {{1}}
flow_id String No - Flow ID, required when type=FLOW
buttonEvents array[buttonEvent JsonObject] No - Related events
example array[string] No - Required when type=URL and dynamic URL; example: https://www.baidu.com/user Required when type=COPY_CODE
  • buttonEvent object parameters:
Parameter Type Required Example Description
event String Yes - Event type: tag, text, template
tagName String No - Tag name, required when event=tag
text String No - Text content, required when event=text
templateId String No - Template ID, required when event=template
templateName String No - Template name, required when event=template

Reference Screenshot Example 1

template-1

Request Example 1

{
    "name": "test_23",
    "tenant_id ": 123,
    "language": "af",
    "category_type": 1,
    "content": "send messsage content:WhatsApp:{{WhatsApp}},end message",
    "headerText": "",
    "footerText": "foot",
    "mediaName": "1705406614735.jpg",
    "templateMediaId": "4:MTcwNTQwNjYxNDczNS5qcGc=:aW1hZ2UvcG5n:ARYVc4sZwi3xB-cwPixWwFGyXYwd_SZ4JyGw89jmzar1IWgtWQtJmZTokdNe0wJ8LzUM_8QV0wqfw-Lzu5nk0_j2j75qeAxXQMBYLl247jV-tw:e:1719648253:1407008009801826:100084713375965:ARaNsT4tjB0mMOdhv48",
    "mediaId": "1167113681293447",
    "mediaType":"IMAGE",
    "tag_name":"tag1",
    "is_close_auto_flow": 0,
    "buttonComponents": [
        {
            "customizeType": "conventional",
            "text": "button1",
            "type": "QUICK_REPLY",
            "payload": "",
            "buttonEvents": [
                {
                    "event": "tag",
                    "tagName": "Viber tag"
                },
                {
                    "event": "template",
                    "templateId": 314,
                    "templateName": "buttontest22"
                }
            ]
        },
        {
            "customizeType": "conventional",
            "text": "button 2",
            "type": "QUICK_REPLY",
            "payload": "test text",
            "buttonEvents": [
                {
                    "event": "tag",
                    "tagName": "Viber tag"
                },
                {
                    "event": "text",
                    "text": "test text"
                }
            ]
        }
    ]
}

Reference Screenshot Example 2

template-1

Request Example 2

{
    "name": "test_23",
    "tenant_id ": 123,
    "language": "af",
    "category_type": 1,
    "content": "send messsage content:WhatsApp:{{WhatsApp}},end message",
    "headerText": "",
    "footerText": "foot",
    "mediaName": "1705406614735.jpg",
    "templateMediaId": "4:MTcwNTQwNjYxNDczNS5qcGc=:aW1hZ2UvcG5n:ARYVc4sZwi3xB-cwPixWwFGyXYwd_SZ4JyGw89jmzar1IWgtWQtJmZTokdNe0wJ8LzUM_8QV0wqfw-Lzu5nk0_j2j75qeAxXQMBYLl247jV-tw:e:1719648253:1407008009801826:100084713375965:ARaNsT4tjB0mMOdhv48",
    "mediaId": "1167113681293447",
    "mediaType":"IMAGE",
    "tag_name":"tag1",
    "is_close_auto_flow": 0,
    "buttonComponents": [
        {
            "customizeType": "conventional",
            "text": "button1",
            "type": "QUICK_REPLY",
            "payload": "",
            "buttonEvents": [
                {
                    "event": "tag",
                    "tagName": "Viber tag"
                },
                {
                    "event": "template",
                    "templateId": 314,
                    "templateName": "buttontest22"
                }
            ]
        },
        {
            "customizeType": "conventional",
            "text": "button 2",
            "type": "QUICK_REPLY",
            "payload": "test text",
            "buttonEvents": [
                {
                    "event": "tag",
                    "tagName": "Viber tag"
                },
                {
                    "event": "text",
                    "text": "test text"
                }
            ]
        }
    ]
}

Reference Screenshot Example 3

Request Example 3

{
  "tenant_id": 1,
  "language": "en_US",
  "category_type": 1,
  "name": "country_code_test001",
  "content": "country_code_test001",
  "templateMediaId": "",
  "buttonComponents": [
    {
      "type": "QUICK_REPLY",
      "text": "test button",
      "customizeType": "conventional"
    },
    {
      "type": "URL",
      "text": "Open url",
      "url": "https://www.baidu.com/"
    },
    {
      "type": "URL",
      "text": "Open url",
      "url": "https://www.google.com/"
    }
  ]
}

Reference Screenshot Example 4

image

Request Example 4

{
  "name": "test_23",
  "tenant_id ": 123,
  "language": "af",
  "category_type": 1,
  "content": "send messsage content:WhatsApp:{{WhatsApp}},end message",
  "headerText": "",
  "footerText": "foot",
  "mediaName": "1705406614735.jpg",
  "templateMediaId": "4:MTcwNTQwNjYxNDczNS5qcGc=:aW1hZ2UvcG5n:ARYVc4sZwi3xB-cwPixWwFGyXYwd_SZ4JyGw89jmzar1IWgtWQtJmZTokdNe0wJ8LzUM_8QV0wqfw-Lzu5nk0_j2j75qeAxXQMBYLl247jV-tw:e:1719648253:1407008009801826:100084713375965:ARaNsT4tjB0mMOdhv48",
  "mediaId": "1167113681293447",
  "mediaType":"IMAGE",
  "tag_name":"tag1",
  "is_close_auto_flow": 0,
  "buttonComponents": [
    {
      "customizeType": "conventional",
      "text": "button1",
      "type": "QUICK_REPLY",
      "payload": "",
      "buttonEvents": [
        {
          "event": "tag",
          "tagName": "Viber tag"
        },
        {
          "event": "template",
          "templateId": 314,
          "templateName": "buttontest22"
        }
      ]
    },
    {
      "customizeType": "conventional",
      "text": "button 2",
      "type": "URL",
      "url": "https://www.baidu.com/",
      "example": ["https://www.baidu.com/user"],
      "buttonEvents": [
        {
          "event": "text",
          "text": "button text"
        }
      ]
    }
  ]
}

Update Template

Update template via API.

  • URL: https://api-hk.nxlink.ai/saas/wa/template/{phone}
  • Method: PUT
  • Content-Type: application/json
  • Requires authentication: Yes

Request Parameters

Header Parameters

Parameter Type Required Example Description
accessKey String Yes fme2na3kdi3ki User identity key
ts String Yes 1655710885431 Timestamp in milliseconds. Max allowed time drift is 60 seconds.
bizType String Yes 2 WhatsApp business type, fixed value "2"
action String Yes mt WhatsApp action, fixed value "mt"
sign String Yes 6e9506557d1f289501d333ee2c365826 Signature, see common auth rules

Path Parameters

Parameter Type Required Example Description
phone String Yes 86158xxxx1795 WhatsApp sender number with country code

Body Parameters

Parameter Type Required Example Description
tenant_id Long Yes 1 Tenant ID
name String Yes test_1 Template name (no Chinese characters)
language String Yes af Template language code
category_type integer Yes 1 Template category: 1 MARKETING, 2 UTILITY
content String Yes Template content Template content
headerText String No - Header text
mediaName String No - Header media name (see upload media response original_filename)
mediaId String No - Header media ID (see upload media response media_id)
mediaType String No - Header media type: IMAGE, DOCUMENT, VIDEO
templateMediaId String No - Header media template ID (see upload media response h)
footerText String No - Footer text
tag_name String No - Tag name (must exist; used when sending template message)
syn_meta boolean No true Sync Meta API: true sync, false no sync (default true)
is_close_auto_flow integer No 0 Close unassigned session: 0 no, 1 yes
buttonComponents array[buttonComponent JsonObject] No - Template buttons
  • buttonComponent object parameters:
Parameter Type Required Example Description
type String Yes - Button type: QUICK_REPLY, URL, PHONE_NUMBER, FLOW, COPY_CODE
customizeType String No - Custom type for QUICK_REPLY: conventional, unsubscribe
text String Yes - Button text
phoneNumber String Yes - Phone number, required when type=PHONE_NUMBER
url String Yes - URL, required when type=URL. For dynamic URL use suffix variable like {{1}}
flow_id String No - Flow ID, required when type=FLOW
buttonEvents array[buttonEvent JsonObject] No - Related events
example array[string] No - Required when type=URL and dynamic URL; example: https://www.baidu.com/user Required when type=COPY_CODE
  • buttonEvent object parameters:
Parameter Type Required Example Description
event String Yes - Event type: tag, text, template
tagName String No - Tag name, required when event=tag
text String No - Text content, required when event=text
templateId String No - Template ID, required when event=template
templateName String No - Template name, required when event=template

Request Example

{
  "tenant_id": 1,
  "language": "en_US",
  "category_type": 1,
  "name": "country_code_test001",
  "content": "country_code_test001",
  "templateMediaId": "",
  "buttonComponents": [
    {
      "type": "QUICK_REPLY",
      "text": "test button",
      "customizeType": "conventional"
    },
    {
      "type": "URL",
      "text": "Open url",
      "url": "https://www.baidu.com/"
    },
    {
      "type": "URL",
      "text": "Open url",
      "url": "https://www.google.com/"
    }
  ]
}

Get Template Details

Retrieve template details via API.

  • URL: https://api-hk.nxlink.ai/saas/wa/template/{phone}/{id}?tenant_id={tenant_id}
  • Method: GET
  • Content-Type: application/json
  • Requires authentication: Yes

Request Parameters

Header Parameters

Parameter Type Required Example Description
accessKey String Yes fme2na3kdi3ki User identity key
ts String Yes 1655710885431 Timestamp in milliseconds. Max allowed time drift is 60 seconds.
bizType String Yes 2 WhatsApp business type, fixed value "2"
action String Yes mt WhatsApp action, fixed value "mt"
sign String Yes 6e9506557d1f289501d333ee2c365826 Signature, see common auth rules

Path Parameters

Parameter Type Required Example Description
phone String Yes 86158xxxx1795 WhatsApp sender number with country code
id String Yes 1 Template ID
tenant_id String Yes 123 Tenant ID

Response Example 1

{
    "code": 0,
    "message": "",
    "data": {
        "namespace": null,
        "name": "test_23",
        "category": "MARKETING",
        "category_type": 1,
        "components": [
            {
                "type": "HEADER",
                "format": "IMAGE",
                "text": null,
                "buttons": null,
                "parameters": null,
                "sub_type": null,
                "index": null,
                "example": {
                    "header_handle": "https://goss.oss-accelerate.aliyuncs.com/1167113681293447?Expires=1719311172&OSSAccessKeyId=LTAI5tBrjWM5EyDe6MA5uc7z&Signature=BqE8WVjP%2B%2B19G4I4bLuL7ISGyo8%3D",
                    "file_name": "1705406614735.jpg"
                },
                "filename": "1705406614735.jpg",
                "url": null,
                "media_id": "1167113681293447",
                "h": "4:YjZjODg1NGEtMDA4ZC00ZjcwLTkzYjAtZTVjZTdiNGZmNmJmMTcwNTQwNjYxNDczNS5qcGc=:aW1hZ2UvcG5n:ARbSZFssPqLjHjFifodFDQL_79OaBg9JDrz67b_wlP2wrobpzHRv6fqHfHg-YlZVOM4X4bGeYnIv7uXpsVcYvQULdQ1cFqPgVFIl0pkID7Ao6Q:e:1719656714:1407008009801826:100084713375965:ARYtgY7tK8u5Jn3qzt0",
                "media_type": null
            },
            {
                "type": "BODY",
                "format": null,
                "text": "send content: WhatsApp:{{WhatsApp}}, end message",
                "buttons": null,
                "parameters": null,
                "sub_type": null,
                "index": null,
                "example": {
                    "body_text": [
                        [
                            "8613800000000"
                        ]
                    ]
                },
                "filename": null,
                "url": null,
                "media_id": null,
                "h": null,
                "media_type": null
            },
            {
                "type": "FOOTER",
                "format": null,
                "text": "foot content",
                "buttons": null,
                "parameters": null,
                "sub_type": null,
                "index": null,
                "example": null,
                "filename": null,
                "url": null,
                "media_id": null,
                "h": null,
                "media_type": null
            },
            {
                "type": "BUTTONS",
                "format": null,
                "text": null,
                "buttons": [
                    {
                        "type": "QUICK_REPLY",
                        "text": "button1",
                        "payload": null,
                        "url": null,
                        "phone_number": null,
                        "flow_id": null,
                        "navigate_screen": null,
                        "flow_action": null,
                        "buttonReqs": {
                            "type": "QUICK_REPLY",
                            "customizeType": "conventional",
                            "text": "button1",
                            "phoneNumber": null,
                            "url": null,
                            "payload": "305",
                            "buttonEvents": [
                                {
                                    "event": "tag",
                                    "tagName": "Viber tag",
                                    "tagId": 33991,
                                    "templateName": null,
                                    "templateId": null,
                                    "text": null
                                },
                                {
                                    "event": "template",
                                    "tagName": null,
                                    "tagId": null,
                                    "templateName": "buttontest22",
                                    "templateId": 314,
                                    "text": null
                                }
                            ],
                            "flow_id": null,
                            "navigate_screen": null,
                            "flow_action": null
                        }
                    },
                    {
                        "type": "QUICK_REPLY",
                        "text": "tag2",
                        "payload": null,
                        "url": null,
                        "phone_number": null,
                        "flow_id": null,
                        "navigate_screen": null,
                        "flow_action": null,
                        "buttonReqs": {
                            "type": "QUICK_REPLY",
                            "customizeType": "conventional",
                            "text": "tag2",
                            "phoneNumber": null,
                            "url": null,
                            "payload": "306",
                            "buttonEvents": [
                                {
                                    "event": "tag",
                                    "tagName": "LINE tag",
                                    "tagId": 33992,
                                    "templateName": null,
                                    "templateId": null,
                                    "text": null
                                }
                            ],
                            "flow_id": null,
                            "navigate_screen": null,
                            "flow_action": null
                        }
                    }
                ],
                "parameters": null,
                "sub_type": null,
                "index": null,
                "example": null,
                "filename": null,
                "url": null,
                "media_id": null,
                "h": null,
                "media_type": null
            }
        ]
    },
    "traceId": "bd110c9c8a4644c70b33fb37ce1c01983"
}

Response Example 2

{
  "code": 0,
  "message": null,
  "data": {
    "id": 214,
    "channel": 2,
    "name": "otp_0923",
    "content": "Your verification code is {{1}}.",
    "created_at": "2024-06-26 16:45:05",
    "updated_at": "2024-06-26 16:45:05",
    "status": 2,
    "language": "en_US",
    "language_name": "English (US)",
    "unsubscribe": "",
    "additional": null,
    "quality": "UNKNOWN",
    "category": "UTILITY",
    "category_type": 2,
    "waRejectedReason": "",
    "is_close_auto_flow": 0,
    "buttonComponents": null
  },
  "traceId": "d2b1f0e3d05f4013b2ae4cf2c03b60a3"
}

Response Example 3

{
  "code": 0,
  "message": null,
  "data": {
    "id": 207,
    "channel": 2,
    "name": "222",
    "content": "template https://119.91.210.214:10001/api/shortLink/doAccess/Y3Mjmq  content",
    "created_at": "2024-06-26 15:57:29",
    "updated_at": "2024-06-26 15:57:29",
    "status": 2,
    "language": "en_US",
    "language_name": "English (US)",
    "unsubscribe": "",
    "additional": null,
    "quality": "UNKNOWN",
    "category": "MARKETING",
    "category_type": 1,
    "waRejectedReason": "",
    "is_close_auto_flow": 0,
    "buttonComponents": [
      {
        "type": "URL",
        "text": "URL",
        "url": "https://testnxlink.nxcloud.com/",
        "example": [
          "https://testnxlink.nxcloud.com/"
        ]
      }
    ]
  },
  "traceId": "fd0452fe65f04c608d4cb19c3b07826f"
}

Delete Template

Delete template via API.

  • URL: https://api-hk.nxlink.ai/saas/wa/template/{phone}/{id}?tenant_id=123
  • Method: DELETE
  • Content-Type: application/json
  • Requires authentication: Yes

Request Parameters

Header Parameters

Parameter Type Required Example Description
accessKey String Yes fme2na3kdi3ki User identity key
ts String Yes 1655710885431 Timestamp in milliseconds. Max allowed time drift is 60 seconds.
bizType String Yes 2 WhatsApp business type, fixed value "2"
action String Yes mt WhatsApp action, fixed value "mt"
sign String Yes 6e9506557d1f289501d333ee2c365826 Signature, see common auth rules

Path Parameters

Parameter Type Required Example Description
phone String Yes 86158xxxx1795 WhatsApp sender number with country code
id String Yes 1 Template ID

Get WhatsApp Flow

Retrieve WhatsApp Flow data via API.

  • URL: https://api-hk.nxlink.ai/saas/wa/flow/{phone}?tenant_id=123
  • Method: GET
  • Content-Type: application/json
  • Requires authentication: Yes

Request Parameters

Header Parameters

Parameter Type Required Example Description
accessKey String Yes fme2na3kdi3ki User identity key
ts String Yes 1655710885431 Timestamp in milliseconds. Max allowed time drift is 60 seconds.
bizType String Yes 2 WhatsApp business type, fixed value "2"
action String Yes mt WhatsApp action, fixed value "mt"
sign String Yes 6e9506557d1f289501d333ee2c365826 Signature, see common auth rules

Path Parameters

Parameter Type Required Example Description
phone String Yes 86158xxxx1795 WhatsApp sender number with country code
tenant_id String Yes 123 Tenant ID

Response Example 3

{
  "code": 0,
  "message": null,
  "data": {
    "flow_list": [
      {
        "id": "470341793809141",
        "name": "1",
        "status": "DRAFT",
        "categories": [
          "OTHER"
        ],
        "validation_errors": [],
        "json_version": "3.0",
        "data_api_version": "3.0",
        "data_channel_uri": "",
        "routing_model": "FIXED",
        "preview": {
          "url": "",
          "expires_at": "0001-01-01T00:00:00Z"
        },
        "preview_url": "",
        "preview_expires_at": "0001-01-01T00:00:00Z",
        "created_at": "2024-06-26T16:16:31Z",
        "updated_at": "2024-06-26T16:16:31Z",
        "published": false,
        "updated_by": "103252575816549"
      }
    ]
  },
  "traceId": "bd110c9c8a4644c70b33fb37ce1c01983"
}

Upload Media (for template media samples and Meta upload)

Upload media via API (used for template media samples and uploading files to Meta).

  • URL: https://api-hk.nxlink.ai/saas/wa//media/{phone}
  • Method: POST
  • Content-Type: multipart/form-data
  • Requires authentication: Yes

Request Parameters

Header Parameters

Parameter Type Required Example Description
accessKey String Yes fme2na3kdi3ki User identity key
ts String Yes 1655710885431 Timestamp in milliseconds. Max allowed time drift is 60 seconds.
bizType String Yes 2 WhatsApp business type, fixed value "2"
action String Yes mt WhatsApp action, fixed value "mt"
sign String Yes 6e9506557d1f289501d333ee2c365826 Signature, see common auth rules

Path Parameters

Parameter Type Required Example Description
phone String Yes 86158xxxx1795 WhatsApp sender number with country code

Body Parameters

Parameter Type Required Example Description
url String Yes - Media URL

Response Example

Success Example

{
  "code": 0,
  "message": "",
  "data": {
    "media_id": "1167113681293447",
    "original_filename": "1705406614735.jpg",
    "media_type": "IMAGE",
    "url": "https://goss.oss-accelerate.aliyuncs.com/1187184585633620?Expires=1719315130&OSSAccessKeyId=LTAI5tBrjWM5EyDe6MA5uc7z&Signature=8NorCSFNymSYnBq56xKC6L2yaW0%3D"
  },
  "traceId": "71b975a9d6084a6dbf77755c9d1f6bdf"
}

Response Codes

code message solution
0 Success -
-1 Failure Contact support
1000~100X Authentication error See authentication section
22016 Parameter error Merchant has not configured WhatsApp app
22072 Parameter error Invalid parameters

Template Languages

Afrikaans | af | | Hebrew | he | | Malayalam | ml | | Telugu | te | | Zulu | zu | Albanian | sq | | Hindi | hi | | Marathi | mr | | Turkish | tr | Arabic | ar | | Hungarian | hu | | Norwegian | nb | | Ukrainian | uk | Azerbaijani | az | | Indonesian | id | | Persian | fa | | Urdu | ur | Bengali | bn | | Irish | ga | | Polish | pl | | Uzbek | uz | Bulgarian | bg | | Italian | it | | Portuguese | pt | | Vietnamese | vi | Catalan | ca | | Japanese | ja | | Portuguese (BR) | pt_BR | | Welsh | cy | Chinese (CHN) | zh_CN | | Javanese | jv | | Punjabi | pa | | Chinese (HK) | zh_HK | Chinese (TAI) | zh_TW | | Kannada | kn | | Romanian | ro | | Chinese (KOR) | zh_KR | Croatian | hr | | Kazakh | kk | | Russian | ru | | Croatian | hr | Czech | cs | | Khmer | km | | Serbian | sr | | Czech | cs | Danish | da | | Korean | ko | | Slovak | sk | | Danish | da | Dutch | nl | | Lao | lo | | Slovenian | sl | | Dutch | nl | English | en | | Latin | la | | Spanish | es | | English | en | English (UK) | en_GB | | Latvian | lv | | Spanish (ARG) | es_AR | | English (UK) | en_GB | English (US) | en_US | | Lithuanian | lt | | Spanish (SPA) | es_ES | | English (US) | en_US | Estonian | et | | Macedonian | mk | | Swahili | sw | | Estonian | et |