Skip to main content

Interacción Técnica con la API REST de Teamcore

Si has llegado hasta aquí, es probable que ya sepas lo valiosa que es la API de Teamcore, que es algo así como un "carrito de compras inteligente" para tus necesidades de datos. Ya te has familiarizado con el ambiente seguro del "Sandbox" y has echado un vistazo al "manual de usuario" a través de la documentación de Swagger. Ahora, es el momento de pasar al siguiente nivel: aprender cómo interactuar técnicamente con la API.

Para los desarrolladores, esto es como ponerse al volante de un coche de alto rendimiento con todos los ajustes personalizables al alcance de la mano. Y para aquellos menos técnicos, no te preocupes; vamos a desglosar todo en términos sencillos para que también puedas entender la magia detrás del volante.

A continuación, te guiaremos paso a paso a través de las operaciones técnicas que puedes realizar con la API, desde enviar una simple consulta hasta manejar respuestas complejas y mucho más. Así que, ajusta tu cinturón de seguridad, porque vamos a sumergirnos en los detalles técnicos de cómo sacarle el máximo provecho a la API de Teamcore.

 

Métodos soportados: GET

 

Uso: La API root se utiliza principalmente para verificar que el servicio está en funcionamiento y para proporcionar información inicial sobre la API de Teamcore. No hay parámetros adicionales o opciones de configuración asociadas con esta ruta en particular.

URL Protected: https://tc-plat-teamcore-api-dev-tnpudef6ya-uc.a.run.app/protected

Descripción: Esta URL protegida forma parte de la API de Teamcore y requiere una Bearer Token válida para el acceso, se puede utilizar para validar las credenciales. 

Autenticación: Esta ruta está protegida y requiere autenticación mediante un Bearer Token. La solicitud debe incluir un encabezado de autorización con el token en el formato correcto.

 

Métodos soportados: GET

 

Respuesta: La respuesta dependerá de la validez de las credenciales proporcionadas:

Respuesta exitosa: Si las credenciales son válidas, el servidor responderá con un mensaje que incluye la variable por defecto:

{

  "default variable": "api_key"

}

Respuesta no exitosa: Si las credenciales no son válidas, el servidor responderá con un mensaje:

{

  "detail": "Could not validate credentials"

}

URL Protegida para Crear un Job en el Descargador: https://tc-plat-teamcore-api-dev-tnpudef6ya-uc.a.run.app/create_job

Autenticación: Esta ruta está protegida y requiere un Bearer Token en el encabezado de autorización.

 

Métodos soportados: POST

 

Payload: La solicitud POST debe incluir un payload con todos los campos requeridos para la creación de un job en el descargador.

Proceso:

  • Verificación del Token: El servidor primero verifica la veracidad del token proporcionado en los encabezados.
  • Validación de campos: Luego verifica cada uno de los campos requeridos en la data del payload.
  • Creación del Job: Si todo es correcto, crea un job en el descargador para realizar la consulta en base a los datos proporcionados.
  • Respuesta: Retorna el ID del job creado.

{

  "success": true,

  "message": "Job created",

  "data": {

    "id": 1234,

    "query_id": 0,

    "query_status": "QUEUED",

    "client": "client_example"

  }

}

 

Error en Autenticación o Validación:

Dependiendo de la naturaleza del error, se devolverán mensajes adecuados. Por ejemplo, si el token es incorrecto o los campos del payload son inválidos.

{

  "detail": "Could not validate credentials"

}

{

  "success": false,

  "message": "Job not created",

  "data": ""

}

 

URL Protegida para obtener los jobs creados dado un email: https://tc-plat-teamcore-api-dev-tnpudef6ya-uc.a.run.app/get_jobs_by_email/example@email.com

Autenticación: Esta ruta está protegida y requiere autenticación mediante un Bearer Token. El token debe ser incluido en el encabezado de autorización.

 

Métodos soportados: GET

