Docs/Datos del proyecto

Datos del proyecto

Estos endpoints permiten a los propietarios de claves API y a los miembros del proyecto leer estadísticas agregadas y listas de sesiones y subidas en todos los proyectos a los que tienen acceso. Están diseñados para el panel de control y herramientas internas, no para clientes finales.

Autenticación

Todos los endpoints de datos del proyecto admiten dos modos de autenticación. Pasa un JWT del panel como Bearer token para consultar todos los proyectos que posees o a los que perteneces, o pasa una clave de API (Bearer aptr_…) para restringir los resultados al proyecto de esa clave.

Sesiones recientes

Devuelve las sesiones de subida creadas más recientemente en todos los proyectos a los que el llamador tiene acceso. Útil para feeds de actividad del panel de control.

GET/api/v1/sessions/recent

Parámetros de consulta

CampoTipoRequeridoDescripción
limitintegerNoCantidad de registros a devolver. Predeterminado 10, máximo 50.

Respuesta

Devuelve un arreglo de objetos de fila de sesión (sin envoltorio de paginación).

CampoTipoDescripción
idstringUUID de la sesión.
createdAtstringFecha-hora ISO 8601 de creación de la sesión.
expiresAtstringFecha-hora ISO 8601 de expiración de la sesión.
statusstringUno de pending, active, expired, completed, failed.
projectIdstringUUID del proyecto al que pertenece esta sesión.
projectNamestringNombre visible del proyecto.
imagesCountintegerCantidad total de registros de subida en esta sesión.
imagesDeliveredintegerCantidad de subidas con al menos una entrega exitosa.
imagesFailedintegerCantidad de subidas en las que algún destino falló.
destinationsCountintegerCantidad de destinos a los que la sesión está distribuyendo.
tagsstring[] | nullEtiquetas de la sesión, o null si no se establecieron.
longPollingEnabledbooleanIndica si el long polling está habilitado para esta sesión.
curl https://api.apertur.ca/api/v1/sessions/recent?limit=10 \
  -H "Authorization: Bearer <jwt-token>"

Listar sesiones

Lista paginada de sesiones de subida en todos los proyectos a los que el llamador tiene acceso.

GET/api/v1/sessions

Parámetros de consulta

CampoTipoRequeridoDescripción
pageintegerNoNúmero de página a devolver. Predeterminado 1.
pageSizeintegerNoCantidad de registros por página. Predeterminado 20, máximo 100.

Respuesta

Devuelve un envoltorio paginado. El arreglo data contiene objetos de fila de sesión con la misma forma que /sessions/recent.

{
  "data": [/* array of session row objects */],
  "total": 134,
  "page": 1,
  "pageSize": 20,
  "totalPages": 7
}
CampoTipoDescripción
idstringUUID de la sesión.
createdAtstringFecha-hora ISO 8601 de creación de la sesión.
expiresAtstringFecha-hora ISO 8601 de expiración de la sesión.
statusstringUno de pending, active, expired, completed, failed.
projectIdstringUUID del proyecto al que pertenece esta sesión.
projectNamestringNombre visible del proyecto.
imagesCountintegerCantidad total de registros de subida en esta sesión.
imagesDeliveredintegerCantidad de subidas con al menos una entrega exitosa.
imagesFailedintegerCantidad de subidas en las que algún destino falló.
destinationsCountintegerCantidad de destinos a los que la sesión está distribuyendo.
tagsstring[] | nullEtiquetas de la sesión, o null si no se establecieron.
longPollingEnabledbooleanIndica si el long polling está habilitado para esta sesión.
curl "https://api.apertur.ca/api/v1/sessions?page=1&pageSize=20" \
  -H "Authorization: Bearer <jwt-token>"

Subidas recientes

Devuelve los registros de subida recibidos más recientemente en todos los proyectos a los que el llamador tiene acceso, con conteos de entrega por destino.

GET/api/v1/uploads/recent

Parámetros de consulta

CampoTipoRequeridoDescripción
limitintegerNoCantidad de registros a devolver. Predeterminado 10, máximo 50.

Respuesta

Devuelve un arreglo de objetos de fila de subida (sin envoltorio de paginación).

