Push API v4

Enviar una notificación o un mensaje a un único dispositivo o a una lista de dispositivos.

El contenido del push solo puede ser un único objeto push en formato JSON.

Para funciones relacionadas con etiquetas/alias, consulte AppPushAPI.

Esta es la versión más reciente de la Push API. Las mejoras de la versión v4 son las siguientes:

  • Se utiliza autenticación básica HTTP (HTTP Basic Authentication) para autorizar el acceso. De este modo, se puede completar toda la solicitud de la API utilizando herramientas HTTP comunes, como curl y complementos del navegador.
  • El contenido del push está en formato JSON.

Límites de tasa de solicitudes

Nuestra API impone límites a la frecuencia de llamadas para garantizar la estabilidad y la equidad del servicio. Los límites de QPS (consultas por segundo) para cada AppKey son los siguientes:

  • Límite estándar: un máximo de 500 solicitudes por segundo.
  • Límite avanzado: si usted es suscriptor de nuestro plan de pago y su AppKey de pago requiere un límite de QPS más alto, póngase en contacto con nuestro equipo comercial: Sales@engagelab.com.

Validación de llamadas

Para obtener más información, consulte Método de autenticación

Dirección de llamada

POST /v4/push
              
              POST /v4/push

            
Este bloque de código se muestra en una ventana flotante

Ejemplos de solicitud

Encabezado de solicitud

> POST /v4/push HTTP/1.1 > Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
              
              > POST /v4/push HTTP/1.1
> Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==

            
Este bloque de código se muestra en una ventana flotante

Cuerpo de la solicitud

{ "from": "push", "to": "all", "body": { "platform": "web", "notification": { "alert": "Hi,MTPush !", "web": { "alert": "Hi,MTPush !", "title": "web_push", "url": "http://www.google.com", "extras": { "web-key1": "web-value1" } } } }, "request_id": "12345678", "custom_args": { "business": "info" } }
              
              {
    "from": "push",
    "to": "all",
    "body": {
        "platform": "web",
        "notification": {
            "alert": "Hi,MTPush !",
            "web": {
              "alert": "Hi,MTPush !",
                "title": "web_push",
                "url": "http://www.google.com",
                "extras": {
                    "web-key1": "web-value1"
                }
            }
        }
    },
    "request_id": "12345678",
    "custom_args": {
        "business": "info"
    }
}

            
Este bloque de código se muestra en una ventana flotante

Parámetros de la solicitud

La estructura de parámetros del push se detalla en la tabla siguiente:

