samples

En este recurso podemos localizar las muestras y trabajar con ellas. Podremos marcarlas como leídas cuando ya las hayamos importado a nuestro sistema para que no se nos vuelvan a listar en un futuro.

Métodos disponibles

Método URL Descripción
GET /api/samples Listado de las muestras no leídas
GET /api/samples/<int:id> Detalle de una muestra
PUT /api/samples/<int:id> Marcar como leída o no una muestra

Listado de las muestras no leídas

Obtenemos el listado de nuestras muestras que no estén marcadas como leídas y por tanto deben ser nuevas que aun no hemos importado a nuestra base de datos.

Datos de la respuesta

Obtenemos una lista de objetos JSON del cual sus parámetros son:

Nombre Tipo Descripción
id Long Identificador único de la muestra
codigo String Código de seguimiento de la muestra en ainia
fecha_recepcion Date La fecha en que las muestras llegaron a ainia, formato iso8601
fecha_toma Date Fecha en que se tomaron las muestras para enviar a analizar, formato iso8601
fecha_entrega Date La fecha de puesta del informe a disposición del cliente, formato iso8601
fecha_entrega_prevista Date En qué fecha tenemos previsto entregar el informe, formato iso8601
producto String Descripción del producto analizado
cod_producto String Código del producto proporcionado por el cliente
acta String Número de acta en las inspecciones de sanidad
revisar_lmr Boolean Algún resultado sufre una desviación, se aconseja revisar los límites legales
leida Boolean Indica si la muestra está marcada como leída o no
url_resultados String URL donde obtener los resultados de esta muestra
url_informe_analitico String URL para descargar el informe analítico donde se engloba esta muestra

Ejemplo mediante consola

Tras autenticarnos y con el token en la variable de entorno ACCESS

$ curl -H "Authorization: Bearer $ACCESS" https://api-ainialab.ainia.es/api/samples
[
    {
        "revisar_lmr": false,
        "fecha_recepcion": "2017-10-11T11:52:00",
        "producto": "Chocolate",
        "codigo": "17-L001234-01",
        "fecha_toma": null,
        "url_resultados": "https://api-ainialab.ainia.es/api/samples/154767/results",
        "fecha_entrega": "2017-10-15T12:36:17.903000",
        "leida": false,
        "url_informe_analitico": "https://api-ainialab.ainia.es/api/samples/154767/reports",
        "acta": null,
        "cod_producto": null,
        "id": 154767,
        "fecha_entrega_prevista": "2017-10-16T00:00:00"
    },
    {
        "revisar_lmr": true,
        "fecha_recepcion": "2017-10-12T11:53:00",
        "producto": "Harina",
        "codigo": "17-L001235-01",
        "fecha_toma": null,
        "url_resultados": "https://api-ainialab.ainia.es/api/samples/154768/results",
        "fecha_entrega": "2017-10-17T12:36:01.012000",
        "leida": false,
        "url_informe_analitico": "https://api-ainialab.ainia.es/api/samples/154768/reports",
        "acta": null,
        "cod_producto": null,
        "id": 154768,
        "fecha_entrega_prevista": "2017-10-17T00:00:00"
    }
]

Ejemplo con Python

import requests

user = 'prueba'
apikey = 'test'

# Autenticación
r = requests.post('https://api-ainialab.ainia.es/auth',
                  json={"username":user, "apikey":apikey})
json_response = r.json()
token = json_response["jwt"]

# Listamos muestras
cabeceras = {'Authorization': 'Bearer {}'.format(token)}
r = requests.get('https://api-ainialab.ainia.es/api/samples',
                 headers=cabeceras)
json_response = r.json()
for muestra in json_response:
    print('{codigo} - {producto}'.format(codigo=muestra['codigo'], producto=muestra['producto']))

Detalle de una muestra

Para obtener todos los campos asociados a una muestra

Datos de la respuesta

Los mismos campos que en listado y además:

Nombre Tipo Descripción
fecha_caducidad Date La fecha de caducidad del producto, formato iso8601
marca String Marca del producto comercializado
proveedor String Nombre del proveedor del producto
cod_proveedor String Código identificativo del proveedor
tipo_envase String Formato en el que viene envasada la muestra
cantidad String Cantidad de muestra recibida
lote String Número de lote del producto
lugar_compra String Lugar donde se hizo la compra o recogió el producto
temperatura String Temperatura de muestro

