Saltar al contenido principal
La API de Tareas QR Artísticas tiene como función principal consultar el estado de ejecución de una tarea mediante el ID de tarea generado por la API de Generación de QR Artísticos. Este documento detallará las instrucciones de integración de la API de Tareas QR Artísticas, ayudándole a integrar y aprovechar al máximo las potentes funcionalidades de esta API. A través de la API de Tareas QR Artísticas, puede consultar fácilmente el estado de ejecución de las tareas de la API de Generación de QR Artísticos.

Proceso de Solicitud

Para utilizar la API de Tareas QR Artísticas, primero debe ir a la página de solicitud API de Generación de QR Artísticos para solicitar el servicio correspondiente, y luego copiar el ID de tarea de la API de Generación de QR Artísticos, como se muestra en la imagen:

Finalmente, acceda a la página de la API de Tareas QR Artísticas API de Tareas QR Artísticas para solicitar el servicio correspondiente. Una vez en la página, haga clic en el botón “Acquire”, como se muestra en la imagen: Página de Solicitud Si aún no ha iniciado sesión o registrado, será redirigido automáticamente a la página de inicio de sesión para invitarle a registrarse e iniciar sesión. Después de registrarse e iniciar sesión, será redirigido automáticamente a la página actual. En la primera solicitud, se le otorgará un crédito gratuito, que le permitirá utilizar esta API de forma gratuita.

Ejemplo de Solicitud

La API de Tareas QR Artísticas se puede utilizar para consultar el resultado de una API de la API de Generación de QR Artísticos. Para saber cómo utilizar la API de Generación de QR Artísticos, consulte el documento API de Generación de QR Artísticos. Tomemos como ejemplo un ID de tarea devuelto por el servicio de la API de Generación de QR Artísticos, y demostraremos cómo utilizar esta API. Supongamos que tenemos un ID de tarea: e2c65b20-a970-431e-99c1-76721e799df8, a continuación, demostraremos cómo pasar un ID de tarea.

Ejemplo de Tarea

Configuración de Encabezados de Solicitud y Cuerpo de Solicitud

Encabezados de Solicitud incluyen:
  • accept: especifica que se aceptan respuestas en formato JSON, aquí se debe llenar como application/json.
  • authorization: la clave para llamar a la API, que puede seleccionarse directamente después de la solicitud.
Cuerpo de Solicitud incluye:
  • id: el ID de tarea subido.
  • action: el método de operación sobre la tarea.
Configurado como se muestra en la imagen:

Ejemplo de Código

Se puede observar que en el lado derecho de la página ya se han generado automáticamente códigos en varios lenguajes, como se muestra en la imagen:

Algunos ejemplos de código son los siguientes:

CURL

curl -X POST 'https://api.acedata.cloud/qrart/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "id": "e2c65b20-a970-431e-99c1-76721e799df8",
  "action": "retrieve"
}'

Python

import requests

url = "https://api.acedata.cloud/qrart/tasks"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "id": "e2c65b20-a970-431e-99c1-76721e799df8",
    "action": "retrieve"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)

Ejemplo de Respuesta

Después de una solicitud exitosa, la API devolverá la información detallada de la tarea de código QR aquí. Por ejemplo:
{
  "_id": "668cb62c550a4144a582e372",
  "id": "e2c65b20-a970-431e-99c1-76721e799df8",
  "application_id": "3d25be99-4676-44d3-90bb-23086bc25300",
  "created_at": 1720497708.318,
  "credential_id": "6e80fca1-9a49-4507-ae8e-601dbd0ab3ca",
  "request": {
    "aspect_ratio": "1:1",
    "callback_url": null,
    "content": "https://platform.acedata.cloud",
    "content_image_url": null,
    "ecl": "H",
    "image_origin": null,
    "marker_shape": "square",
    "negative_prompt": null,
    "padding_level": 5,
    "padding_noise": 0,
    "pattern": "custom",
    "pixel_style": "square",
    "position": "center",
    "preset": "",
    "prompt": "tacos mexicanos",
    "qrw": 2,
    "ratio": null,
    "rotate": 0,
    "seed": null,
    "steps": 20,
    "sub_marker": "square",
    "timeout": null,
    "trace_id": "a99ecc24-eda0-45c6-bb5f-98060c30b490",
    "type": "link"
  },
  "response": {
    "image_url": "https://platform.cdn.acedata.cloud/qrart/e2c65b20-a970-431e-99c1-76721e799df8.png",
    "image_width": 768,
    "image_height": 768,
    "seed": 5324369603686616,
    "success": true
  }
}
El resultado devuelto tiene varios campos, el campo request es el cuerpo de la solicitud al iniciar la tarea, mientras que el campo response es el cuerpo de respuesta devuelto después de completar la tarea, cuyos resultados son consistentes con la solicitud y respuesta de la API de Generación de QR Artísticos. La descripción de los campos es la siguiente.
  • id, el ID de la tarea de generación de este código QR, utilizado para identificar de manera única esta tarea de generación de código QR.
  • request, información de solicitud en la tarea de consulta de código QR.
  • response, información de respuesta en la tarea de consulta de código QR.

