ZPK » APIS » ZPK Translate » Docs

ZPK Translate

Una API para traducir más de 120 idiomas que supera a Google Translate tanto en calidad de traducciones como en precio por carácter.

ZPK Translate le permite realizar traducciones de textos y documentos usando las últimas tecnologías de traducción, una API que usa algoritmos tradicionales creados por humanos y también los últimos avances en machine learning.

Con la API de traducción de ZPK obtendrá traducciones más precisas, en un tiempo menor, y a un precio más bajo que el de nuestros competidores.

Conectando a la API

Servidor y protocolos para la conexión

Conexión a la API
Servidor: https://zpk.systems
Esquema: HTTPS, solo conexiones seguras SSL.
Protocolo:
JSON recomendado

Enviando un JSON en el body del request, y especificando una cabecera Content-Type: application/json en el request

Si envia ficheros como imágenes o documentos, estos deberán estar codificados en base64.


Form-Data no recomendado

Formato usado en los formularios web, no recomendado. Al enviar una solicitud tipo form_data puede enviar todos los campos como parámetros POST separados. Sin embargo si la solicitud es muy grande recomendamos que envie el contenido de la peticion en un único campo de texto llamado _json (con un guión bajo).

Este parametro especial sera procesado por nuestro backend como si se tratase de una solicitud JSON habitual.

El servidor dónde enviar las solicitudes es https://zpk.systems mediante una conexión HTTPS segura.

El tipo de comunicación recomendado es JSON, en cuyo caso especificaremos en la conexión un Content-Type: application/json, y enviaremos el body de la solicitud como un string JSON válido.

Traducir texto

Endpoint y parámetros

POST /api/translate/text
Parámetro Descripción
application_id

alfanumérico requerido

Una id de aplicación, puede obtener la id de una aplicación haciendo click en 'detalles' en su panel

api_key

alfanumérico requerido

La API KEY de la aplicación que efectúa la llamada a esta API, puede obtenerla en su panel, haciendo click en 'detalles' de una aplicación

texts

array requerido

Un array con cada elemento de el un texto a traducir, y uno o más idiomas de traducción.

El idioma del texto que facilita será autodetectado por ZPK, sin embargo, puede especificarlo si así lo desea

Estructura de un elemento del array:

Ejemplo de array texts
[
	{
		"text": "Un texto a traducir",
		"source_language": "es",
		"target_languages": ["en","fr","it"]
	},
	{
		"text": "Otro texto a traducir. El idioma origen será autodetectado.",
		"target_languages": ["en","fr","it"]
	}
]

Idiomas disponibles

Puede obtener una lista de todos los idiomas soportados, y hacia que otros idiomas se permite traducción mediante la api. Consulte: obteniendo idiomas

Respuestas

Respuesta de ejemplo

JSON de respuesta con éxito
{
   "success": true,
   "results": [
      {
         "source": "Los seres humanos son libres.",
         "source_language": "es",
         "translations": {
            "en": "Human beings are free.",
            "it": "Gli esseri umani sono liberi."
         }
      },
      {
         "source": "El perro es amarillo",
         "source_language": "es",
         "translations": {
			"en": "the dog is yellow",
            "it": "il cane è giallo"
         }
      }
   ],
   "costs": {
      "characters": 626,
      "characters_substracted_from_free_quota": 0,
      "characters_substracted_from_credit": 626,
      "price_per_character_mili_eur": 16,
      "total_cost": 0.010016
   }
}

Estructura de la respuesta

Estructura de la respuesta JSON
Parámetro Descripción
success

boleano

Un boleano que indicará si la solicitud pudo ser procesada correctamente, true en caso afirmativo.

results

array de traducciones

Un array que contendrá todas las traducciones realizadas.

Estructura de results
Parámetro Descripción
source

Un string con el texto origen que se solicitó traducir.

source_language

El idioma detectado para el texto origen.

translations

array : asociativo

Un array asociativo con el texto traducido a cada idioma solicitado, la clave es el código ISO del idioma destino.

Ejemplo:

{
"es": "Perro amarillo",
"en": "Yellow dog",
"...": "etc..."
}
errors

array

Uno o más errores en caso de que se hayan producido errores, el array de errores solo es retornado en caso de que el boleano success sea false.

Cada elemento del array errors contiene:

id: Un código identificador del error.
message: Un texto informando de los detalles del error para poder hacer debug.
costs