Ejemplo mediante consola

Tras autenticarnos y con el token en la variable de entorno ACCESS

$ curl -H "Authorization: Bearer $ACCESS" https://api-ainialab.ainia.es/api/samples/154768
{
    "cod_producto": null,
    "fecha_recepcion": "2017-10-12T11:53:00",
    "lugar_compra": null,
    "temperatura": null,
    "codigo": "17-L001235-01",
    "tipo_envase": null,
    "url_resultados": "https://api-ainialab.ainia.es/api/samples/154768/results",
    "leida": false,
    "revisar_lmr": true,
    "lote": null,
    "cantidad": null,
    "fecha_caducidad": null,
    "proveedor": null,
    "cod_proveedor": null,
    "fecha_toma": null,
    "producto": "Harina",
    "marca": null,
    "fecha_entrega": "2017-10-17T12:36:01.012000",
    "id": 154768,
    "acta": null,
    "fecha_entrega_prevista": "2017-10-17T00:00:00",
    "url_informe_analitico": "https://api-ainialab.ainia.es/api/samples/154768/reports"
}

Ejemplo con Python

import requests

user = 'prueba'
apikey = 'test'

# Autenticación
r = requests.post('https://api-ainialab.ainia.es/auth',
                  json={"username":user, "apikey":apikey})
json_response = r.json()
token = json_response["jwt"]

# Obtener detalle
idmuestra = '154768'
cabeceras = {'Authorization': 'Bearer {}'.format(token)}
r = requests.get('https://api-ainialab.ainia.es/api/samples/{}'.format(idmuestra),
                 headers=cabeceras)
muestra = r.json()
print('{codigo} - {producto} - {proveedor}'.format(codigo=muestra['codigo'],
                                                   producto=muestra['producto'],
                                                   proveedor=muestra['proveedor']))

Marcar como leída o no una muestra

Una vez obtenida la información de la muestra y almacenada en nuestra base de datos, procederemos a marcarla como leída para que no sea listada la próxima vez que accedamos a recuperar los análisis.

Parámetros de la petición

Nombre Tipo Descripción
leida Boolean Indicaremos "true" o "false" para marcarla como leída o no respectivamente

Datos de la respuesta

Obtendremos el detalle de la muestra, tras la actualización del campo leída

Ejemplo mediante consola

$ curl -H "Content-Type: application/json" -X PUT -H "Authorization: Bearer $ACCESS" https://api-ainialab.ainia.es/api/samples/154768 -d '{"leida":"true"}'
{
    "cod_producto": null,
    "fecha_recepcion": "2017-10-12T11:53:00",
    "lugar_compra": null,
    "temperatura": null,
    "codigo": "17-L001235-01",
    "tipo_envase": null,
    "url_resultados": "https://api-ainialab.ainia.es/api/samples/154768/results",
    "leida": true,
    "revisar_lmr": true,
    "lote": null,
    "cantidad": null,
    "fecha_caducidad": null,
    "proveedor": null,
    "cod_proveedor": null,
    "fecha_toma": null,
    "producto": "Harina",
    "marca": null,
    "fecha_entrega": "2017-10-17T12:36:01.012000",
    "id": 154768,
    "acta": null,
    "fecha_entrega_prevista": "2017-10-17T00:00:00",
    "url_informe_analitico": "https://api-ainialab.ainia.es/api/samples/154768/reports"
}

Ejemplo con Python

import requests

user = 'prueba'
apikey = 'test'

# Autenticación
r = requests.post('https://api-ainialab.ainia.es/auth',
                  json={"username":user, "apikey":apikey})
json_response = r.json()
token = json_response["jwt"]

# Obtener detalle
idmuestra = '154768'
cabeceras = {'Authorization': 'Bearer {}'.format(token)}
r = requests.get('https://api-ainialab.ainia.es/api/samples/{}'.format(idmuestra),
                 headers=cabeceras,
                 data={'leida':'true'})
muestra = r.json()
print('{codigo} - {producto} - {leida}'.format(codigo=muestra['codigo'],
                                               producto=muestra['producto'],
                                               leida=muestra['leida']))

Sitios ainia

Redes Sociales