curl --request GET \
--url https://api.muveya.com/v1/analytics/consumption-trend \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.muveya.com/v1/analytics/consumption-trend', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.muveya.com/v1/analytics/consumption-trend"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"metric": "<string>",
"definition": "<string>",
"granularity": "day",
"period": {
"from": "2023-11-07T05:31:56Z",
"to": "2023-11-07T05:31:56Z"
},
"movementCount": 123,
"timezone": "<string>",
"asOf": "2023-11-07T05:31:56Z",
"freshness": "live",
"evidenceId": "<string>",
"truncated": true,
"filters": {},
"coverage": {
"measuredMovementCount": 123,
"unverifiedMovementCount": 123,
"warehouseScope": "all",
"coveredFrom": "2023-11-07T05:31:56Z"
},
"series": [
{
"seriesKey": "<string>",
"catalogItemId": "<string>",
"unitOfMeasure": "<string>",
"totalConsumed": 123,
"usedQuantity": 123,
"issuedQuantity": 123,
"movementCount": 123,
"buckets": [
{
"bucketStart": "2023-11-07T05:31:56Z",
"consumedQuantity": 123,
"usedQuantity": 123,
"issuedQuantity": 123,
"movementCount": 123
}
],
"itemName": "<string>",
"sku": "<string>"
}
],
"unverifiedItems": [
{
"catalogItemId": "<string>",
"movementCount": 123,
"itemName": "<string>",
"sku": "<string>"
}
],
"narration": {
"evidenceId": "<string>",
"period": {
"from": "2023-11-07T05:31:56Z",
"to": "2023-11-07T05:31:56Z"
},
"acknowledgesTruncation": true,
"acknowledgesUnverified": true,
"acknowledgesRestrictedScope": true,
"claims": [
{
"kind": "series",
"seriesKey": "<string>",
"field": "totalConsumed",
"value": 123,
"unit": "<string>"
}
]
}
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"requestId": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"requestId": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"requestId": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"requestId": "<string>"
}Obtener el consumo por insumo
Lee el consumo por insumo en su propia unidad, agrupado por día o semana UTC a partir del registro inmutable de movimientos de existencias, como contrato de evidencia. Requiere analytics:read. Nunca se suman cantidades de insumos o unidades distintas; coverage informa los movimientos sin unidad verificada, un alcance de bodegas restringido y la ventana cubierta cuando la lectura se trunca. Solo se incluye una narración cuando pasa la verificación determinística de fidelidad numérica. Solo cantidades. Por defecto, la ventana son los últimos 30 días hasta ahora; una ventana mal formada, invertida o demasiado amplia devuelve 400. Determinístico; se calcula en vivo sobre los datos de la clínica dental.
curl --request GET \
--url https://api.muveya.com/v1/analytics/consumption-trend \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.muveya.com/v1/analytics/consumption-trend', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.muveya.com/v1/analytics/consumption-trend"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"metric": "<string>",
"definition": "<string>",
"granularity": "day",
"period": {
"from": "2023-11-07T05:31:56Z",
"to": "2023-11-07T05:31:56Z"
},
"movementCount": 123,
"timezone": "<string>",
"asOf": "2023-11-07T05:31:56Z",
"freshness": "live",
"evidenceId": "<string>",
"truncated": true,
"filters": {},
"coverage": {
"measuredMovementCount": 123,
"unverifiedMovementCount": 123,
"warehouseScope": "all",
"coveredFrom": "2023-11-07T05:31:56Z"
},
"series": [
{
"seriesKey": "<string>",
"catalogItemId": "<string>",
"unitOfMeasure": "<string>",
"totalConsumed": 123,
"usedQuantity": 123,
"issuedQuantity": 123,
"movementCount": 123,
"buckets": [
{
"bucketStart": "2023-11-07T05:31:56Z",
"consumedQuantity": 123,
"usedQuantity": 123,
"issuedQuantity": 123,
"movementCount": 123
}
],
"itemName": "<string>",
"sku": "<string>"
}
],
"unverifiedItems": [
{
"catalogItemId": "<string>",
"movementCount": 123,
"itemName": "<string>",
"sku": "<string>"
}
],
"narration": {
"evidenceId": "<string>",
"period": {
"from": "2023-11-07T05:31:56Z",
"to": "2023-11-07T05:31:56Z"
},
"acknowledgesTruncation": true,
"acknowledgesUnverified": true,
"acknowledgesRestrictedScope": true,
"claims": [
{
"kind": "series",
"seriesKey": "<string>",
"field": "totalConsumed",
"value": 123,
"unit": "<string>"
}
]
}
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"requestId": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"requestId": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"requestId": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"requestId": "<string>"
}Autorizaciones
Clave de API opaca mvy_test_ enviada como token Bearer. El servidor deriva de ella exactamente una clínica dental; la ruta nunca lleva un selector de clínica dental.
Parámetros de consulta
Inicio inclusivo de la ventana, en ISO-8601 (por defecto, 30 días antes de to).
Fin exclusivo de la ventana, en ISO-8601 (por defecto, ahora).
Tamaño del tramo; por defecto day.
day, week Limita la tendencia a un insumo del catálogo.
Respuesta
La tendencia de consumo.
La definición legible de la métrica.
day, week Show child attributes
Show child attributes
Todos los movimientos de consumo leídos, medidos o no.
live true cuando la lectura del registro de movimientos alcanzó su tope; se lee del más reciente al más antiguo, así que coverage.coveredFrom indica dónde empiezan las cifras.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Las afirmaciones que puede hacer un resumen, cada una igual a la evidencia en su propia unidad. Solo se incluye cuando pasa la verificación determinística de fidelidad numérica.
Show child attributes
Show child attributes