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>"
}Obter o consumo por insumo
Lê o consumo por insumo na sua própria unidade, agrupado por dia ou semana UTC a partir do registro imutável de movimentações de estoque, como contrato de evidência. Requer analytics:read. Quantidades de insumos ou unidades diferentes nunca são somadas; coverage informa as movimentações sem unidade verificada, um alcance de depósitos restrito e a janela coberta quando a leitura é truncada. Uma narração só é incluída quando passa na verificação determinística de fidelidade numérica. Apenas quantidades. Por padrão, a janela são os últimos 30 dias até agora; uma janela malformada, invertida ou ampla demais retorna 400. Determinístico; calculado ao vivo sobre os dados da clínica odontológica.
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>"
}Autorizações
Chave de API opaca mvy_test_ enviada como token Bearer. O servidor deriva dela exatamente uma clínica odontológica; o caminho nunca leva um seletor de clínica odontológica.
Parâmetros de consulta
Início inclusivo da janela, em ISO-8601 (o padrão é 30 dias antes de to).
Fim exclusivo da janela, em ISO-8601 (o padrão é agora).
Tamanho do intervalo; o padrão é day.
day, week Restringe a tendência a um insumo do catálogo.
Resposta
A tendência de consumo.
A definição legível da métrica.
day, week Show child attributes
Show child attributes
Todas as movimentações de consumo lidas, medidas ou não.
live true quando a leitura do registro de movimentações atingiu o teto; a leitura vai da mais recente para a mais antiga, então coverage.coveredFrom indica onde os números começam.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
As afirmações que um resumo pode fazer, cada uma igual à evidência na sua própria unidade. Só é incluída quando passa na verificação determinística de fidelidade numérica.
Show child attributes
Show child attributes