Primeros pasos

Descripción general

La API de Xsolla incluye:

La API de Xsolla utiliza la arquitectura REST. La API tiene varias URL predecibles y orientadas a recursos, y usa códigos de respuesta HTTP para indicar errores de API. La API siempre responde en el formato JSON, incluso en caso de errores.

La API utiliza funciones HTTP integradas, como la autenticación HTTP y los verbos HTTP, que pueden ser interpretados por clientes HTTP estándar. También admite el uso compartido de recursos con orígenes cruzados, lo cual permite acceder a ella de forma segura desde una aplicación web cliente.

La API de Xsolla usa las siguientes cadenas de puntos finales:
  • https://api.xsolla.com - Pay Station API, Publisher Account API, Subscriptions API
  • https://login.xsolla.com/api - Login API
  • https://store.xsolla.com/api - IGS&BB API
La mayoría de las cadenas de puntos finales incluyen el parámetro merchant_id. Esto indica que la aplicación solicitante se ejecuta en su nombre.

Solicitudes y respuestas

Las solicitudes a la API de Xsolla deben:
  • enviarse a través de HTTPS,
  • utilizar TLS 1.2 o superior,
  • contener parámetros de autenticación,
  • contener un encabezado adicional: Content-Type: application/json para solicitudes PUT y POST.