CampoTipoDescripción
idstringUUID del registro de subida.
filenamestringNombre de archivo original del archivo subido.
sizeBytesintegerTamaño del archivo en bytes.
mimeTypestringTipo MIME detectado de la subida.
sourcestringUno de camera, gallery, url, google_drive, google_photos, dropbox, onedrive, box, instagram.
isEncryptedbooleanIndica si el archivo está almacenado cifrado en el cliente.
createdAtstringFecha-hora ISO 8601 cuando se recibió la subida.
sessionIdstringUUID de la sesión de subida principal.
projectIdstringUUID del proyecto al que pertenece esta subida.
projectNamestringNombre visible del proyecto.
destinationsTotalintegerCantidad total de destinos a los que se está entregando esta subida.
destinationsDeliveredintegerCantidad de destinos que han recibido la subida con éxito.
destinationsFailedintegerCantidad de destinos que han fallado de forma permanente.
destinationsBreakdownobject[]Arreglo de objetos { type, count } agrupando los resultados de entrega por tipo de destino.
statusstringEstado derivado: delivered, failed, partial, pending o stored_only. Ver la nota debajo.

Derivación del estado de subida

delivered = todos los destinos enviaron con éxito. failed = al menos un destino terminó y todos fallaron. partial = mezcla de entregados y fallidos. pending = algunos destinos aún no han reportado. stored_only = no se despacharon destinos (la imagen solo está almacenada en el servidor).

curl https://api.apertur.ca/api/v1/uploads/recent?limit=10 \
  -H "Authorization: Bearer <jwt-token>"

Listar subidas

Lista paginada de registros de subida en todos los proyectos a los que el llamador tiene acceso.

GET/api/v1/uploads

Parámetros de consulta

CampoTipoRequeridoDescripción
pageintegerNoNúmero de página a devolver. Predeterminado 1.
pageSizeintegerNoCantidad de registros por página. Predeterminado 20, máximo 100.

Respuesta

Devuelve un envoltorio paginado. El arreglo data contiene objetos de fila de subida con la misma forma que /uploads/recent.

{
  "data": [/* array of upload row objects */],
  "total": 482,
  "page": 1,
  "pageSize": 20,
  "totalPages": 25
}
CampoTipoDescripción
idstringUUID del registro de subida.
filenamestringNombre de archivo original del archivo subido.
sizeBytesintegerTamaño del archivo en bytes.
mimeTypestringTipo MIME detectado de la subida.
sourcestringUno de camera, gallery, url, google_drive, google_photos, dropbox, onedrive, box, instagram.
isEncryptedbooleanIndica si el archivo está almacenado cifrado en el cliente.
createdAtstringFecha-hora ISO 8601 cuando se recibió la subida.
sessionIdstringUUID de la sesión de subida principal.
projectIdstringUUID del proyecto al que pertenece esta subida.
projectNamestringNombre visible del proyecto.
destinationsTotalintegerCantidad total de destinos a los que se está entregando esta subida.
destinationsDeliveredintegerCantidad de destinos que han recibido la subida con éxito.
destinationsFailedintegerCantidad de destinos que han fallado de forma permanente.
destinationsBreakdownobject[]Arreglo de objetos { type, count } agrupando los resultados de entrega por tipo de destino.
statusstringEstado derivado: delivered, failed, partial, pending o stored_only. Ver la nota debajo.
curl "https://api.apertur.ca/api/v1/uploads?page=1&pageSize=20" \
  -H "Authorization: Bearer <jwt-token>"

Estadísticas agregadas

Devuelve métricas agregadas en todos los proyectos a los que el llamador tiene acceso, incluyendo conteos del mes actual y los proyectos principales por actividad.

GET/api/v1/stats

Respuesta

CampoTipoDescripción
sessionsThisMonthintegerCantidad de sesiones creadas en el mes calendario actual.
sessionsTotalintegerCantidad total histórica de sesiones.
imagesUploadedintegerCantidad total histórica de registros subidos.
imagesDeliveredintegerCantidad de registros de subida con al menos una entrega exitosa.
deliverySuccessRateintegerPorcentaje 0–100, calculado a partir de enviados / (enviados + fallidos) por destino.
totalProjectsintegerCantidad total de proyectos a los que el llamador tiene acceso.
activeKeysintegerCantidad de claves API actualmente activas en esos proyectos.
topProjectsobject[]Arreglo de hasta 10 objetos { id, name, sessions } clasificados por cantidad de sesiones este mes.
curl https://api.apertur.ca/api/v1/stats \
  -H "Authorization: Bearer <jwt-token>"
Datos del proyecto | Documentación de la API | Apertur