Palabra clave Tipo Opción Descripción
from String Opcional Remitente del negocio actual
to String o JSON Object Obligatorio Destino de envío
body JSON Object Obligatorio Cuerpo de la solicitud de envío
platform String o JSON Array Obligatorio Plataforma de push
notification JSON Object Opcional
  • El cuerpo de la notificación, que es el contenido enviado al cliente.
  • Junto con message, debe incluirse uno, y no pueden coexistir.
  • message JSON Object Opcional
  • El cuerpo del mensaje, que es el contenido enviado al cliente.
  • Junto con notification, debe incluirse uno, y no pueden coexistir.
  • options JSON Object Opcional Parámetros de push
    request_id String Opcional Campo opcional personalizado que utiliza el cliente para identificar la solicitud y que se devuelve en la respuesta.
    custom_args JSON Object Opcional Campos opcionales personalizados por el cliente, que se devuelven al cliente durante el callback.

    from

    El remitente del negocio actual. El valor es de tipo String y es opcional.

    Ejemplos de solicitud

    { "from":"push" }
                  
                  {
        "from":"push"
    }
    
                
    Este bloque de código se muestra en una ventana flotante

    to

    Objeto de dispositivo de push, que indica la lista de dispositivos a los que se puede enviar un push. MTPush proporciona dos métodos: Registration ID y difusión.

    Destino de push

    Palabra clave Tipo Significado Descripción Nota
    all String Difusión Enviar a todos los dispositivos Enviar a los dispositivos objetivo que hayan estado activos en los últimos 365 días.
    registration_id JSON Array Registration ID Array. La relación entre múltiples registration_id es OR, es decir, la unión. El ID del dispositivo. Se pueden enviar como máximo 1000 por vez.
    tag JSON Array Etiqueta Array. La relación entre múltiples etiquetas es OR, es decir, se toma la unión. Utilizar etiquetas para segmentar atributos de dispositivos y atributos de usuarios a gran escala.
  • Enviar hasta 20 por vez.
  • Composición válida de etiquetas: letras (distingue mayúsculas/minúsculas), números, guiones bajos y caracteres chinos.
  • Límite: la longitud de cada etiqueta está limitada a 40 bytes. (Se requiere codificación UTF-8 para determinar la longitud)
  • tag_and JSON Array Etiqueta AND Array. Múltiples etiquetas están en relación AND, es decir, se toma la intersección. Tener en cuenta la distinción con tag; hasta 20 por vez.
    tag_not JSON Array Etiqueta NOT Array. Entre múltiples etiquetas, primero se toma el conjunto combinado de múltiples etiquetas y, después, se toma el conjunto complementario de ese resultado. Enviar hasta 20 por vez.
    alias JSON Array Alias Array. Múltiples alias están en relación OR, es decir, se toma la unión. Identificar a un usuario mediante un alias.
  • Un dispositivo solo puede vincularse a un alias, y viceversa.
  • Enviar hasta 1000 por vez.
  • Composición válida de alias: letras (distingue mayúsculas/minúsculas), números, guiones bajos y caracteres chinos.
  • Límite: la longitud de cada alias está limitada a 40 bytes. (Se requiere codificación UTF-8 para determinar la longitud)

  • La relación implícita entre múltiples valores en un array es OR, es decir, se toma la unión; sin embargo, tag_and es diferente, ya que la relación entre múltiples valores en un array es AND, es decir, se toma la intersección.

    Si se utiliza tag_not de forma independiente, se realizará el procesamiento tag_not entre los usuarios de difusión.

    Estos tipos pueden coexistir. La relación implícita entre múltiples tipos cuando coexisten es AND, es decir, se toma la intersección. Por ejemplo:

    "to" : {"tag" : [ "tag1", "tag2"], "tag_and" : ["tag3", "tag4"], "tag_not" : ["tag5", "tag6"] }
                  
                  "to" : {"tag" : [ "tag1", "tag2"],
    "tag_and" : ["tag3", "tag4"],
    "tag_not" : ["tag5", "tag6"]
    }
    
                
    Este bloque de código se muestra en una ventana flotante

    Primero, calcular el resultado del campo "tag": tag1 or tag2 = A;

    A continuación, calcular el resultado del campo "tag_and": tag3 and tag4 = B;

    A continuación, calcular el resultado del campo "tag_not": not (tag5 or tag6) = C;

    El resultado final de "to" es A and B and C.


    Ejemplos de solicitud

    • Enviar a todos (difusión):
    { "to": "all", }
                  
                  {
      "to": "all",
    }
    
                
    Este bloque de código se muestra en una ventana flotante
    • Enviar a múltiples Registration ID:
    { "to": { "registration_id": [ "1a3018970ab49abcd8e", "1537bfd3f7d57d13cef", "163a3797c816b1160dc" ] } }
                  
                  {
      "to": {
        "registration_id": [
          "1a3018970ab49abcd8e",
          "1537bfd3f7d57d13cef",
          "163a3797c816b1160dc"
        ]
      }
    }
    
                
    Este bloque de código se muestra en una ventana flotante

    body

    Cuerpo de la solicitud de envío. Los campos admitidos son los siguientes:

    Palabra clave Tipo Opción Descripción
    platform String o JSON Array Obligatorio Plataforma de push
    notification JSON Object Opcional
  • El cuerpo de la notificación, que es el contenido enviado al cliente.
  • Junto con message, debe incluirse uno, y no pueden coexistir.
  • message JSON Object Opcional
  • El cuerpo del mensaje, que es el contenido enviado al cliente.
  • Junto con notification, debe incluirse uno, y no pueden coexistir.
  • options JSON Object Opcional Parámetros de push

    platform

    MTPush actualmente solo admite push en la plataforma Web, por lo que la palabra clave de platform es: "web".

    { "platform" : "web" }
                  
                  { "platform" : "web" }
    
                
    Este bloque de código se muestra en una ventana flotante

    notification

    El objeto "notification" es uno de los objetos de contenido de un push (el otro es "message"), y se envía a la Web como una notificación.

    Palabra clave Tipo Opción Significado Descripción
    web JSON Object Obligatorio Atributo de plataforma Parámetros de push de la plataforma

    web

    Notificación en la plataforma Web.

    Palabra clave Tipo Opción Significado Descripción
    alert String o JSON Object Obligatorio Contenido El contenido del mensaje en sí; si se especifica aquí, sobrescribe el alert de nivel superior.
    url String Opcional URL de Web Push Dirección de redirección al hacer clic en la notificación. Si se proporciona, debe ser una URL válida.
    title String Opcional Título Título del mensaje
    extras JSON Object Opcional Campos ampliados Información Key/Value personalizada en formato JSON para uso empresarial.
    icon String Opcional Icono de notificación Se recomienda 192×192 px, sin restricción estricta; tamaño máximo 1 M, formatos: JPG, PNG, GIF. Compatible con Chrome, Firefox (Safari y Edge no admiten personalización).
    image String Opcional Imagen grande Se recomienda 360×180 px, sin restricción estricta; tamaño máximo 1 M, formatos: JPG, PNG, GIF. Compatible con Chrome, Edge (Firefox y Safari no son compatibles).
    { "notification": { "web": { "alert": "hello, Push!", "title": "Push Test", "url":"http://www.google.com", "icon":"", "image":"", "extras": { "news_id": 134, "my_key": "a value" } } } }
                  
                  {
        "notification": {
            "web": {
                "alert": "hello, Push!",
                "title": "Push Test",
                "url":"http://www.google.com",
                "icon":"",
                "image":"",
                "extras": {
                    "news_id": 134,
                    "my_key": "a value"
                }
            }
        }
    }
    
                
    Este bloque de código se muestra en una ventana flotante

    message

    Mensaje dentro de la aplicación. También conocido como: mensaje personalizado o mensaje transparente. Este contenido no se mostrará en el navegador. Tras recibir el contenido del mensaje, el SDK lo transmite a la Web, que se encarga de la lógica empresarial.

    El mensaje contiene los siguientes campos:

    Palabra clave Tipo Opción Descripción
    msg_content String o JSON Object Obligatorio Contenido del mensaje
    title String Opcional Título del mensaje
    content_type String Opcional Tipo de contenido del mensaje
    extras JSON Object Opcional Parámetros opcionales en formato JSON

    Ejemplo:

    { "message": { "msg_content": "Hi,Push", "content_type": "text", "title": "msg", "extras": { "key": "value" } } }
                  
                  {
      "message": {
        "msg_content": "Hi,Push",
        "content_type": "text",
        "title": "msg",
        "extras": {
          "key": "value"
        }
      }
    }
    
                
    Este bloque de código se muestra en una ventana flotante

    options

    Opciones de push. Actualmente incluye las siguientes opciones:

    Palabra clave Tipo Opción Significado Descripción
    time_to_live Int o String Opcional Duración de retención de mensajes offline (segundos)
  • Si el usuario no está en línea en el momento del push, el mensaje offline se puede retener durante el tiempo especificado para reenviarlo cuando esté en línea.
  • El valor predeterminado es 86400 (1 día), máximo 15 días. Si el valor máximo admitido por el navegador es menor que el valor configurado, prevalece el máximo del sistema.
  • Establecer en 0 significa no retener mensajes offline; solo los usuarios en línea pueden recibirlos.
  • override_msg_id Long Opcional ID del mensaje a sobrescribir Si el push actual debe sobrescribir un push anterior, introduzca aquí el msg_id del push anterior:
  • Los mensajes offline recibidos con ese msg_id tendrán el contenido actualizado. Si la notificación ya fue recibida pero no se ha eliminado de la barra de notificaciones, el nuevo contenido la sobrescribirá.
  • El tiempo límite de la función de sobrescritura es 1 día. Si el msg_id no existe en ese plazo, se devuelve el error 1003, indicando que no es una operación válida de sobrescritura, y el mensaje actual no se enviará.
  • big_push_duration Int Opcional Duración del push a velocidad controlada (minutos)
  • También conocido como push lento. Reduce la velocidad de envío para distribuir uniformemente el push a los usuarios objetivo en los n minutos indicados; el valor máximo es 1440.
  • Puede haber hasta 20 pushes con velocidad controlada simultáneamente.
  • Si no se configura, no se aplica velocidad controlada.
  • web_buttons JSON Object Opcional Añadir botones a la notificación
  • Se pueden añadir hasta 2 botones.
  • Se puede configurar el nombre del botón y el enlace de redirección. Para más detalles, consulte web_buttons.
  • multi_language JSON Object Opcional Configuración de push multilingüe Configuración de adaptación multilingüe del contenido del push. Para más detalles, consulte multi_language.
    third_party_channel JSON Object Opcional Información de configuración del canal del sistema Web Parámetro válido solo para usuarios configurados con canales del sistema. Para más detalles, consulte third_party_channel.
    plan_id String Opcional Identificador del plan de push Es necesario crear previamente un valor de identificador de plan, que se puede crear desde la consola o a través de la API.
    cid String Opcional Identificador de solicitud de push para evitar pushes duplicados Solo se permiten letras, números, guiones bajos y guiones, con una longitud máxima de 64 caracteres. Este campo debe ser único bajo el mismo AppKey.

    multi_language

    Este campo es la funcionalidad de push multilingüe del servicio EngageLab Push. Permite enviar notificaciones personalizadas para usuarios de diferentes idiomas. Al especificar múltiples idiomas y su contenido de mensaje, título correspondiente en la solicitud de push, puede enviar notificaciones adecuadas según la configuración de idioma del usuario.

    Parámetros de solicitud
    Palabra clave Tipo Opción Significado Descripción
    en String Opcional Clave de idioma múltiple Corresponde al idioma del usuario del push. Consulte los códigos de idioma en el apéndice.
    content String Opcional Contenido del mensaje Reemplaza los datos de notification.web.alert y message.msg_content según el idioma del usuario.
    title String Opcional Título del mensaje Reemplaza los datos de notification.web.title y message.title según el idioma del usuario.
    Ejemplo de solicitud
    { "options": { "multi_language": { "en": { "content": "", "title": "", } } } }
                  
                     {
        "options": {
          "multi_language": {
            "en": {
              "content": "",
              "title": "",
            }
          }
        }
       }
    
                
    Este bloque de código se muestra en una ventana flotante

    web_buttons

    Utilice el parámetro web_buttons para describir el id, texto, icono y url del botón. La descripción de los parámetros es la siguiente:

    Palabra clave Tipo Opción Significado Descripción
    id String Obligatorio ID del botón Compatible desde Chrome 48+
    text String Obligatorio Contenido del botón Compatible desde Chrome 48+
    icon String Opcional Icono del botón Compatible desde Chrome 50+
    url String Obligatorio Enlace de redirección del botón Compatible desde Chrome 48+. Si se usa web_buttons, el campo url en web no tendrá efecto

    Ejemplo:

    [ { "id": "like-button", "text": "Like", "icon": "http://i.imgur.com/N8SN8ZS.png", "url": "https://yoursite.com" }, { "id": "read-more-button", "text": "Read more", "icon": "http://i.imgur.com/MIxJp1L.png", "url": "https://yoursite.com" } ]
                  
                  [
      {
        "id": "like-button",
        "text": "Like",
        "icon": "http://i.imgur.com/N8SN8ZS.png",
        "url": "https://yoursite.com"
      },
      {
        "id": "read-more-button",
        "text": "Read more",
        "icon": "http://i.imgur.com/MIxJp1L.png",
        "url": "https://yoursite.com"
      }
    ]
    
                
    Este bloque de código se muestra en una ventana flotante

    third_party_channel

    Este campo se utiliza para rellenar la información personalizada del canal del sistema Web. El nombre de la clave es w3push y el valor es un objeto JSON que solo contiene un campo opcional distribution de tipo String.

    Palabra clave Tipo Opción Significado Descripción
    distribution Obligatorio String Establecer la prioridad de entrega cuando Engagelab y el canal del sistema coexisten El valor no puede ser una cadena vacía. El valor predeterminado es first_ospush.
  • first_ospush: el push se envía primero a través del canal del sistema; si no es válido, se envía a través del canal Engagelab.
  • mtpush: el push se envía obligatoriamente a través del canal Engagelab.
  • secondary_push: el push se envía primero a través de Engagelab; si Engagelab no está en línea, se utiliza el canal del sistema como auxiliar (se recomienda este método).
  • ospush: el push se envía obligatoriamente solo a través del canal del sistema.
  • Ejemplo:

    { "third_party_channel":{ "w3push":{ "distribution":"mtpush" } } }
                  
                  {
      "third_party_channel":{
        "w3push":{
          "distribution":"mtpush"
        }
      }
    }
    
                
    Este bloque de código se muestra en una ventana flotante

    request_id

    ID de solicitud, campo opcional personalizado por el cliente. El cliente lo utiliza para identificar la solicitud y se devuelve en la respuesta.

    Ejemplo de solicitud

    { "request_id":"12345678" }
                  
                  {
          "request_id":"12345678"
    }
    
                
    Este bloque de código se muestra en una ventana flotante

    Ejemplo de respuesta

    custom_args

    Campo opcional personalizado por el cliente. No se devuelve en la respuesta, pero se devuelve durante el callback.

    { "custom_args": { "business": "info" } }
                  
                  {
      "custom_args": {
            "business": "info"
        }
    }
    
                
    Este bloque de código se muestra en una ventana flotante

    Parámetros de respuesta

    Respuesta exitosa

    Campo Tipo Opción Descripción
    request_id String Obligatorio La propiedad de respuesta siempre está presente. El ID personalizado enviado en la solicitud se devuelve tal cual; si no se envía, suele ser una cadena vacía.
    msg_id String Obligatorio ID del mensaje, identifica de forma única un mensaje.
    < HTTP/1.1 200 OK < Content-Type: application/json {"request_id":"18","msg_id":"1828256757"}
                  
                  < HTTP/1.1 200 OK
    < Content-Type: application/json
    {"request_id":"18","msg_id":"1828256757"}
    
                
    Este bloque de código se muestra en una ventana flotante

    Respuesta fallida

    El código de estado HTTP es 4xx o 5xx. El cuerpo de la respuesta contiene los siguientes campos:

    Campo Tipo Opción Descripción
    code int Obligatorio Código de error. Consulte la descripción de Códigos de error.
    message String Obligatorio Detalles del error
    { "code": 3002, "message": "Push.template field must be set correctly when type is template" }
                  
                  {
        "code": 3002,
        "message": "Push.template field must be set correctly when type is template"
    }
    
                
    Este bloque de código se muestra en una ventana flotante

    Respuesta de llamada

    Código de estado HTTP

    Documento de referencia: HTTP-Status-Code

    Códigos de error

    Code Descripción Explicación detallada HTTP Status Code
    20101 Parámetros de push no válidos El registration_id no es válido o no pertenece al appkey actual 400
    21001 Solo se admite el método HTTP Post No se admite el método Get 405
    21002 Falta un parámetro obligatorio Se debe corregir 400
    21003 Valor de parámetro no válido Se debe corregir 400
    21004 Error de verificación Se debe corregir; consultar: llamada para verificación 401
    21005 Cuerpo del mensaje demasiado grande Se debe corregir; el límite de longitud de Notification/Message es 4000 bytes 400
    21007 Parámetro de entrada ilegal El parámetro receiver_value es ilegal 400
    21008 Parámetro app_key no válido Debe corregirse. Verifique si el appkey transmitido es una cadena de 24 caracteres y si contiene espacios adicionales 400
    21009 Error interno del sistema Póngase en contacto con el equipo de soporte 400
    21011 No se encontró un destino de push adecuado Comprobar el campo 'to' 400
    21015 Error de validación de parámetros de solicitud Existen parámetros inesperados 400
    21016 Error de validación de parámetros de solicitud Error de tipo de parámetro o la longitud del parámetro excede el límite 400
    21030 Tiempo de espera interno del servicio Reintentar más tarde 503
    21036 Error de parámetro Los mensajes de notificación y los mensajes personalizados no pueden enviarse simultáneamente 400
    21037 group_key no válido group_key no es una cadena de 24 caracteres, o el grupo de aplicaciones correspondiente no existe 400
    21038 Error de permisos de push VIP caducado o no activado 400
    21039 Error de parámetro de Web Button El id, url o text del Web Button está vacío 400
    21040 El número de Web Button supera el límite El número de Web Buttons no puede superar 2 400
    21041 URL de Web Button no válida El formato de url del Web Button no es válido 400
    21042 ID de Web Button duplicado Los id de Web Button en la misma solicitud no pueden duplicarse 400
    21043 Error de permisos de push La aplicación tiene una factura impagada 400
    21061 Error de validación de contenido o de configuración de callback El contenido del push contiene palabras sensibles, o el callback_url solicitado no está configurado en las direcciones de callback de la aplicación actual 400
    21062 El número de destinos de push del archivo supera el límite El número de destinos de push en el archivo supera la cuota de la aplicación o el límite del sistema 400
    23006 Error de parámetro El big_push_duration del push a tasa fija excede el valor máximo de 1440 400
    23008 Interfaz con limitación de tasa La QPS de la interfaz de push de una sola aplicación alcanza el límite (500 qps) 400
    23009 Error de permisos de push La dirección IP actual de push no está en la lista blanca de IP de la aplicación 400
    27000 Error interno de memoria Reintentar 500
    27001 Información de autenticación no válida El AppKey en Basic Auth tiene 24 caracteres pero la aplicación no existe, o la información de autenticación de la aplicación no es válida 401
    27006 override_msg_id no existe No se encontró el registro de push correspondiente a override_msg_id 400
    27007 Formato de override_msg_id incorrecto override_msg_id es negativo o tiene un formato no válido 400
    27008 Error de parámetro Distribution dentro de third_party_channel no está vacío, pero el contenido alert de notification está vacío 400
    27009 Error de parámetro Formato no válido o vacío para distribution en third_party_channel 400
    27104 El ID de segmento no existe El segment ID no existe. Cree o modifique el segmento primero 400
    27200 msg_id no válido El formato de msg_id no es válido 400
    27201 msg_id no existe o no pertenece a la aplicación El msg_id no existe o no pertenece al appkey actual 400
    27202 El mensaje ya se ha retirado El mensaje correspondiente a msg_id ya se ha retirado 400
    27203 Error del sistema Error del sistema, reintente 400
    27204 Tiempo de retirada del mensaje superado El mensaje ha superado el tiempo permitido de retirada 400
    27300 ID de plan de push no válido El formato de plan_id no es válido 400
    27301 Descripción del plan de push no válida La longitud de plan_description supera el límite 400
    27302 El número de planes de push supera el límite El número de planes de push disponibles ha alcanzado el límite 400
    27303 El ID de plan de push está vacío plan_id no puede estar vacío 400
    27304 El ID de plan de push es demasiado largo La longitud de plan_id supera el límite 400
    27305 El plan de push no existe El plan_id indicado no existe bajo el appkey actual 400
    27306 El número de ID de plan de push supera el límite El número de plan_ids supera el límite 400
    28100 Parámetro de tarea programada no válido El parámetro schedule task no es válido 400
    28101 Fallo de autenticación de la tarea programada Basic Authentication falló 401
    28102 Parámetro de push programado no válido El parámetro push está vacío o no es válido 400
    28103 Hora de push programado no válida El formato de single time o trigger time es incorrecto 400
    28104 La tarea programada no existe La schedule task solicitada no existe 404
    28105 La tarea programada no tiene destino de push No hay destinos de push que cumplan las condiciones a la hora programada 400
    28200 Error de sistema de la tarea programada Se produjo un error interno inesperado en el servicio 500

    Restricciones de push

    Canal Longitud del título Longitud del contenido Otras instrucciones
    Canal Engagelab Sin límite, pero se limita el tamaño total del cuerpo del mensaje Sin límite, pero se limita el tamaño total del cuerpo del mensaje La longitud de Notification en MTPush está limitada a 4000 bytes.
    Canal del sistema < 20 caracteres (40 caracteres en inglés)
  • El centro de notificaciones y la pantalla de bloqueo muestran hasta 110 caracteres, 55 caracteres chinos.
  • La ventana emergente superior muestra hasta 62 caracteres, 31 caracteres chinos; el exceso se muestra con puntos suspensivos.
  • Ninguna

    Códigos de idioma

    Nombre del idioma Código de idioma
    Inglés en
    Árabe ar
    Chino (simplificado) zh-Hans
    Chino (tradicional) zh-Hant
    Checo cs
    Danés da
    Neerlandés nl
    Francés fr
    Alemán de
    Hindi hi
    Italiano it
    Japonés ja
    Coreano ko
    Malayo ms
    Ruso ru
    Español es
    Tailandés th
    Vietnamita vi
    Indonesio id
    Noruego no
    Sueco sv
    Polaco pl
    Turco tr
    Hebreo he
    Portugués pt
    Rumano ro
    Húngaro hu
    Finés fi
    Griego el
    Ucraniano uk
    Laosiano lo
    Portugués (Portugal) pt_PT
    Portugués (Brasil) pt_BR
    Español (Argentina) es_AR
    Español (España) es_ES
    Español (Latinoamérica) es_419
    Icon Solid Transparent White Qiyu
    Contacto