Copy
Full screen
Small screen
    Authorization: Basic <your_authorization_basic_key>
    Content-Type: application/json
    

    Por defecto, todas las solicitudes devuelven una respuesta con datos en JSON en el cuerpo y Content-Type: application/json en el encabezado.

    Cambios en la API

    Xsolla puede cambiar la funcionalidad de la API de la siguiente manera:
    • Agregar nuevos recursos de API
    • Agregar parámetros de solicitud opcionales
    • Agregar nuevas propiedades a las respuestas de API existentes
    • Agregar nuevos valores para los parámetros existentes con valores enumerables
    • Agregar nuevos tipos de webhook y parámetros de JSON
    • Agregar encabezados de solicitud HTTP opcionales
    • Rechazar cualquier solicitud en la que los parámetros válidos contengan valores no válidos
    • Rechazar solicitudes formadas erróneamente que fueron aceptadas previamente debido a un análisis tolerante, si se cambia la lógica de análisis
    • Agregar, cambiar o eliminar funciones no documentadas en cualquier momento
    Su cliente debe seguir funcionando independientemente de estos cambios. Por ejemplo, los nuevos parámetros de JSON que el cliente no reconozca no deberían impedir su funcionamiento normal.

    Control de versiones

    Todos los métodos API de Xsolla admiten el control de versiones. Publicaremos una nueva versión cada vez que haya cambios incompatibles con la versión actual. La versión se identifica por “v1”/“v2”/etc. después del prefijo “/merchant” en la URL. Si es la primera vez que trabaja con la API, utilice la última versión. Si omite la versión, usaremos la primera versión por defecto.
    Nota
    No olvide que solo podemos garantizar la integridad de la API dentro de la misma versión.

    Autenticación

    La API de Xsolla usa la autenticación HTTP básica. Todas las solicitudes a la API debe contener el encabezado Authorization: Basic <your_authorization_basic_key>, en el cual <your_authorization_basic_key> es el par ID de comerciante:clave de API, codificado según el estándar Base64. Vaya a Cuenta del editor para localizar estos parámetros:
    • Merchant ID se muestra:
      • en la sección Company settings > Company.
      • En la URL de la barra de direcciones del navegador de cualquier página de Cuenta del editor. La URL tiene el siguiente formato: https:​//publisher.xsolla.com/<merchant ID>/<Publisher Account section>.
    • Clave de API se muestra en la Cuenta del editor solo una vez cuando se crea y debe almacenarse en su servidor. Puede crear una nueva clave en la siguiente sección:
      • Company settings > API keys
      • Project settings > API keys
    Aviso

    Para obtener más información sobre cómo trabajar con claves API, consulte la Referencia de la API.

    Recomendaciones clave:

    • Guarde la clave de API generada en su servidor. Puede ver la clave de API en la Cuenta del editor solo una vez cuando se crea.
    • Mantenga su clave de API en secreto. Proporciona acceso a su cuenta personal y a sus proyectos en Cuenta del editor.
    • La clave de API debe almacenarse en su servidor y nunca en archivos binarios o en el front-end.

    Tipos de puntos finales

    El tipo de un punto final indica qué tipo de datos gestiona y qué acción realiza sobre ellos. Las acciones más comunes son:
    AcciónMétodo HTTPDescripción
    CrearPOSTCrea y guarda una entidad del tipo especificado.
    ListaGETDevuelve una lista de entidades que coinciden con la consulta. Para obtener detalles sobre una entidad, primero averigüe su ID usando el correspondiente punto final de Lista y, después, proporcione este ID al correspondiente punto final de recuperación.
    RecuperarGETProporciona detalles sobre la entidad con el ID especificado.
    SustituirPUTModifica todos los campos de la entidad con el ID especificado.
    ActualizarPATCHModifica los campos especificados de la entidad con el ID especificado.
    EliminarDELETEElimina la entidad con el ID especificado.

    Formato de fecha

    Todas las fechas se especifican como cadenas según ISO 8601. Puede especificar cadenas de fechas, ya sea en UTC (p. ej., 2013-01-15T00:00:00Z), o indicando el desfase horario de UTC (p. ej., 2013-01-15T00:00:00-08:00 para ocho horas por detrás de UTC). En este último caso, asegúrese de tener en cuenta el horario de verano, si procede.

    Paginación

    Los puntos finales de lista pueden realizar la paginación de los resultados que devuelven. Esto significa que, en lugar de devolver todos los resultados en una única respuesta, estos puntos finales podrían devolver algunos de los resultados, junto con un encabezado de respuesta que enlace con el siguiente conjunto de resultados. Para ello se utilizan los parámetros offset (desplazamiento) y limit (límite).

    Gestión de errores

    Lista de errores HTTP admitidos:
    • 200, 201, 204 - Ningún error
    • 400 Bad Request: suele indicar que falta un parámetro obligatorio. Consulte el cuerpo de la respuesta para obtener más información
    • 401 Unauthorized: no se proporcionó una clave de API válida
    • 402 Request Failed: error de solicitud aunque los parámetros son válidos
    • 403 Forbidden: sin autorización. Consulte el cuerpo de la respuesta para obtener más información
    • 404 Not Found: el elemento solicitado no existe
    • 409, 422: parámetros de solicitud no válidos
    • 412 Precondition Failed: el proyecto aún no ha sido activado (utilizado en el método Crear token)
    • 415 Unsupported Media Type: falta Content-Type: application/json en el encabezado HTTP
    • Errores de servidor 500, 502, 503 y 504: Se ha producido un error
    Xsolla emplea códigos de respuesta HTTP convencionales para indicar si la solicitud API fue fue aceptada. En general, 2xx indica aceptación, 4xx indica un error en la información suministrada (p. ej., falta un parámetro requerido, autorización fallida, etc.) y 5xx indica un problema con los servidores de Xsolla. Pero no todos los errores coinciden perfectamente con los códigos de respuesta HTTP. Por ejemplo, si una solicitud era válida pero no se puedo procesar, la API devolverá el código de error 422. Todas las respuestas de error de API proporcionan un objeto JSON con los siguientes campos:
    NombreTipoDescripción
    http_status_codeintegerCódigo HTTP.
    mensajestringUn mensaje legible para seres humanos en el que se describe el error. Este mensaje siempre está en inglés. No confíe en este valor para asignarlo a un error concreto, ya que podría cambiar en el futuro.
    extended_messagestringDescripción del error más detallada.
    request_idstringID único de solicitud que podría utilizarse para solucionar problemas.
    Copy
    Full screen
    Small screen
    {
        "http_status_code": 500,
        "message": "Internal Server Error",
        "extended_message": null,
        "request_id": "6445b85"
    }
    

    Límites de frecuencia

    Información general

    Para evitar la sobrecarga de los sistemas de Xsolla y protegerlos de las ráfagas de tráfico entrante, Xsolla limita el número de solicitudes recibidas por Xsolla API durante un periodo especificado. Si se excede el límite, la API de Xsolla devuelve una respuesta HTTP con el código de estado 429. Los límites varían según el método, el proyecto y otros factores. Los límites actuales se actualizan periódicamente para asegurar el funcionamiento estable e ininterrumpido de los sistemas de Xsolla. En algunos casos, se pueden ajustar los límites especificados previa solicitud. Puede contactar con su gestor del éxito del cliente o enviar un correo electrónico a csm@xsolla.com para enviar una solicitud.

    Causas habituales de superación de los límites de frecuencia

    • Un aumento repentino del tráfico en el lado del socio como consecuencia de:
      • rebajas de temporada
      • inicio de pruebas cerradas y abiertas
    • Aumento repentino del tráfico a raíz de ataques DDoS en el lado del socio.
    • Una integración mal configurada, por ejemplo:
      • usar los métodos de la subsección Admin que no están destinados a un uso frecuente en lugar de los métodos de la subsección Catálogo
      • llamada frecuente del método Obtener pedido para obtener el estado de un pedido y la lista de artículos que lo componen. Por ejemplo: 1 por segundo cuando el retraso recomendado entre solicitudes debería ser de 3 segundos
    • Lanzar un número excesivamente elevado de solicitudes en un periodo determinado. Por ejemplo: más de 200 llamadas por segundo al método Obtener lista de artículos virtuales para mostrar un catálogo de artículos.

    Gestión de los límites de frecuencia

    Para evitar errores causados por los límites de frecuencia, le recomendamos que:
    • Haga un seguimiento de los códigos de estado 429 y crea un mecanismo de reintento. Puede utilizar el patrón de reintentos con un retroceso fijo o exponencial entre reintentos en vez de reintentos continuos.
    • Optimice el código para obtener solo los datos requeridos. Asegúrese de realizar sólo las solicitudes que requiere su aplicación y evite las llamadas API innecesarias. Si utiliza la API IGS&BB API, puede usar la API WebSocket para reducir el número de llamadas.
    • Almacene en caché los datos que su aplicación usa con frecuencia. Puede mantener los datos estáticos en su lado y reducir el número de solicitudes a la API externa.
    • Evite los ataques DDoS que pueden dañar su API.
    • Ajuste la frecuencia de sus solicitudes para lograr una distribución más uniforme. Si el error 429 se produce con regularidad, considere la opción de incluir un proceso en su código que regule la frecuencia de sus solicitudes y permita que se distribuyan de forma más uniforme.

    Claves API

    Una clave API es una clave única que se usa para el cifrado de datos de usuarios y la autenticación de solicitudes API. En Cuenta del editor, puede crear claves API para todos los proyectos de la empresa y para un proyecto individual.

    Nota
    Las claves API que son válidas en todos los proyectos de la empresa no se muestran en las páginas de proyectos individuales.
    Aviso

    Puede trabajar con claves API (consultar la lista, crear y eliminar) si tiene uno de los siguientes roles:

    • desarrollador
    • propietario

    Solamente el propietario de un proyecto puede cambiar los roles en Cuenta del editor en la sección Company settings > Users.

    Crear clave de API

    Para crear una clave de API:
    1. Abra Cuenta del editor.
    2. Vaya a la sección Company settings > API keys o Project settings > API keys.
    3. Haga clic en Create API key.
    4. Rellene los campos:
      • Key name que se mostrará en la lista de claves. Establezca un nombre que le permita identificar fácilmente la clave.
      • Key type: permanente o temporal.
      • Expiration date: solo para una clave temporal. Después de la fecha de expiración, la clave deja de ser válida y es necesario crear una nueva.
      • Project en el que la clave es válida (el campo no se muestra cuando se crea una clave de API en la página del proyecto). Todos los proyectos están seleccionados por defecto.
    5. Haga clic en Create.
    6. En la ventana que se abre, haga clic en Copy API key y guarde la clave API creada en su lado.
    Nota
    Si crea una clave de API en la página del proyecto, la clave solo será válida en este proyecto concreto.
    Aviso
    Recomendaciones clave:
    • Guarde la clave de API generada en su servidor. Puede ver la clave de API en la Cuenta del editor solo una vez cuando se crea.
    • Mantenga su clave de API en secreto. Proporciona acceso a su cuenta personal y a sus proyectos en Cuenta del editor.
    • La clave de API debe almacenarse en su servidor y nunca en archivos binarios o en el front-end.

    Eliminar una clave API

    Para eliminar una clave API:
    1. Abra Cuenta del editor.
    2. Vaya a la sección Company settings > API keyso Project settings > API keys.
    3. En la fila de la clave API, haga clic en el icono de la papelera y confirme la acción.
    Al eliminar una clave de API se deja de:
    • recibir pagos en los proyectos en los que se utilizó esta clave de API
    • llamando a métodos API que utilizaron esta clave de API
    Para evitarlo:
    1. Cree una nueva clave de API.
    2. Cambie su aplicación para que use la nueva clave de API.
    3. Elimine la clave de API inicial.

    Webhooks

    Los webhooks le permiten recibir notificaciones instantáneas de eventos configurados en el lado de Xsolla. Puede establecer webhooks de procesamiento para automatizar su aplicación. Consulte nuestra documentación para obtener la lista de webhooks disponibles y descripciones detalladas de cómo funcionan.

    ¿Te ha resultado útil este artículo?
    ¡Gracias!
    ¿Hay algo en lo que podamos mejorar? Mensaje
    Lo sentimos
    Por favor, cuéntanos por qué no te ha resultado útil este artículo. Mensaje
    ¡Gracias por tu mensaje!
    Nos ayudará a mejorar tu experiencia.
    Valore esta página
    Valore esta página
    ¿Hay algo en lo que podamos mejorar?

    Prefiero no responder

    ¡Gracias por tu mensaje!
    Última actualización: 24 de Enero de 2024

    ¿Has encontrado una errata u otro error de texto? Selecciona el texto y pulsa Ctrl+Intro.