Operación de Consulta por Lotes

Esto es para consultar los detalles de múltiples IDs de tareas de código QR, a diferencia de lo anterior, se debe seleccionar la acción como retrieve_batch. Cuerpo de Solicitud incluye:
  • ids: un array de IDs de tareas subidos.
  • action: el método de operación sobre la tarea.
Configurado como se muestra en la imagen:

Ejemplo de Código

Se puede observar que en el lado derecho de la página ya se han generado automáticamente códigos en varios lenguajes, como se muestra en la imagen:

Algunos ejemplos de código son los siguientes:

Ejemplo de Respuesta

Después de una solicitud exitosa, la API devolverá la información detallada de todas las tareas de código QR en lote. Por ejemplo:
{
  "items": [
    {
      "_id": "668cb90e550a4144a5834557",
      "id": "8c89e97b-6a79-4406-b2ce-e00f92540b4e",
      "application_id": "3d25be99-4676-44d3-90bb-23086bc25300",
      "created_at": 1720498446.039,
      "credential_id": "b7f9aaa1-43d8-471f-a826-cd0f4733fec5",
      "request": {
        "aspect_ratio": "1:1",
        "callback_url": null,
        "content": "https://huyinfu.space",
        "content_image_url": null,
        "ecl": "H",
        "image_origin": null,
        "marker_shape": "square",
        "negative_prompt": null,
        "padding_level": 5,
        "padding_noise": 0,
        "pattern": "custom",
        "pixel_style": "square",
        "position": "center",
        "preset": "",
        "prompt": "tacos mexicanos",
        "qrw": 2,
        "ratio": null,
        "rotate": 0,
        "seed": null,
        "steps": 20,
        "sub_marker": "square",
        "timeout": null,
        "trace_id": "44d33486-0527-451f-afc2-df11aab7e049",
        "type": "link"
      },
      "response": {
        "image_url": "https://platform.cdn.acedata.cloud/qrart/8c89e97b-6a79-4406-b2ce-e00f92540b4e.png",
        "image_width": 768,
        "image_height": 768,
        "seed": 2701847236953402,
        "success": true
      }
    },
    {
      "_id": "668cb62c550a4144a582e372",
      "id": "e2c65b20-a970-431e-99c1-76721e799df8",
      "application_id": "3d25be99-4676-44d3-90bb-23086bc25300",
      "created_at": 1720497708.318,
      "credential_id": "6e80fca1-9a49-4507-ae8e-601dbd0ab3ca",
      "request": {
        "aspect_ratio": "1:1",
        "callback_url": null,
        "content": "https://platform.acedata.cloud",
        "content_image_url": null,
        "ecl": "H",
        "image_origin": null,
        "marker_shape": "square",
        "negative_prompt": null,
        "padding_level": 5,
        "padding_noise": 0,
        "pattern": "custom",
        "pixel_style": "square",
        "position": "center",
        "preset": "",
        "prompt": "tacos mexicanos",
        "qrw": 2,
        "ratio": null,
        "rotate": 0,
        "seed": null,
        "steps": 20,
        "sub_marker": "square",
        "timeout": null,
        "trace_id": "a99ecc24-eda0-45c6-bb5f-98060c30b490",
        "type": "link"
      },
      "response": {
        "image_url": "https://platform.cdn.acedata.cloud/qrart/e2c65b20-a970-431e-99c1-76721e799df8.png",
        "image_width": 768,
        "image_height": 768,
        "seed": 5324369603686616,
        "success": true
      }
    }
  ],
  "count": 2
}

CURL

curl -X POST 'https://api.acedata.cloud/qrart/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "ids": ["8c89e97b-6a79-4406-b2ce-e00f92540b4e","e2c65b20-a970-431e-99c1-76721e799df8"],
  "action": "retrieve_batch"
}'

Python

import requests

url = "https://api.acedata.cloud/qrart/tasks"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "ids": ["8c89e97b-6a79-4406-b2ce-e00f92540b4e","e2c65b20-a970-431e-99c1-76721e799df8"],
    "action": "retrieve_batch"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)

Manejo de errores

Al llamar a la API, si se encuentra con un error, la API devolverá el código de error correspondiente y la información. Por ejemplo:
  • 400 token_mismatched: Solicitud incorrecta, posiblemente debido a parámetros faltantes o inválidos.
  • 400 api_not_implemented: Solicitud incorrecta, posiblemente debido a parámetros faltantes o inválidos.
  • 401 invalid_token: No autorizado, token de autorización inválido o faltante.
  • 429 too_many_requests: Demasiadas solicitudes, ha superado el límite de tasa.
  • 500 api_error: Error interno del servidor, algo salió mal en el servidor.

Ejemplo de respuesta de error

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "la recuperación falló"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Conclusión

A través de este documento, usted ha comprendido cómo utilizar la API de Tareas de QR Artístico para consultar información detallada sobre tareas de códigos QR individuales o por lotes. Esperamos que este documento le ayude a integrar y utilizar mejor esta API. Si tiene alguna pregunta, no dude en ponerse en contacto con nuestro equipo de soporte técnico.