array : asociativo

Desglose detalle de los costes de esta solicitud a la API de traducción

characters:
El número de caracteres totales a traducir.
characters_substracted_from_free_quota:
El número de caracteres que se han substraido de la cuota gratuita mensual.
characters_substracted_from_credit:
El número de caracteres que se facturarán.
price_per_character_mili_eur:
El precio por caracter en milionesimas partes de euro.
total_cost:
Coste total de esta solicitud en euros.

Respuesta con errores

Respuesta con errores
{
  "success": false,
  "errors": [
    {
      "id": "MISSING_REQUIRED_PARAMETER",
      "message": "Required parameter 'texts' not sent",
	  "on": "texts"
    }
  ]
}

Obtener todos los idiomas

Puede obtener todos los idiomas y las traducciones soportadas mediante una llamada al siguiente endpoint:

GET /api/translate/supported_languages
Parámetro Descripción
application_id

alfanumérico requerido

Una id de aplicación, puede obtener la id de una aplicación haciendo click en 'detalles' en su panel

api_key

alfanumérico requerido

La API KEY de la aplicación que efectúa la llamada a esta API, puede obtenerla en su panel, haciendo click en 'detalles' de una aplicación

Se retornará una lista con todos los idiomas y que otros idiomas se pueden usar para traducir desde from y hacia to el idioma concreto:

Respuesta de idiomas soportados
{
  "success": true,
  "languages": [
    {
      "code": "es",
      "name": "español",
      "localized": {
        "af": "Spaans",
        "ak": "Spanish",
        "am": "ስፓኒሽኛ",
        "more": "...",
        "zu": "isi-Spanish"
      },
      "from": [
        "af",
        "ay",
        "...",
        "zh-CN"
      ],
      "to": [
        "af",
        "ak",
        "...",
        "zu"
      ]
    },
    {
		"more_languages_here":"..."
    }
  ],
  "costs": {
    "total_cost": 0.01
  }
}

Respuesta

Estructura de la respuesta JSON
Parámetro Descripción
success

boleano

Un boleano que indicará si la solicitud pudo ser procesada correctamente, true en caso afirmativo.

languages

array

Un array que contiene todos los idiomas que la API soporta, e información extra sobre cada idioma, como nombre en diferentes idiomas, y lenguajes soportados como origen/destino.

Estructura del array languages
Parámetro Descripción
code

string

El código ISO del idioma

localized_name

array : asociativo

Un array asociativo de clave » string que contiene el nombre del idioma, escrito en otros idiomas. Por ejemplo, para español:

es » Español , cat » Espanyol , en » Spanish , etc...

from

array de strings

El código iso de todos los idiomas origen desde los que se puede traducir hacia este idioma.

to

array de strings

El código iso de todos los idiomas destino hacia los que se puede traducir desde este idioma.

costs

array : asociativo

Un array asociativo que solo contendrá una clave total_cost con el coste de esta solicitud a la API

Solicitar un listado de idiomas es una solicitud a la API que se facturará. Recomendamos guardar estos datos en cache.

Integración con PHP

ZPK-PHP es una librería de código abierto instalable mediante composer que le permitirá integrar nuestras APIs en su proyecto PHP con un mínimo esfuerzo.

Integrar zpkTranslate con el SDK en PHP

Instalando ZPK-PHP con composer

Terminal
composer require zpksystems/phpzpk

Ejemplo de traducción

Traduciendo a otro idioma con PHP
<?php
require 'vendor/autoload.php';

use zpksystems\phpzpk\zpkApplication;
use zpksystems\phpzpk\zpkTranslator;

$t = new zpkTranslator( new zpkApplication('appid','key') );
$t->addTranslation("Buenos días, bienvenido al sitio web de ZPK Systems.",['en','it']);
$response = $t->translate();

Precios

Primeros 600.000 caracteres al mes gratis
después
1 EUR por cada 62.500 caracteres

En caso de no disponer de crédito en su cuenta al realizar una petición ZPKTranslate retornará un error.

Probar ZPK Translate

Aqui puede realizar pruebas con la api, y ver la petición enviada y la respuesta con la traducción.

Seleccione aplicación...

Seleccione una aplicación para realizar el test de API

Use el formulario para introducir los datos, aquí se mostrará el request solicitado y su respuesta JSON