Proceso:

  • Verificación del Token: El servidor primero verifica la veracidad del token proporcionado en los encabezados.
  • Obtención de Jobs: Si el token es correcto, la API devuelve los jobs asociados al email especificado en la URL.
  • Parámetros de URL:

email: La dirección de correo electrónico para la cual se quieren obtener los jobs asociados. Debe ser incluida en la URL como se muestra en el ejemplo.

Respuesta:

Jobs Asociados: La respuesta incluir:

{

  "success": true,

  "message": "Jobs Found",

  "data": [

    {

      "id": 1234,

      "username": "username",

      "name": "name",

      "timestamp": "2023-08-08T12:00:03.426184",

      "client": "client_example",

      "query_id": "6af15033-fe84-405b-8cb1-715afc94ddcd",

      "query_status": "QUEUED",

      "result_url": "https://reesult_url.com"

    }

  ]

}

 

Error en Autenticación o Validación:

Dependiendo de la naturaleza del error, se devolverán mensajes adecuados. Por ejemplo, si el token es incorrecto o no existen jobs para ese email.

{

  "detail": "Could not validate credentials"

}

{

  "success": false,

  "message": "Jobs not found",

  "data": []

}

 

URL Protegida para obtener los jobs creados dado un cliente: https://tc-plat-teamcore-api-dev-tnpudef6ya-uc.a.run.app/get_jobs_by_client/{client_name}

Autenticación: Esta ruta está protegida y requiere autenticación mediante un Bearer Token. El token debe ser incluido en el encabezado de autorización.

 

Métodos soportados: GET

Proceso:

  • Verificación del Token: El servidor primero verifica la veracidad del token proporcionado en los encabezados.
  • Obtención de Jobs: Si el token es correcto, la API devuelve los jobs asociados al cliente especificado en la URL.
  • Parámetros de URL:
  • cliente: El identificador o nombre del cliente para el cual se quieren obtener los jobs asociados. Debe ser incluido en la URL.
  • Respuesta :

Jobs Asociados: La respuesta incluirá una lista de los jobs asociados al cliente especificado.

{

  "success": true,

  "message": "Jobs Found",

  "data": [

    {

      "id": 1234,

      "username": "username",

      "name": "name",

      "timestamp": "2023-08-08T12:00:03.426184",

      "client": "client_example",

      "query_id": "6af15033-fe84-405b-8cb1-715afc94ddcd",

      "query_status": "QUEUED",

      "result_url": "https://reesult_url.com"

    }

  ]

}

 

Error en Autenticación o Validación:

Dependiendo de la naturaleza del error, se devolverán mensajes adecuados. Por ejemplo, si el token es incorrecto o no existen jobs para ese cliente.

{

  "detail": "Could not validate credentials"

}

{

  "success": false,

  "message": "Jobs not found",

  "data": []

}

URL Protegida para obtener el job creado dado un id: https://tc-plat-teamcore-api-dev-tnpudef6ya-uc.a.run.app/get_job/{job_id}

Autenticación: Esta ruta está protegida y requiere autenticación mediante un Bearer Token en el encabezado de autorización.

 

Métodos soportados: GET

Proceso:

Verificación del Token: El servidor primero verifica la veracidad del token proporcionado en los encabezados.

Obtención del Job: Si el token es correcto, la API devuelve el job asociado al ID especificado en la URL.

Parámetros de URL:

id: El identificador del job que se quiere obtener. Debe ser incluido en la URL.

Respuesta:

Job Asociado: La respuesta incluirá los detalles del job asociado al ID especificado.

{

  "success": true,

  "message": "Job Found",

  "data": {

    "id": 1234,

    "username": "username",

    "name": "name",

    "timestamp": "2023-08-08T12:00:03.426184",

    "client": "client_example",

    "query_id": "6af15033-fe84-405b-8cb1-715afc94ddcd",

    "query_status": "QUEUED",

    "result_url": "https://reesult_url.com"

  }

}

 

Error en Autenticación o Validación:

{

  "detail": "Could not validate credentials"

}

{

  "success": false,

  "message": "Jobs not found",

  "data": []

}