Skip to content

Respuestas Estándar

Manuel Olguín edited this page Dec 14, 2016 · 3 revisions

Endpoints normales

Los endpoints normales (es decir, aquellos que retornan directamente y no operan de manera diferida) tienen el siguiente formato estándar de respuesta:

{
    "length": int,
    "result": []
}

El campo length indica la cantidad de resultados, mientras que result contiene una lista de resultados (generalmente, referencias en formato estándar).

Endpoints Diferidos

Aquellos endpoints que ejecutan una operación diferida (por ejemplo, la Búsqueda de Referencias en Batch), retornan la información referente al job creado en el siguiente formato:

{
    "job": str,
    "submitted": str
}

Donde job indica la ID del trabajo creado, y submitted es un timestamp en formato ISO 8601.

Consulta Estado de Job

La consulta del estado de un job tiene el siguiente formato de respuesta:

{
    "timestamp": str,
    "done": bool,
    "length": int,
    "result": [],
    "result_ttl": int
}

done indica el estado del job -- true si terminó, false si no. result_ttl es un indicador de el tiempo (en segundos) que el resultado de este job podrá ser consultado (a partir del instante indicado en timestamp); pasado ese tiempo la información se descarta.

Formato Estándar de Referencias

El servicio maneja un formato estándar de JSON para todas las referencias retornadas. Este contiene los siguientes campos:

{
    "title": str,
    "abstract": str,
    "language": str,
    "type": str,
    "ids": {
        "doi": str,
        "embase": str,
        "pubmed": str,
        "scopus": str
    },
    "publication_type": {
        "pagination": str,
        "cited_medium": str,
        "title": str,
        "issn": str,
        "volume": int,
        "year": int,
        "issue": str
    },
    "authors": [
        {
            "given": str,
            "family": str
        }
    ],
    "source": str,
    "md5": str
}

Nótese que md5 no se refiere al MD5 del JSON, sino de la cita original con la cual se buscó dicho JSON. Esto es para fines de identificar qué JSON corresponde a qué referencia.