{"info":{"_postman_id":"dd7147b2-49ac-4119-ba12-9357e40d0155","name":"MOAPI","description":"<html><head></head><body><p>MOAPI - API MOAVI para acesso rápido aos dados recentes de indicadores como desvios e IQE.</p>\n<p><strong>Antes de começar a utilizar estes endpoints:</strong></p>\n<ol>\n<li><p>Contate-nos que para seu usuário seja criado e configurado.</p>\n</li>\n<li><p>Você receberá um e-mail com sua senha temporária, e deve fixar outra permanente.</p>\n</li>\n<li><p>Esta será então utilizada no endpoint '/usr-pwd-authenticate' para obter tokens...</p>\n</li>\n<li><p>....que habilitarão acesso aos dados de sua companhia!</p>\n</li>\n</ol>\n<p><strong>RECOMENDAÇÃO IMPORTANTE:</strong></p>\n<p>Sugerimos um intervalo de 30 segundos para obter a segunda página (se for o caso) após a primeira request em um mesmo endpoint. <strong>Em particular, para endpoints de saldos de horas por colaborador (\"/plan-banco-*-*-colaborador\"), sugerimos 1 minuto e meio (1min 30s) de intervalo mínimo.</strong> Isso acontece porque:</p>\n<ul>\n<li><p>O banco de dados pode levar mais tempo para processar resultados numerosos.</p>\n</li>\n<li><p>Também, como nosso timeout é de 29s, você, o consumidor, pode implementar um mecanismo simples de <em>retry</em> para não se esquecer de pegar a página 1 - que, no pior caso, já estará em cache nesta nova requisição!</p>\n</li>\n</ul>\n<p>Desenvolvedor responsável:<br>Rafael Costa</p>\n<p><a href=\"https://mailto:rafael.costa@moavi.com.br\">rafael.costa@moavi.com.br</a></p>\n<p>Tel/WhatsApp: (11) 4113-9240</p>\n<p><a href=\"http://www.moavi.com.br\">www.moavi.com.br</a></p>\n<img src=\"https://content.pstmn.io/6db5226a-42f4-4bd4-94f5-4aa198118810/bG9nby1tb2FwaS1hc3NpbmF0dXJhLTIwMHB4LWxhcmd1cmEucG5n\"></body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"8889055","collectionId":"dd7147b2-49ac-4119-ba12-9357e40d0155","publishedId":"2sAYJ7eyQT","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"A8A8A8","highlight":"085BBF"},"publishDate":"2024-12-30T14:25:45.000Z"},"item":[{"name":"usr-pwd-authenticate","event":[{"listen":"test","script":{"exec":[""],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"exec":[""],"type":"text/javascript","packages":{}}}],"id":"e39403de-e757-4b59-ae4f-0d4186909480","request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"username\": \"<seu-username>\",\r\n    \"password\": \"<seu-password>\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/usr-pwd-authenticate","description":"<h1 id=\"autenticação-com-usuário-e-senha\">Autenticação com Usuário e Senha</h1>\n<p>Este endpoint é usado para autenticar um usuário com senha. O objetivo é a obtenção de um IdToken (com vida útil de 1h) e do RefreshToken (30 dias) associado para renovar o IdToken de maneira segura em '/usr-refresh-authenticate'</p>\n<h2 id=\"requisição\">Requisição</h2>\n<p>Método: <code>POST</code></p>\n<h4 id=\"corpo-da-requisição\">Corpo da Requisição</h4>\n<ul>\n<li><p><code>username</code> (string, obrigatório): O nome de usuário.</p>\n</li>\n<li><p><code>password</code> (string, obrigatório): A senha do usuário.</p>\n</li>\n</ul>\n<h2 id=\"resposta\">Resposta</h2>\n<h4 id=\"campos-da-resposta\">Campos da Resposta</h4>\n<ul>\n<li><p><code>statusCode</code> (number): O código de status HTTP da resposta.</p>\n</li>\n<li><p><code>message</code> (string): Uma mensagem relacionada à resposta.</p>\n</li>\n<li><p><code>AccessToken</code> (string): Token de acesso do usuário Cognito.</p>\n</li>\n<li><p><code>IdToken</code> (string): O token de identificação. <strong>Este deve ser fornecido no header 'moapi-token' para acessar os endpoints de indicadores!</strong></p>\n</li>\n<li><p><code>RefreshToken</code> (string): O token de atualização. Este deverá utilizado em '/usr-refresh-get-token' para obter novos IdToken's de maneira mais segura, evitando o tráfego do user password.</p>\n</li>\n<li><p><code>ExpiresIn</code> (number): O tempo de expiração em segundos para o IdToken. Padronizado para 3600 (1h).</p>\n</li>\n<li><p><code>headers</code> (object): O cabeçalho da resposta, definindo o tipo de conteúdo. <strong>Omitido dos exemplos por simplicidade.</strong></p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["usr-pwd-authenticate"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[{"id":"0ac68528-7bd1-4939-83fe-c740797b1721","name":"200-sucesso","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"username\": \"<seu-username>\",\r\n    \"password\": \"<seu-password>\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/usr-pwd-authenticate"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"message\": \"Authentication was successful!\",\n    \"AccessToken\": \"<seu-AccessToken>\",\n    \"IdToken\": \"<seu-IdToken>\",\n    \"RefreshToken\": \"<seu-RefreshToken>\",\n    \"ExpiresIn\": 3600,\n    \"headers\": {\n        \"Content-Type\": \"application/json\"\n    }\n}"},{"id":"199cb380-f7f9-4717-a2e6-4f98aaaab5a8","name":"401-auth-fail","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"username\": \"<seu-username>\",\r\n    \"password\": \"<password-errado>\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/usr-pwd-authenticate"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 401,\n    \"message\": \"Authentication failed\",\n    \"headers\": {\n        \"Content-Type\": \"application/json\"\n    }\n}"}],"_postman_id":"e39403de-e757-4b59-ae4f-0d4186909480"},{"name":"usr-refresh-authenticate","id":"58f1ce5e-1c1e-4956-a2bc-1be58a64f0a5","request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"username\": \"<seu-username>\",\r\n  \"refresh_token\": \"<seu-RefreshToken>\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/usr-refresh-authenticate","description":"<p>Este endpoint é utilizado para atualizar e autenticar o token de acesso do usuário.</p>\n<h2 id=\"payload\">Payload</h2>\n<ul>\n<li><p><code>username</code> (string): O nome de usuário para autenticação.</p>\n</li>\n<li><p><code>refresh_token</code> (string): O token de atualização para renovar o acesso. Este deve ser obtido após uma requisição bem-sucedida em '/usr-pwd-authenticate', em cuja resposta virá no campo \"RefreshToken\".</p>\n</li>\n</ul>\n<h2 id=\"resposta\">Resposta</h2>\n<p>A resposta, se bem-sucedida, terá um status code 200 e um corpo no formato JSON com os seguintes campos:</p>\n<ul>\n<li><p><code>statusCode</code> (number): Código de status da resposta.</p>\n</li>\n<li><p><code>message</code> (string): Mensagem de resposta.</p>\n</li>\n<li><p><code>IdToken</code> (string): Token de identificação. <strong>Este deve ser fornecido no header 'moapi-token' para obter os indicadores!</strong></p>\n</li>\n<li><p><code>AccessToken</code> (string): Token de acesso.</p>\n</li>\n</ul>\n<p>Em caso de erro, o status 401 será devolvido e o JSON somente virá com os campos \"statusCode\" e \"message\".</p>\n","urlObject":{"protocol":"https","path":["usr-refresh-authenticate"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[{"id":"9c389648-1ada-4ed4-b9d8-2c493572a433","name":"200-sucesso","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"username\": \"<seu-username>\",\r\n  \"refresh_token\": \"<seu-RefreshToken>\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/usr-refresh-authenticate"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"message\": \"Authentication successful!\",\n    \"IdToken\": \"<seu-IdToken>\",\n    \"AccessToken\": \"<seu-AccessToken>\"\n}"},{"id":"0b48983e-89a6-4f4d-8d6a-69c393e30227","name":"401-auth-fail","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"username\": \"<seu-username>\",\r\n  \"refresh_token\": \"\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/usr-refresh-authenticate"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 401,\n    \"message\": \"Authentication failed: couldn't get id or access token!\"\n}"}],"_postman_id":"58f1ce5e-1c1e-4956-a2bc-1be58a64f0a5"},{"name":"desvios-dia-cluster","event":[{"listen":"test","script":{"exec":[""],"type":"text/javascript","packages":{}}}],"id":"9b0d2518-3249-4132-b52f-9c3d07f397e7","request":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2024-01-01\",\r\n  \"data_fim\": \"2024-11-07\",\r\n  \"lista_nomes_clusters\": []\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-dia-cluster","description":"<h1 id=\"desvios-por-dia-e-cluster\">Desvios por dia e cluster</h1>\n<p>Fornece desvios percentuais agregados por dia e discriminados por cluster.</p>\n<h2 id=\"payload-de-requisição\">Payload de requisição</h2>\n<p>O usuário deve fornecer datas inicial (\"data_ini\") e final (\"data_fim\") em formato \"AAAA-MM-DD\".</p>\n<p>O número total de dias correspondentes (\"daterange\") não pode exceder 12 meses cheios (12*31 dias).</p>\n<p>Em \"lista_nomes_clusters\" espera-se uma lista contendo strings que correspondam a nomes de clusters cadastrados na MOAVI. <strong>Para que dados de todos clusters sejam retornados, o input deve ser \"<strong>lista_nomes_clusters</strong>\": [\"*\"]</strong></p>\n<p>Se houver necessidade de paginação, em requisições posteriores o usuário deve incluir no body a chave \"pag\" com um inteiro positivo.</p>\n<h2 id=\"corpo-da-resposta\">Corpo da resposta</h2>\n<ul>\n<li><p>\"mensagem\" conterá uma <em><strong>string</strong></em> que informa brevemente sobre sucesso ou fracasso da request. Algumas requisições podem resultar em avisos neste campo.</p>\n</li>\n<li><p>\"erro\", se aplicável, trará <em><strong>string</strong></em> detalhando o motivo de fracasso da requisição. Se não, retorna como <em><strong>null</strong></em></p>\n</li>\n<li><p>\"ultimaPag\", fornece a página (<em><strong>integer</strong></em>) do último lote de resultados. Em casos de erro, por exemplo, retorna como <em><strong>null</strong></em>.</p>\n</li>\n<li><p>\"statusCode\" informa o código HTTP da resposta, um <em><strong>integer</strong></em>.</p>\n</li>\n<li><p>\"resultados\", se não <em>null</em>, trata-se de uma lista de listas. As listas internas sempre tem 3 elementos, cada, todos <em><strong>string</strong></em>.</p>\n<ul>\n<li><p>A primeira lista aninhada é sempre [\"nome_cluster\", \"data\", \"desvio\"].</p>\n</li>\n<li><p>As demais conterão <em><strong>strings</strong></em> com valores respectivos, ex: [\"cluster1\", \"2024-06-11\", \"0.123\"] significaria que no dia 11 de junho de 2024, o cluster \"cluster1\" performou com \"0.123\" (12,3%) de desvios.</p>\n</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["desvios-dia-cluster"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[{"id":"e1b18853-e0e1-4781-acc4-0b13ad52c87d","name":"200-sucesso-com-aviso","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2024-01-01\",\r\n  \"data_fim\": \"2024-01-01\",\r\n  \"lista_nomes_clusters\": [\"*\", \"123\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-dia-cluster"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"mensagem\": \"Cuidado! A lista passada foi lista_nomes_clusters=['*', '123']. Estamos ignorando a entrada avulsa e buscando por todas entradas.\",\n    \"erro\": null,\n    \"ultimaPag\": 1,\n    \"resultados\": [\n        [\n            \"nome_cluster\",\n            \"data\",\n            \"desvio\"\n        ],\n        [\n            \"cluster1\",\n            \"2024-01-01\",\n            \"0.3117\"\n        ],\n        [\n            \"cluster1\",\n            \"2024-01-02\",\n            \"0.3410\"\n        ],\n        [\n            \"cluster1\",\n            \"2024-01-03\",\n            \"0.2978\"\n        ],\n        [\n            \"cluster1\",\n            \"2024-01-04\",\n            \"0.3364\"\n        ],\n        [\n            \"cluster1\",\n            \"2024-01-05\",\n            \"0.3438\"\n        ],\n        [\n            \"cluster1\",\n            \"2024-01-06\",\n            \"0.3349\"\n        ],\n        [\n            \"cluster1\",\n            \"2024-01-07\",\n            \"0.2531\"\n        ],\n        [\n            \"cluster2\",\n            \"2024-01-01\",\n            \"0.3923\"\n        ],\n        [\n            \"cluster2\",\n            \"2024-01-02\",\n            \"0.3077\"\n        ],\n        [\n            \"cluster2\",\n            \"2024-01-03\",\n            \"0.2756\"\n        ],\n        [\n            \"cluster2\",\n            \"2024-01-04\",\n            \"0.2795\"\n        ],\n        [\n            \"cluster2\",\n            \"2024-01-05\",\n            \"0.2915\"\n        ],\n        [\n            \"cluster2\",\n            \"2024-01-06\",\n            \"0.2902\"\n        ],\n        [\n            \"cluster2\",\n            \"2024-01-07\",\n            \"0.2538\"\n        ]\n    ]\n\n}\n"},{"id":"c9cc8db8-51c9-4e7d-89eb-9a506617a5f3","name":"200-sucesso-completo","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2024-01-01\",\r\n  \"data_fim\": \"2024-01-07\",\r\n  \"lista_nomes_clusters\": [\"cluster1\", \"cluster2\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-dia-cluster"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"mensagem\": \"Dados obtidos com sucesso.\",\n    \"erro\": null,\n    \"ultimaPag\": 1,\n    \"resultados\": [\n        [\n            \"nome_cluster\",\n            \"data\",\n            \"desvio\"\n        ],\n        [\n            \"cluster1\",\n            \"2024-01-01\",\n            \"0.3117\"\n        ],\n        [\n            \"cluster1\",\n            \"2024-01-02\",\n            \"0.3410\"\n        ],\n        [\n            \"cluster1\",\n            \"2024-01-03\",\n            \"0.2978\"\n        ],\n        [\n            \"cluster1\",\n            \"2024-01-04\",\n            \"0.3364\"\n        ],\n        [\n            \"cluster1\",\n            \"2024-01-05\",\n            \"0.3438\"\n        ],\n        [\n            \"cluster1\",\n            \"2024-01-06\",\n            \"0.3349\"\n        ],\n        [\n            \"cluster1\",\n            \"2024-01-07\",\n            \"0.2531\"\n        ],\n        [\n            \"cluster2\",\n            \"2024-01-01\",\n            \"0.3923\"\n        ],\n        [\n            \"cluster2\",\n            \"2024-01-02\",\n            \"0.3077\"\n        ],\n        [\n            \"cluster2\",\n            \"2024-01-03\",\n            \"0.2756\"\n        ],\n        [\n            \"cluster2\",\n            \"2024-01-04\",\n            \"0.2795\"\n        ],\n        [\n            \"cluster2\",\n            \"2024-01-05\",\n            \"0.2915\"\n        ],\n        [\n            \"cluster2\",\n            \"2024-01-06\",\n            \"0.2902\"\n        ],\n        [\n            \"cluster2\",\n            \"2024-01-07\",\n            \"0.2538\"\n        ]\n    ]\n\n}\n"},{"id":"7d7e4497-984a-4e56-8277-eb23dc51bd15","name":"400-erro-excesso-de-dias","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2023-01-01\",\r\n  \"data_fim\": \"2024-01-08\",\r\n  \"lista_nomes_clusters\": [\"*\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-dia-cluster"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Requisicao mal-formada.\",\n    \"erro\": \"O periodo inserido contempla 373 dias, excedendo assim o limite deste endpoint (372 dias)!\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"},{"id":"bf6076dc-cb46-4c68-a193-edbf610b40ef","name":"400-lista_nomes_clusters-deve-conter-apenas-strings","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2023-01-01\",\r\n  \"data_fim\": \"2023-01-02\",\r\n  \"lista_nomes_clusters\": [\"*\", 123]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-dia-cluster"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Invalid request body\",\n    \"erro\": \"[instance type (integer) does not match any allowed primitive type (allowed: [\\\"string\\\"])]\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"},{"id":"ce01bd32-ab30-4b1c-869f-e6eee9a0226d","name":"400-lista_nomes_clusters-vazia","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2024-01-01\",\r\n  \"data_fim\": \"2024-11-07\",\r\n  \"lista_nomes_clusters\": []\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-dia-cluster"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Invalid request body\",\n    \"erro\": \"[array is too short: must have at least 1 elements but instance has 0 elements]\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"},{"id":"0898d653-6b4e-4a68-95ce-e612792f4205","name":"500-mes-invalido","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2024-01-01\",\r\n  \"data_fim\": \"2024-13-07\",\r\n  \"lista_nomes_clusters\": [\"cluster1\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-dia-cluster"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 500,\n    \"mensagem\": \"Problema ao checar amplitude de data. Verifique sua requisicao!\",\n    \"erro\": \"time data '2024-13-07' does not match format '%Y-%m-%d'\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"}],"_postman_id":"9b0d2518-3249-4132-b52f-9c3d07f397e7"},{"name":"desvios-dia-colaborador","event":[{"listen":"test","script":{"exec":[""],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"packages":{},"type":"text/javascript"}}],"id":"a5d93f39-a5ce-4e5b-8970-196db6fe914e","request":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2024-11-101\",\r\n  \"data_fim\": \"2024-01-11\",\r\n  \"lista_matriculas_colaboradores\": [\"1\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-dia-colaborador","description":"<h1 id=\"desvios-por-dia-e-colaborador\">Desvios por dia e colaborador</h1>\n<p>Fornece desvios <em><strong>absolutos</strong></em> (isto é, número de ocorrências) agregados por dia e discriminados por colaborador através da matrícula deste.</p>\n<h2 id=\"payload-de-requisição\">Payload de requisição</h2>\n<p>O usuário deve fornecer datas inicial (\"data_ini\") e final (\"data_fim\") em formato \"AAAA-MM-DD\".</p>\n<p>O número total de dias correspondentes (\"daterange\") deve ser, atualmente, no máximo <em><strong>1500/n_colabs</strong></em> em que n_colabs é o número de colaboradores solicitados.</p>\n<p>Em \"lista_matriculas_colaboradores\" espera-se uma lista contendo strings que correspondam a matrículas de colaboradors cadastrados na MOAVI. <strong>Para que dados de todos colaboradores sejam retornados, o input deve ser \"<strong>lista_matriculas_colaboradores</strong>\": [\"*\"]</strong></p>\n<p>Se houver necessidade de paginação, em requisições posteriores o usuário deve incluir no body a chave \"pag\" com um inteiro positivo.</p>\n<h2 id=\"corpo-da-resposta\">Corpo da resposta</h2>\n<ul>\n<li><p>\"mensagem\" conterá uma <em><strong>string</strong></em> que informa brevemente sobre sucesso ou fracasso da request. Algumas requisições podem resultar em avisos neste campo.</p>\n</li>\n<li><p>\"erro\", se aplicável, trará <em><strong>string</strong></em> detalhando o motivo de fracasso da requisição. Se não, retorna como <em><strong>null</strong></em></p>\n</li>\n<li><p>\"ultimaPag\", fornece a página (<em><strong>integer</strong></em>) do último lote de resultados. Em casos de erro, por exemplo, retorna como <em><strong>null</strong></em>.</p>\n</li>\n<li><p>\"statusCode\" informa o código HTTP da resposta, um <em><strong>integer</strong></em>.</p>\n</li>\n<li><p>\"resultados\", se não <em>null</em>, trata-se de uma lista de listas. As listas internas sempre tem 3 elementos, cada, todos <em><strong>string</strong></em>.</p>\n<ul>\n<li><p>A primeira lista aninhada é sempre [\"matricula\", \"data\", \"n_desvios\"].</p>\n</li>\n<li><p>As demais conterão <em><strong>strings</strong></em> com valores respectivos, ex: [\"1234\", \"2024-06-11\", \"2\"] significaria que no dia 11 de junho de 2024, houve 2 desvios nas batidas do colaborador com matrícula \"1234\".</p>\n</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["desvios-dia-colaborador"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[{"id":"f685578d-6e89-47a1-90cf-9f07256e23da","name":"200-sucesso-completo","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2024-01-01\",\r\n  \"data_fim\": \"2024-01-10\",\r\n  \"lista_matriculas_colaboradores\": [\"matricula-1\", \"matricula-2\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-dia-colaborador"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"mensagem\": \"Dados obtidos com sucesso.\",\n    \"erro\": null,\n    \"ultimaPag\": 1,\n    \"resultados\": [\n        [\n            \"matricula\",\n            \"data\",\n            \"desvio\"\n        ],\n        [\n            \"matricula-1\",\n            \"2024-01-01\",\n            \"0.0000\"\n        ],\n        [\n            \"matricula-1\",\n            \"2024-01-02\",\n            \"None\"\n        ],\n        [\n            \"matricula-1\",\n            \"2024-01-03\",\n            \"None\"\n        ],\n        [\n            \"matricula-1\",\n            \"2024-01-04\",\n            \"0.2500\"\n        ],\n        [\n            \"matricula-1\",\n            \"2024-01-05\",\n            \"0.0000\"\n        ],\n        [\n            \"matricula-1\",\n            \"2024-01-06\",\n            \"0.0000\"\n        ],\n        [\n            \"matricula-1\",\n            \"2024-01-07\",\n            \"0.0000\"\n        ],\n        [\n            \"matricula-1\",\n            \"2024-01-08\",\n            \"0.0000\"\n        ],\n        [\n            \"matricula-1\",\n            \"2024-01-09\",\n            \"0.0000\"\n        ],\n        [\n            \"matricula-1\",\n            \"2024-01-10\",\n            \"None\"\n        ],\n        [\n            \"matricula-2\",\n            \"2024-01-01\",\n            \"0.0000\"\n        ],\n        [\n            \"matricula-2\",\n            \"2024-01-02\",\n            \"0.0000\"\n        ],\n        [\n            \"matricula-2\",\n            \"2024-01-03\",\n            \"0.0000\"\n        ],\n        [\n            \"matricula-2\",\n            \"2024-01-04\",\n            \"None\"\n        ],\n        [\n            \"matricula-2\",\n            \"2024-01-05\",\n            \"0.0000\"\n        ],\n        [\n            \"matricula-2\",\n            \"2024-01-06\",\n            \"0.0000\"\n        ],\n        [\n            \"matricula-2\",\n            \"2024-01-07\",\n            \"None\"\n        ],\n        [\n            \"matricula-2\",\n            \"2024-01-08\",\n            \"0.0000\"\n        ],\n        [\n            \"matricula-2\",\n            \"2024-01-09\",\n            \"0.0000\"\n        ],\n        [\n            \"matricula-2\",\n            \"2024-01-10\",\n            \"0.0000\"\n        ]\n    ]\n}"},{"id":"05f66f43-1b50-46e9-ac7d-d17ba3ab75e3","name":"200-sucesso-parcial","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2024-01-01\",\r\n  \"data_fim\": \"2024-01-10\",\r\n  \"lista_matriculas_colaboradores\": [\"matricula-1\", \"matricula-2\", \"123\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-dia-colaborador"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"mensagem\": \"Dados obtidos com sucesso.\",\n    \"erro\": null,\n    \"ultimaPag\": 1,\n    \"resultados\": [\n        [\n            \"matricula\",\n            \"data\",\n            \"desvio\"\n        ],\n        [\n            \"matricula-1\",\n            \"2024-01-01\",\n            \"0.0000\"\n        ],\n        [\n            \"matricula-1\",\n            \"2024-01-02\",\n            \"None\"\n        ],\n        [\n            \"matricula-1\",\n            \"2024-01-03\",\n            \"None\"\n        ],\n        [\n            \"matricula-1\",\n            \"2024-01-04\",\n            \"0.2500\"\n        ],\n        [\n            \"matricula-1\",\n            \"2024-01-05\",\n            \"0.0000\"\n        ],\n        [\n            \"matricula-1\",\n            \"2024-01-06\",\n            \"0.0000\"\n        ],\n        [\n            \"matricula-1\",\n            \"2024-01-07\",\n            \"0.0000\"\n        ],\n        [\n            \"matricula-1\",\n            \"2024-01-08\",\n            \"0.0000\"\n        ],\n        [\n            \"matricula-1\",\n            \"2024-01-09\",\n            \"0.0000\"\n        ],\n        [\n            \"matricula-1\",\n            \"2024-01-10\",\n            \"None\"\n        ],\n        [\n            \"matricula-2\",\n            \"2024-01-01\",\n            \"0.0000\"\n        ],\n        [\n            \"matricula-2\",\n            \"2024-01-02\",\n            \"0.0000\"\n        ],\n        [\n            \"matricula-2\",\n            \"2024-01-03\",\n            \"0.0000\"\n        ],\n        [\n            \"matricula-2\",\n            \"2024-01-04\",\n            \"None\"\n        ],\n        [\n            \"matricula-2\",\n            \"2024-01-05\",\n            \"0.0000\"\n        ],\n        [\n            \"matricula-2\",\n            \"2024-01-06\",\n            \"0.0000\"\n        ],\n        [\n            \"matricula-2\",\n            \"2024-01-07\",\n            \"None\"\n        ],\n        [\n            \"matricula-2\",\n            \"2024-01-08\",\n            \"0.0000\"\n        ],\n        [\n            \"matricula-2\",\n            \"2024-01-09\",\n            \"0.0000\"\n        ],\n        [\n            \"matricula-2\",\n            \"2024-01-10\",\n            \"0.0000\"\n        ]\n    ]\n}"},{"id":"f22e43d0-615e-4923-b558-db98c6f18312","name":"200-sucesso-sem-dados","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2024-01-01\",\r\n  \"data_fim\": \"2024-01-10\",\r\n  \"lista_matriculas_colaboradores\": [\"abobrinha\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-dia-colaborador"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"mensagem\": \"Dados obtidos com sucesso.\",\n    \"erro\": null,\n    \"ultimaPag\": 0,\n    \"resultados\": [\n        [\n            \"matricula\",\n            \"data\",\n            \"desvio\"\n        ]\n    ]\n}"},{"id":"c191c1fc-149e-4b25-8df0-e21f0a415b1c","name":"400-limite-dias","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2024-01-01\",\r\n  \"data_fim\": \"2024-01-11\",\r\n  \"lista_matriculas_colaboradores\": [\"*\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-dia-colaborador"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Requisicao mal-formada.\",\n    \"erro\": \"O periodo inserido contempla 11 dias, excedendo assim o limite deste endpoint (10 dias)!\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"},{"id":"cdc9ac7d-07a6-4e92-8c31-66c037b88639","name":"401-token-expirou","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2024-01-01\",\r\n  \"data_fim\": \"2024-01-11\",\r\n  \"lista_matriculas_colaboradores\": [123]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-dia-colaborador"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"The incoming token has expired\"\n}"},{"id":"7f23b482-169d-4164-909f-c17e364175e7","name":"400-lista_matriculas_colaboradores-deve-conter-apenas-strings","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2024-01-01\",\r\n  \"data_fim\": \"2024-01-11\",\r\n  \"lista_matriculas_colaboradores\": [123]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-dia-colaborador"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Invalid request body\",\n    \"erro\": \"[instance type (integer) does not match any allowed primitive type (allowed: [\\\"string\\\"])]\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"},{"id":"8da0e52b-1d48-4e94-aa66-930cfc81956f","name":"400-lista_matriculas_colaboradores-vazia","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2024-01-01\",\r\n  \"data_fim\": \"2024-01-11\",\r\n  \"lista_matriculas_colaboradores\": []\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-dia-colaborador"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Invalid request body\",\n    \"erro\": \"[array is too short: must have at least 1 elements but instance has 0 elements]\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"},{"id":"70a1062f-7a3e-48a5-960f-4c79109b1dbd","name":"500-dia-invalido","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2024-11-101\",\r\n  \"data_fim\": \"2024-01-11\",\r\n  \"lista_matriculas_colaboradores\": [\"1\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-dia-colaborador"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 500,\n    \"mensagem\": \"Problema ao checar amplitude de data. Verifique sua requisicao!\",\n    \"erro\": \"unconverted data remains: 1\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"}],"_postman_id":"a5d93f39-a5ce-4e5b-8970-196db6fe914e"},{"name":"desvios-dia-filial","event":[{"listen":"test","script":{"exec":[""],"type":"text/javascript","packages":{}}}],"id":"d3a4f977-a380-4441-b835-c3e5b04cc0a8","request":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2024-01-01\",\r\n  \"data_fim\": \"2024-02-01\",\r\n  \"lista_cods_filiais\": [\"*\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-dia-filial","description":"<h1 id=\"desvios-por-dia-e-filial\">Desvios por dia e filial</h1>\n<p>Fornece desvios por dia e por filial.</p>\n<h2 id=\"payload-de-requisição\">Payload de requisição</h2>\n<p>O usuário deve fornecer datas inicial (\"data_ini\") e final (\"data_fim\") em formato \"AAAA-MM-DD\".</p>\n<p>O número total de dias correspondentes (\"daterange\") não pode exceder 62 dias - dois meses cheios.</p>\n<p>Em \"lista_cods_filiais\" espera-se uma lista contendo strings ou inteiros que correspondam a códigos de filiais cadastradas na MOAVI. <strong>Para que dados de todas filiais sejam retornados, o input deve ser \"lista_cods_filiais\": [\"*\"]</strong></p>\n<p>Se houver necessidade de paginação, em requisições posteriores o usuário deve incluir no body a chave \"pag\" com um inteiro positivo.</p>\n<h2 id=\"corpo-da-resposta\">Corpo da resposta</h2>\n<ul>\n<li><p>\"mensagem\" conterá uma <em><strong>string</strong></em> <strong><code>que</code></strong> informa brevemente sobre sucesso ou fracasso da request. Algumas requisições podem resultar em avisos neste campo.</p>\n</li>\n<li><p>\"erro\", se aplicável, trará <em><strong>string</strong></em> detalhando o motivo de fracasso da requisição. Se não, retorna como <em><strong>null</strong></em></p>\n</li>\n<li><p>\"ultimaPag\", fornece a página (<em><strong>integer</strong></em>) do último lote de resultados. Em casos de erro, por exemplo, retorna como <em><strong>null</strong></em>.</p>\n</li>\n<li><p>\"statusCode\" informa o código HTTP da resposta, um <em><strong>integer</strong></em>.</p>\n</li>\n<li><p>\"resultados\", se não <em>null</em>, trata-se de uma lista de listas. As listas internas sempre tem 3 elementos, cada, todos <em><strong>string</strong></em>.</p>\n<ul>\n<li><p>A primeira lista aninhada é sempre [\"filial_cod\", \"data\", \"desvio\"].</p>\n</li>\n<li><p>As demais conterão <em><strong>strings</strong></em> com valores respectivos, ex: [\"0001\", \"2024-06-11\", \"0.123\"] significaria que no dia 11 de junho de 2024, a filial \"0001\" performou com \"0.123\" (12,3%) de desvios.</p>\n</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["desvios-dia-filial"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[{"id":"7aa7bb96-a496-433a-b306-077ca592adca","name":"200-sucesso-com-aviso","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 8,\r\n  \"data_ini\": \"2023-04-01\",\r\n  \"data_fim\": \"2023-06-01\",\r\n  \"lista_cods_filiais\": [\"1\", \"*\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-dia-filial"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"mensagem\": \"Cuidado! A lista passada foi lista_cods_filiais=['1', '*']. Estamos ignorando o código avulso e buscando por todas filiais.\",\n    \"erro\": null,\n    \"ultimaPag\": 1,\n    \"resultados\": [\n        [\n            \"filial_cod\",\n            \"data\",\n            \"desvio\"\n        ],\n        [\n            \"0207\",\n            \"2023-05-27\",\n            \"0.1739\"\n        ],\n        [\n            \"0211\",\n            \"2023-05-27\",\n            \"0.6842\"\n        ],\n        [\n            \"0217\",\n            \"2023-05-27\",\n            \"0.6538\"\n        ],\n        [\n            \"0220\",\n            \"2023-05-27\",\n            \"0.5000\"\n        ],\n        [\n            \"0222\",\n            \"2023-05-27\",\n            \"0.2609\"\n        ],\n        [\n            \"0245\",\n            \"2023-05-27\",\n            \"0.4815\"\n        ],\n        [\n            \"0246\",\n            \"2023-05-27\",\n            \"0.6071\"\n        ],\n        [\n            \"0255\",\n            \"2023-05-27\",\n            \"0.3415\"\n        ],\n        [\n            \"0262\",\n            \"2023-05-27\",\n            \"0.1000\"\n        ],\n        [\n            \"0267\",\n            \"2023-05-27\",\n            \"0.0400\"\n        ],\n        [\n            \"0273\",\n            \"2023-05-27\",\n            \"0.5882\"\n        ],\n        [\n            \"0275\",\n            \"2023-05-27\",\n            \"0.2059\"\n        ],\n        [\n            \"0281\",\n            \"2023-05-27\",\n            \"0.4000\"\n        ],\n        [\n            \"0284\",\n            \"2023-05-27\",\n            \"0.7500\"\n        ],\n        [\n            \"0289\",\n            \"2023-05-27\",\n            \"0.2333\"\n        ],\n        [\n            \"0292\",\n            \"2023-05-27\",\n            \"0.7188\"\n        ],\n        [\n            \"0297\",\n            \"2023-05-27\",\n            \"0.5333\"\n        ],\n        [\n            \"0298\",\n            \"2023-05-27\",\n            \"0.5571\"\n        ],\n        [\n            \"0302\",\n            \"2023-05-27\",\n            \"0.5660\"\n        ],\n        [\n            \"0304\",\n            \"2023-05-27\",\n            \"0.3882\"\n        ]\n    ]\n}"},{"id":"3ac390c1-2fa0-4073-9760-73454e8f22fc","name":"200-sucesso-completo","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2023-04-01\",\r\n  \"data_fim\": \"2023-06-01\",\r\n  \"lista_cods_filiais\": [\"1\"]\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://moapi.escalamoavi.com.br/desvios-dia-filial","protocol":"https","host":["moapi","escalamoavi","com","br"],"path":["desvios-dia-filial"],"query":[{"key":"","value":null,"disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"mensagem\": \"Dados obtidos com sucesso.\",\n    \"erro\": null,\n    \"ultimaPag\": 1,\n    \"resultados\": [\n        [\n            \"filial_cod\",\n            \"data\",\n            \"desvio\"\n        ],\n        [\n            \"0207\",\n            \"2023-05-27\",\n            \"0.1739\"\n        ],\n        [\n            \"0211\",\n            \"2023-05-27\",\n            \"0.6842\"\n        ],\n        [\n            \"0217\",\n            \"2023-05-27\",\n            \"0.6538\"\n        ],\n        [\n            \"0220\",\n            \"2023-05-27\",\n            \"0.5000\"\n        ],\n        [\n            \"0222\",\n            \"2023-05-27\",\n            \"0.2609\"\n        ],\n        [\n            \"0245\",\n            \"2023-05-27\",\n            \"0.4815\"\n        ],\n        [\n            \"0246\",\n            \"2023-05-27\",\n            \"0.6071\"\n        ],\n        [\n            \"0255\",\n            \"2023-05-27\",\n            \"0.3415\"\n        ],\n        [\n            \"0262\",\n            \"2023-05-27\",\n            \"0.1000\"\n        ],\n        [\n            \"0267\",\n            \"2023-05-27\",\n            \"0.0400\"\n        ],\n        [\n            \"0273\",\n            \"2023-05-27\",\n            \"0.5882\"\n        ],\n        [\n            \"0275\",\n            \"2023-05-27\",\n            \"0.2059\"\n        ],\n        [\n            \"0281\",\n            \"2023-05-27\",\n            \"0.4000\"\n        ],\n        [\n            \"0284\",\n            \"2023-05-27\",\n            \"0.7500\"\n        ],\n        [\n            \"0289\",\n            \"2023-05-27\",\n            \"0.2333\"\n        ],\n        [\n            \"0292\",\n            \"2023-05-27\",\n            \"0.7188\"\n        ],\n        [\n            \"0297\",\n            \"2023-05-27\",\n            \"0.5333\"\n        ],\n        [\n            \"0298\",\n            \"2023-05-27\",\n            \"0.5571\"\n        ],\n        [\n            \"0302\",\n            \"2023-05-27\",\n            \"0.5660\"\n        ],\n        [\n            \"0304\",\n            \"2023-05-27\",\n            \"0.3882\"\n        ]\n    ]\n}"},{"id":"9ef1860f-3297-4446-b164-fef45957a637","name":"400-data-invalida","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"203-04-01\",\r\n  \"data_fim\": \"2023-06-01\",\r\n  \"lista_cods_filiais\": [\"1\", \"*\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-dia-filial"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Invalid request body\",\n    \"erro\": \"[ECMA 262 regex \\\"^20(1[789]|2[0-9]|[3-9][0-9])|(2100)-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$\\\" does not match input string \\\"203-04-01\\\"]\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"},{"id":"f90020f8-e77c-4898-b6f3-097dd0848f89","name":"400-erro-excesso-de-dias","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2023-04-01\",\r\n  \"data_fim\": \"2023-07-01\",\r\n  \"lista_cods_filiais\": [\"1\", \"*\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-dia-filial"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Requisicao mal-formada.\",\n    \"erro\": \"O periodo inserido contempla 92 dias, excedendo assim o limite deste endpoint (62 dias)!\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"},{"id":"3ee43e57-b174-45f7-bc46-1125b1848511","name":"400-lista_cods_filiais-invalido","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2023-04-01\",\r\n  \"data_fim\": \"2023-07-01\",\r\n  \"lista_cods_filiais\": null\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-dia-filial"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Invalid request body\",\n    \"erro\": \"[instance type (null) does not match any allowed primitive type (allowed: [\\\"array\\\"])]\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"},{"id":"97e1d876-caf1-44f9-a5c1-bf3244031d8f","name":"500-mes-invalido","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2023-13-01\",\r\n  \"data_fim\": \"2023-06-01\",\r\n  \"lista_cods_filiais\": [\"1\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-dia-filial"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 500,\n    \"mensagem\": \"Problema ao checar amplitude de data. Verifique sua requisicao!\",\n    \"erro\": \"time data '2023-13-01' does not match format '%Y-%m-%d'\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"}],"_postman_id":"d3a4f977-a380-4441-b835-c3e5b04cc0a8"},{"name":"desvios-mes-cluster","event":[{"listen":"test","script":{"exec":[""],"type":"text/javascript","packages":{}}}],"id":"f86cd9fb-760e-46ef-a955-27350e92fa44","request":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"7\",\r\n  \"ano_ini\": 2023,\r\n  \"mes_fim\": 10,\r\n  \"ano_fim\": \"2024\",\r\n  \"lista_nomes_clusters\": [\"cluster23\", \"cluster42\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-mes-cluster","description":"<h1 id=\"desvios-por-mês-e-cluster\">Desvios por mês e cluster</h1>\n<p>Fornece desvios percentuais agregados por mês e discriminados por cluster.</p>\n<p><strong>Corpo da Requisição</strong></p>\n<ul>\n<li><p><strong>mes_ini</strong> (string ou integer): O mês inicial deve ser uma string no formato \"MM\" ou um número inteiro entre 1-12.</p>\n</li>\n<li><p><strong>ano_ini</strong> (string ou integer): O ano inicial deve ser uma string no formato \"AAAA\" ou um número inteiro entre 2017 e 2100.</p>\n</li>\n<li><p><strong>mes_fim</strong> (string ou integer): O mês final deve ser uma string no formato \"MM\" ou um número inteiro entre 1-12 após o mês inicial.</p>\n</li>\n<li><p><strong>ano_fim</strong> (string ou integer): O ano final deve ser uma string no formato \"AAAA\" ou um número inteiro entre 2017 e 2100.</p>\n<ul>\n<li><strong>OBSERVAÇÃO:</strong> O número máximo de dias correspondentes corresponde a 24 meses cheios - 31*24 dias.</li>\n</ul>\n</li>\n<li><p><strong>lista_nomes_clusters:</strong> array de strings, ou informe <em><strong>\"lista_nomes_clusters\": [\"*\"]</strong></em> para solicitar dados de todos clusters.</p>\n</li>\n<li><p><strong>OPCIONAL pag</strong> (integer): O número da página dos resultados. Só tem utilidade se consultas paginadas forem necessárias.</p>\n</li>\n</ul>\n<p><strong>Resposta</strong></p>\n<ul>\n<li><p><strong>statusCode</strong> (integer): O código de status da resposta.</p>\n</li>\n<li><p><strong>mensagem</strong> (string): Qualquer mensagem relevante.</p>\n</li>\n<li><p><strong>erro</strong> (null): Informações de erro, se houver.</p>\n</li>\n<li><p><strong>ultimaPag</strong> (integer): O número da última página com dados referentes à consulta em questão. Se consultas subsequentes forem necessárias para buscar todos os dados, ultimaPag&gt;1.</p>\n</li>\n<li><p><strong>resultados</strong> (array de arrays): Os dados resultantes.</p>\n<ul>\n<li><p>A primeira lista aninhada é sempre [\"nome_cluster\", \"ano\", \"mes\", \"desvios\"].</p>\n</li>\n<li><p>As demais conterão <em><strong>strings</strong></em> com valores respectivos, ex: [\"cluster14\", \"2024\", \"3\", \"0.01\"] significaria que no mês de março do ano 2024, \"cluster14\" apresentou desvios em 1% na média.</p>\n</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["desvios-mes-cluster"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[{"id":"945af148-b61d-47ff-9a2c-fa56c9ea999f","name":"200-sucesso-com-aviso","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"01\",\r\n  \"ano_ini\": 2023,\r\n  \"mes_fim\": 1,\r\n  \"ano_fim\": \"2023\",\r\n  \"lista_nomes_clusters\": [\"*\", \"cluster3\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-mes-cluster"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"mensagem\": \"Cuidado! A lista passada foi lista_nomes_clusters=['*', 'cluster3']. Estamos ignorando a entrada avulsa e buscando por todas entradas.\",\n    \"erro\": null,\n    \"ultimaPag\": 1,\n    \"resultados\": [\n        [\n            \"nome_cluster\",\n            \"ano\",\n            \"mes\",\n            \"desvio\"\n        ],\n        [\n            \"Cluster 1\",\n            \"2023\",\n            \"1\",\n            \"0.2908\"\n        ],\n        [\n            \"Cluster 2\",\n            \"2023\",\n            \"1\",\n            \"0.3327\"\n        ],\n        [\n            \"Cluster 3\",\n            \"2023\",\n            \"1\",\n            \"0.4614\"\n        ],\n        [\n            \"Cluster 4\",\n            \"2023\",\n            \"1\",\n            \"0.3491\"\n        ],\n        [\n            \"Cluster 5\",\n            \"2023\",\n            \"1\",\n            \"0.3460\"\n        ],\n        [\n            \"Cluster 6\",\n            \"2023\",\n            \"1\",\n            \"0.4188\"\n        ],\n        [\n            \"Cluster 7\",\n            \"2023\",\n            \"1\",\n            \"0.4191\"\n        ],\n        [\n            \"Cluster 8\",\n            \"2023\",\n            \"1\",\n            \"0.4602\"\n        ]\n    ]\n}\n"},{"id":"1a5e7091-d823-4ae7-8987-b6cf44d1bac0","name":"200-sucesso-completo","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"01\",\r\n  \"ano_ini\": 2022,\r\n  \"mes_fim\": 12,\r\n  \"ano_fim\": \"2023\",\r\n  \"lista_nomes_clusters\": [\"cluster1\", \"cluster2\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-mes-cluster"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"mensagem\": \"Dados obtidos com sucesso.\",\n    \"erro\": null,\n    \"ultimaPag\": 1,\n    \"resultados\": [\n        [\n            \"nome_cluster\",\n            \"ano\",\n            \"mes\",\n            \"desvio\"\n        ],\n        [\n            \"Cluster 1\",\n            \"2023\",\n            \"1\",\n            \"0.2908\"\n        ],\n        [\n            \"Cluster 2\",\n            \"2023\",\n            \"1\",\n            \"0.3327\"\n        ],\n        [\n            \"Cluster 3\",\n            \"2023\",\n            \"1\",\n            \"0.4614\"\n        ],\n        [\n            \"Cluster 4\",\n            \"2023\",\n            \"1\",\n            \"0.3491\"\n        ],\n        [\n            \"Cluster 5\",\n            \"2023\",\n            \"1\",\n            \"0.3460\"\n        ],\n        [\n            \"Cluster 6\",\n            \"2023\",\n            \"1\",\n            \"0.4188\"\n        ],\n        [\n            \"Cluster 7\",\n            \"2023\",\n            \"1\",\n            \"0.4191\"\n        ],\n        [\n            \"Cluster 8\",\n            \"2023\",\n            \"1\",\n            \"0.4602\"\n        ]\n    ]\n}\n"},{"id":"3ab648fb-f51b-4ce0-88e3-9c41f17c2de0","name":"400-erro-excesso-dias","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"01\",\r\n  \"ano_ini\": 2023,\r\n  \"mes_fim\": 1,\r\n  \"ano_fim\": \"2025\",\r\n  \"lista_nomes_clusters\": [\"*\", \"cluster3\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-mes-cluster"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Requisicao mal-formada.\",\n    \"erro\": \"O periodo inserido contempla 762 dias, excedendo assim o limite desta requisicao (744 dias)!\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"},{"id":"35396dcc-3fd1-46a2-9e16-893cb1c84c13","name":"400-ano-deve-estar-entre-2017-e-2100","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"01\",\r\n  \"ano_ini\": 202,\r\n  \"mes_fim\": 1,\r\n  \"ano_fim\": \"2025\",\r\n  \"lista_nomes_clusters\": [\"cluster42\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-mes-cluster"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Invalid request body\",\n    \"erro\": \"[instance failed to match at least one required schema among 2]\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"},{"id":"01173414-5fd2-4771-b4cd-96262666cf4c","name":"400-ano-string-deve-ter-formato-AAAA","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"01\",\r\n  \"ano_ini\": 2018,\r\n  \"mes_fim\": 1,\r\n  \"ano_fim\": \"205\",\r\n  \"lista_nomes_clusters\": [\"cluster2\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-mes-cluster"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Invalid request body\",\n    \"erro\": \"[instance failed to match at least one required schema among 2]\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"},{"id":"e04c4460-524e-4fa4-8e44-d63228f43e8d","name":"400-mes-se-inteiro-deve-ser-valido_entre-1-e-12","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"01\",\r\n  \"ano_ini\": 2017,\r\n  \"mes_fim\": 13,\r\n  \"ano_fim\": \"2025\",\r\n  \"lista_nomes_clusters\": [\"cluster3\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-mes-cluster"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Invalid request body\",\n    \"erro\": \"[instance failed to match at least one required schema among 2]\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"},{"id":"c1dc2711-cdd7-4a52-acaa-9832b74449b9","name":"400-mes-se-inteiro-deve-ter-formato-MM-e-estar-entre-01-e-12","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"7\",\r\n  \"ano_ini\": 2023,\r\n  \"mes_fim\": 10,\r\n  \"ano_fim\": \"2024\",\r\n  \"lista_nomes_clusters\": [\"cluster23\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-mes-cluster"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Invalid request body\",\n    \"erro\": \"[instance failed to match at least one required schema among 2]\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"}],"_postman_id":"f86cd9fb-760e-46ef-a955-27350e92fa44"},{"name":"desvios-mes-colaborador","event":[{"listen":"test","script":{"exec":[""],"type":"text/javascript","packages":{}}}],"id":"9211c898-0406-4f43-8def-0bffe5089a74","request":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"06\",\r\n  \"ano_ini\": 2024,\r\n  \"mes_fim\": 6,\r\n  \"ano_fim\": \"2024\",\r\n  \"lista_matriculas_colaboradores\": [\"1234\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-mes-colaborador","description":"<h1 id=\"desvios-por-mês-e-colaborador\">Desvios por mês e colaborador</h1>\n<p>Fornece valores <em><strong>absolutos</strong></em> dos desvios, agregados por mês e discriminados por matrícula de colaboradores.</p>\n<p><strong>Corpo da Requisição</strong></p>\n<ul>\n<li><p><strong>mes_ini</strong> (string ou integer): O mês inicial deve ser uma string no formato \"MM\" ou um número inteiro entre 1-12.</p>\n</li>\n<li><p><strong>ano_ini</strong> (string ou integer): O ano inicial deve ser uma string no formato \"AAAA\" ou um número inteiro entre 2017 e 2100.</p>\n</li>\n<li><p><strong>mes_fim</strong> (string ou integer): O mês final deve ser uma string no formato \"MM\" ou um número inteiro entre 1-12 após o mês inicial.</p>\n</li>\n<li><p><strong>ano_fim</strong> (string ou integer): O ano final deve ser uma string no formato \"AAAA\" ou um número inteiro entre 2017 e 2100.</p>\n<ul>\n<li><strong>OBSERVAÇÃO:</strong> O número total de dias correspondentes deve ser, atualmente, no máximo <strong>15000/n_colabs</strong> em que \"n_colabs\" é o número de colaboradores solicitados.</li>\n</ul>\n</li>\n<li><p><strong>lista_matriculas_colaboradores:</strong> array de strings, ou informe <em><strong>\"</strong></em><strong>lista_matriculas_colaboradores</strong><em><strong>\": [\"*\"]</strong></em> para solicitar dados de todos colaboradores.</p>\n</li>\n<li><p><strong>OPCIONAL pag</strong> (integer): O número da página dos resultados. Só tem utilidade se consultas paginadas forem necessárias.</p>\n</li>\n</ul>\n<p><strong>Resposta</strong></p>\n<ul>\n<li><p><strong>statusCode</strong> (integer): O código de status da resposta.</p>\n</li>\n<li><p><strong>mensagem</strong> (string): Qualquer mensagem relevante.</p>\n</li>\n<li><p><strong>erro</strong> (null): Informações de erro, se houver.</p>\n</li>\n<li><p><strong>ultimaPag</strong> (integer): O número da última página com dados referentes à consulta em questão. Se consultas subsequentes forem necessárias para buscar todos os dados, ultimaPag&gt;1.</p>\n</li>\n<li><p><strong>resultados</strong> (array de arrays): Os dados resultantes.</p>\n<ul>\n<li><p>A primeira lista aninhada é sempre [\"matricula\", \"ano\", \"mes\", \"n_desvios\"].</p>\n</li>\n<li><p>As demais conterão <em><strong>strings</strong></em> com valores respectivos, ex: [\"matricula23\", \"2022\", \"4\", \"5\"] significaria que no mês de abril de 2022, o colaborador de matrícula \"matricula23\" acumulou 5 desvios.</p>\n</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["desvios-mes-colaborador"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[{"id":"2d7eaaa0-9fc1-432c-91cf-43886fbd4012","name":"200-sucesso-completo","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"12\",\r\n  \"ano_ini\": 2023,\r\n  \"mes_fim\": 12,\r\n  \"ano_fim\": \"2023\",\r\n  \"lista_matriculas_colaboradores\": [\"matricula1\", \"matricula5\", \"matricula3\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-mes-colaborador"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"mensagem\": \"Dados obtidos com sucesso.\",\n    \"erro\": null,\n    \"ultimaPag\": 1,\n    \"resultados\": [\n        [\n            \"matricula\",\n            \"ano\",\n            \"mes\",\n            \"desvio\"\n        ],\n        [\n            \"matricula1\",\n            \"2023\",\n            \"12\",\n            \"0.2212\"\n        ],\n        [\n            \"matricula3\",\n            \"2023\",\n            \"12\",\n            \"0.2941\"\n        ],\n        [\n            \"matricula5\",\n            \"2023\",\n            \"12\",\n            \"0.0800\"\n        ]\n    ]\n}"},{"id":"c399187d-8de4-4391-866e-552411a6d55c","name":"200-sucesso-parcial","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"12\",\r\n  \"ano_ini\": 2023,\r\n  \"mes_fim\": 12,\r\n  \"ano_fim\": \"2023\",\r\n  \"lista_matriculas_colaboradores\": [\"matricula1\", \"matricula5\", \"matricula3\", \"123\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-mes-colaborador"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"mensagem\": \"Dados obtidos com sucesso.\",\n    \"erro\": null,\n    \"ultimaPag\": 1,\n    \"resultados\": [\n        [\n            \"matricula\",\n            \"ano\",\n            \"mes\",\n            \"desvio\"\n        ],\n        [\n            \"matricula1\",\n            \"2023\",\n            \"12\",\n            \"0.2212\"\n        ],\n        [\n            \"matricula3\",\n            \"2023\",\n            \"12\",\n            \"0.2941\"\n        ],\n        [\n            \"matricula5\",\n            \"2023\",\n            \"12\",\n            \"0.0800\"\n        ]\n    ]\n}"},{"id":"72ea1c4c-feb8-44d4-91c5-4a37f19b1d63","name":"200-sucesso-parcial--nenhum-resultado","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"eyJraWQiOiJGVkpuRzMwXC85cG9KV2twZ3E3QlJNcHEzZW5OTWxpWUpwN2NcL3ZcL3hNUUhZPSIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiI5NDU4ZDQ0OC05MDAxLTcwMTYtNGYwZS0yMWI5MjNkMmY1MDIiLCJjb2duaXRvOmdyb3VwcyI6WyJtb2FwaS1pbmRpY2F0b3JzIl0sImlzcyI6Imh0dHBzOlwvXC9jb2duaXRvLWlkcC51cy1lYXN0LTEuYW1hem9uYXdzLmNvbVwvdXMtZWFzdC0xX1B6NkxqRno3VCIsImNvZ25pdG86dXNlcm5hbWUiOiJvbmVhYm92ZWFsbCIsIm9yaWdpbl9qdGkiOiI4NDQyOWVhOS1iZTMxLTQ1OTMtYTBjOC03YjA1YTk2MzNjNWQiLCJjb2duaXRvOnJvbGVzIjpbImFybjphd3M6aWFtOjozOTA1ODY5NjcxNDM6cm9sZVwvbW9hcGlJbmRpY2F0b3JzUm91dGVHYXRld2F5QWNjZXNzIl0sImF1ZCI6Ijd1aWJrdWlrODlxOTc3bzYxNWsycDk3cnBuIiwiZXZlbnRfaWQiOiJlZWY5ZGUxNi05ZjRjLTQ3MGEtYjcxZC01NzA3NDg3MmIxZDMiLCJ0b2tlbl91c2UiOiJpZCIsImF1dGhfdGltZSI6MTcxODMyODEwMiwibmlja25hbWUiOiJvbmVhYm92ZWFsbCIsImV4cCI6MTcxODM5ODY1MywiaWF0IjoxNzE4Mzk1MDUzLCJqdGkiOiI5MWYwODA3Ny1lNDRmLTQ5OGQtOGY0My0xYTczNDgwOWFkNjIiLCJlbWFpbCI6InJhZmFlbC5jb3N0YUBtb2F2aS5jb20uYnIifQ.e8b4pE3mGjGAs6nrC8YCbYN8v60L-Tlk34SvAjA7mpJavkq2gbrR69HN4VEsVR0jCANkRGdtYTL-QxqqDf1ATnnkB0S_-Rb2v0yFyVshKpbh1gCIQVVDspBr_okPHr_2XpuybzasYAt2VgmuulAIF9vb101qQspTxo5VfD4fywAN7IK0WBEQUM0DNDwW-f6_1ehFpqKEsJgCla17n-21Rg1JnYkSxrRH0Unc3WZgdGRDG1Ae-0bQiFDwjUP1fsqVOmB6zJwNbkFWxoDNYHm3pnx_WY_SQbpAWVC_1AZRpxclCDY_0mkvzBVFwxdsXQOHNnAqf4TziPlCgaHGWRAslQ"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"01\",\r\n  \"ano_ini\": 2024,\r\n  \"mes_fim\": 1,\r\n  \"ano_fim\": \"2024\",\r\n  \"lista_matriculas_colaboradores\": [\"\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-mes-colaborador"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 14 Jun 2024 20:01:55 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"146"},{"key":"Connection","value":"keep-alive"},{"key":"x-amzn-RequestId","value":"f07bff43-3f1c-4511-b5cf-b4a2f4d4d29e"},{"key":"x-amz-apigw-id","value":"ZX4z-GowoAMEOIA="},{"key":"X-Amzn-Trace-Id","value":"Root=1-666ca1b2-2688b02768a5cecc31a9a1bd;Parent=6462f1554c6ff80d;Sampled=0;lineage=bb58b8d6:0"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"mensagem\": \"Dados obtidos com sucesso.\",\n    \"erro\": null,\n    \"ultimaPag\": 0,\n    \"resultados\": [\n        [\n            \"matricula\",\n            \"ano\",\n            \"mes\",\n            \"desvio\"\n        ]\n    ]\n}"},{"id":"3f6e924d-fea9-49b1-9349-3bf25dd56cb7","name":"400-erro-excesso-de-dias","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"eyJraWQiOiJGVkpuRzMwXC85cG9KV2twZ3E3QlJNcHEzZW5OTWxpWUpwN2NcL3ZcL3hNUUhZPSIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiI5NDU4ZDQ0OC05MDAxLTcwMTYtNGYwZS0yMWI5MjNkMmY1MDIiLCJjb2duaXRvOmdyb3VwcyI6WyJtb2FwaS1pbmRpY2F0b3JzIl0sImlzcyI6Imh0dHBzOlwvXC9jb2duaXRvLWlkcC51cy1lYXN0LTEuYW1hem9uYXdzLmNvbVwvdXMtZWFzdC0xX1B6NkxqRno3VCIsImNvZ25pdG86dXNlcm5hbWUiOiJvbmVhYm92ZWFsbCIsIm9yaWdpbl9qdGkiOiI4NDQyOWVhOS1iZTMxLTQ1OTMtYTBjOC03YjA1YTk2MzNjNWQiLCJjb2duaXRvOnJvbGVzIjpbImFybjphd3M6aWFtOjozOTA1ODY5NjcxNDM6cm9sZVwvbW9hcGlJbmRpY2F0b3JzUm91dGVHYXRld2F5QWNjZXNzIl0sImF1ZCI6Ijd1aWJrdWlrODlxOTc3bzYxNWsycDk3cnBuIiwiZXZlbnRfaWQiOiJlZWY5ZGUxNi05ZjRjLTQ3MGEtYjcxZC01NzA3NDg3MmIxZDMiLCJ0b2tlbl91c2UiOiJpZCIsImF1dGhfdGltZSI6MTcxODMyODEwMiwibmlja25hbWUiOiJvbmVhYm92ZWFsbCIsImV4cCI6MTcxODM5MDk0MSwiaWF0IjoxNzE4Mzg3MzQxLCJqdGkiOiJkNTYyM2ZiMy1mODRkLTRmYWUtYWRjMi1kZjdhZDY5NDc3YTMiLCJlbWFpbCI6InJhZmFlbC5jb3N0YUBtb2F2aS5jb20uYnIifQ.MGfjmBt0jcYHP2mmOxKXZUguj7D8a4AWR5HEhee-IG1vyYC3E2957NRzavomyYkqz4AZR6zfrd7vZbUQGWToJWwsMXmr36nn0pXHLw8aGMKMBRggw82x39IVMzw856JBeO2sRvK5rsWfp8jiiNJM9BbqnTFGotCpxgx2kg5on4HV4DBEWpnx0jYJl3NaGqiOsPdOhc85aWC8wcTfuP-ViKRQ2gOlSnwIpiHMolNu68pQXcSiUbhD3vbuIecaGgPHGyB0IM2qJOHA4WvzpsOpnslIh2uipfWsAQmwzJTigKr2iA2Jh_bUtkdNOQOSUGWgl-kbpsxykBZ19yuW12R1wg"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"12\",\r\n  \"ano_ini\": 2023,\r\n  \"mes_fim\": 1,\r\n  \"ano_fim\": \"2024\",\r\n  \"lista_matriculas_colaboradores\": [\"*\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-mes-colaborador"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Requisicao mal-formada.\",\n    \"erro\": \"O periodo inserido contempla 62 dias, excedendo assim o limite desta requisicao (31 dias)!\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"},{"id":"6dab8a84-ae96-4f82-bc2c-6655756c4e32","name":"400-ano-deve-estar-entre-2017-e-2100","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"01\",\r\n  \"ano_ini\": 2016,\r\n  \"mes_fim\": 1,\r\n  \"ano_fim\": \"2024\",\r\n  \"lista_matriculas_colaboradores\": [\"*\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-mes-colaborador"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Invalid request body\",\n    \"erro\": \"[instance failed to match at least one required schema among 2]\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"},{"id":"53cec70d-ff49-48ec-bdb2-462bd4da0c4c","name":"400-ano-string-deve-ter-formato-AAAA","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"01\",\r\n  \"ano_ini\": 2024,\r\n  \"mes_fim\": 1,\r\n  \"ano_fim\": \"02024\",\r\n  \"lista_matriculas_colaboradores\": [\"*\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-mes-colaborador"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Invalid request body\",\n    \"erro\": \"[instance failed to match at least one required schema among 2]\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"},{"id":"fbab3893-5982-4ff5-884a-c5417f1d5289","name":"400-lista_matriculas_colaboradores-nao-pode-ser-vazia","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"01\",\r\n  \"ano_ini\": 2024,\r\n  \"mes_fim\": 1,\r\n  \"ano_fim\": \"2024\",\r\n  \"lista_matriculas_colaboradores\": []\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-mes-colaborador"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Invalid request body\",\n    \"erro\": \"[array is too short: must have at least 1 elements but instance has 0 elements]\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"},{"id":"bfc8b880-7407-41a9-948b-18e7c7535236","name":"400-lista_matriculas_colaboradores-nao-aceita-entradas-inteiras","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"01\",\r\n  \"ano_ini\": 2024,\r\n  \"mes_fim\": 1,\r\n  \"ano_fim\": \"2024\",\r\n  \"lista_matriculas_colaboradores\": [421]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-mes-colaborador"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Invalid request body\",\n    \"erro\": \"[instance type (integer) does not match any allowed primitive type (allowed: [\\\"string\\\"])]\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"}],"_postman_id":"9211c898-0406-4f43-8def-0bffe5089a74"},{"name":"desvios-mes-filial","id":"5a872c39-30eb-4cc6-82f2-70be07d8d839","request":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"01\",\r\n  \"ano_ini\": 2023,\r\n  \"mes_fim\": 12,\r\n  \"ano_fim\": 2023,\r\n  \"lista_cods_filiais\": [12, \"*\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-mes-filial","description":"<h1 id=\"desvios-por-mes-e-filial\">Desvios por mes e filial</h1>\n<p>Este endpoint é usado para recuperar desvios médios percentuais com base em parâmetros específicos relacionados a meses e anos para uma determinada filial.</p>\n<p><strong>Corpo da Requisição</strong></p>\n<ul>\n<li><p><strong>mes_ini</strong> (string ou integer): O mês inicial deve ser uma string no formato \"MM\" ou um número inteiro entre 1-12.</p>\n</li>\n<li><p><strong>ano_ini</strong> (string ou integer): O ano inicial deve ser uma string no formato \"AAAA\" ou um número inteiro entre 2017 e 2100.</p>\n</li>\n<li><p><strong>mes_fim</strong> (string ou integer): O mês final deve ser uma string no formato \"MM\" ou um número inteiro entre 1-12 após o mês inicial.</p>\n</li>\n<li><p><strong>ano_fim</strong> (string ou integer): O ano final deve ser uma string no formato \"AAAA\" ou um número inteiro entre 2017 e 2100.</p>\n<ul>\n<li><strong>OBSERVAÇÃO:</strong> O número total de dias correspondentes não pode exceder 12 meses cheios - 31*12 dias.</li>\n</ul>\n</li>\n<li><p><strong>lista_cods_filiais:</strong> array de strings, inteiros ou informe <em><strong>\"</strong></em><strong>lista_cods_filiais</strong><em><strong>\": [\"*\"]</strong></em> para solicitar dados de todas filiais.</p>\n</li>\n<li><p><strong>OPCIONAL pag</strong> (integer): O número da página dos resultados. Só tem utilidade se consultas paginadas forem necessárias.</p>\n</li>\n</ul>\n<p><strong>Resposta</strong></p>\n<ul>\n<li><p><strong>statusCode</strong> (integer): O código de status da resposta.</p>\n</li>\n<li><p><strong>mensagem</strong> (string): Qualquer mensagem relevante.</p>\n</li>\n<li><p><strong>erro</strong> (null): Informações de erro, se houver.</p>\n</li>\n<li><p><strong>ultimaPag</strong> (integer): O número da última página com dados referentes à consulta em questão. Se consultas subsequentes forem necessárias para buscar todos os dados, ultimaPag&gt;1.</p>\n</li>\n<li><p><strong>resultados</strong> (array de arrays): Os dados resultantes.</p>\n<ul>\n<li><p>A primeira lista aninhada é sempre [\"filial_cod\", \"ano\", \"mes\", \"desvio\"].</p>\n</li>\n<li><p>As demais conterão <em><strong>strings</strong></em> com valores respectivos, ex: [\"1184\", \"2024\", \"4\", \"0.1111\"] significaria que no mês de abril de 2024, a filial \"1184\" acumulou desvios com uma média de 11,11%.</p>\n</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["desvios-mes-filial"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[{"id":"f453b410-bfc0-4175-9422-a0dab20c6eab","name":"200-sucesso-com-aviso","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"01\",\r\n  \"ano_ini\": 2023,\r\n  \"mes_fim\": 12,\r\n  \"ano_fim\": 2023,\r\n  \"lista_cods_filiais\": [12, \"*\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-mes-filial"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"mensagem\": \"Cuidado! A lista passada foi lista_cods_filiais=[12, '*']. Estamos ignorando o código avulso e buscando por todas filiais.\",\n    \"erro\": null,\n    \"ultimaPag\": 1,\n    \"resultados\": [\n        [\n            \"filial_cod\",\n            \"ano\",\n            \"mes\",\n            \"desvio\"\n        ],\n        [\n            \"0002\",\n            \"2023\",\n            \"1\",\n            \"0.1807\"\n        ],\n        [\n            \"0002\",\n            \"2023\",\n            \"2\",\n            \"0.1602\"\n        ],\n        [\n            \"0002\",\n            \"2023\",\n            \"3\",\n            \"0.1564\"\n        ],\n        [\n            \"0002\",\n            \"2023\",\n            \"4\",\n            \"0.1289\"\n        ],\n        [\n            \"0002\",\n            \"2023\",\n            \"5\",\n            \"0.1147\"\n        ],\n        [\n            \"0002\",\n            \"2023\",\n            \"6\",\n            \"0.1845\"\n        ],\n        [\n            \"0002\",\n            \"2023\",\n            \"7\",\n            \"0.1239\"\n        ],\n        [\n            \"0002\",\n            \"2023\",\n            \"8\",\n            \"0.1062\"\n        ],\n        [\n            \"0002\",\n            \"2023\",\n            \"9\",\n            \"0.1252\"\n        ],\n        [\n            \"0002\",\n            \"2023\",\n            \"10\",\n            \"0.1222\"\n        ],\n        [\n            \"0002\",\n            \"2023\",\n            \"11\",\n            \"0.1685\"\n        ],\n        [\n            \"0002\",\n            \"2023\",\n            \"12\",\n            \"0.1964\"\n        ],\n        [\n            \"0025\",\n            \"2023\",\n            \"1\",\n            \"0.2927\"\n        ],\n        [\n            \"0025\",\n            \"2023\",\n            \"2\",\n            \"0.2825\"\n        ],\n        [\n            \"0025\",\n            \"2023\",\n            \"3\",\n            \"0.4120\"\n        ]\n    ]\n}"},{"id":"e9abd7a2-fa0b-4eb2-b883-44ff9679ca29","name":"200-sucesso-completo","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"01\",\r\n  \"ano_ini\": 2023,\r\n  \"mes_fim\": 12,\r\n  \"ano_fim\": 2023,\r\n  \"lista_cods_filiais\": [\"*\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-mes-filial"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"mensagem\": \"Dados obtidos com sucesso.\",\n    \"erro\": null,\n    \"ultimaPag\": 2,\n    \"resultados\": [\n        [\n            \"filial_cod\",\n            \"ano\",\n            \"mes\",\n            \"desvio\"\n        ],\n        [\n            \"0002\",\n            \"2023\",\n            \"1\",\n            \"0.1807\"\n        ],\n        [\n            \"0002\",\n            \"2023\",\n            \"2\",\n            \"0.1602\"\n        ],\n        [\n            \"0002\",\n            \"2023\",\n            \"3\",\n            \"0.1564\"\n        ],\n        [\n            \"0002\",\n            \"2023\",\n            \"4\",\n            \"0.1289\"\n        ],\n        [\n            \"0002\",\n            \"2023\",\n            \"5\",\n            \"0.1147\"\n        ],\n        [\n            \"0002\",\n            \"2023\",\n            \"6\",\n            \"0.1845\"\n        ],\n        [\n            \"0002\",\n            \"2023\",\n            \"7\",\n            \"0.1239\"\n        ],\n        [\n            \"0002\",\n            \"2023\",\n            \"8\",\n            \"0.1062\"\n        ],\n        [\n            \"0002\",\n            \"2023\",\n            \"9\",\n            \"0.1252\"\n        ],\n        [\n            \"0002\",\n            \"2023\",\n            \"10\",\n            \"0.1222\"\n        ],\n        [\n            \"0002\",\n            \"2023\",\n            \"11\",\n            \"0.1685\"\n        ],\n        [\n            \"0002\",\n            \"2023\",\n            \"12\",\n            \"0.1964\"\n        ],\n        [\n            \"0025\",\n            \"2023\",\n            \"1\",\n            \"0.2927\"\n        ],\n        [\n            \"0025\",\n            \"2023\",\n            \"2\",\n            \"0.2825\"\n        ],\n        [\n            \"0025\",\n            \"2023\",\n            \"3\",\n            \"0.4120\"\n        ]\n    ]\n}"},{"id":"7357a775-2e02-4150-a2f7-35e292aebb00","name":"400-erro-excesso-de-dias","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"01\",\r\n  \"ano_ini\": 2023,\r\n  \"mes_fim\": 1,\r\n  \"ano_fim\": 2024,\r\n  \"lista_cods_filiais\": [\"*\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-mes-filial"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Requisicao mal-formada.\",\n    \"erro\": \"O periodo inserido contempla 396 dias, excedendo assim o limite deste endpoint (372 dias)!\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"},{"id":"2a2eb07a-9e12-4635-b7e3-df241e5d27eb","name":"400-mes-invalido","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"01\",\r\n  \"ano_ini\": 2023,\r\n  \"mes_fim\": 13,\r\n  \"ano_fim\": 2023,\r\n  \"lista_cods_filiais\": [\"*\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-mes-filial"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Invalid request body\",\n    \"erro\": \"[instance failed to match at least one required schema among 2]\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"},{"id":"341fee84-83ad-43b5-a5a7-a505d51051fc","name":"400-lista_cods_filiais-invalida","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"01\",\r\n  \"ano_ini\": 2023,\r\n  \"mes_fim\": 1,\r\n  \"ano_fim\": 2024,\r\n  \"lista_cods_filiais\": \"*\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/desvios-mes-filial"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Invalid request body\",\n    \"erro\": \"[instance type (string) does not match any allowed primitive type (allowed: [\\\"array\\\"])]\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"}],"_postman_id":"5a872c39-30eb-4cc6-82f2-70be07d8d839"},{"name":"iqes-dia-cluster","event":[{"listen":"test","script":{"exec":[""],"type":"text/javascript","packages":{}}}],"id":"3a2f208b-59a4-451c-9992-e3c04f6f38e6","request":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2023-01-01\",\r\n  \"data_fim\": \"2023-02-01\",\r\n  \"lista_nomes_clusters\": [\"cluster5\", \"cluster3\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/iqes-dia-cluster","description":"<h1 id=\"iqes-por-dia-e-cluster\">IQEs por dia e cluster</h1>\n<p>Fornece IQEs agregados por dia e discriminados por cluster.</p>\n<h2 id=\"payload-de-requisição\">Payload de requisição</h2>\n<p>O usuário deve fornecer datas inicial (\"data_ini\") e final (\"data_fim\") em formato \"AAAA-MM-DD\".</p>\n<p>O número total de dias correspondentes (\"daterange\") não pode exceder 12 meses cheios (12*31 dias).</p>\n<p>Em \"lista_nomes_clusters\" espera-se uma lista contendo strings que correspondam a nomes de clusters cadastrados na MOAVI. <strong>Para que dados de todos clusters sejam retornados, o input deve ser \"<strong>lista_nomes_clusters</strong>\": [\"*\"]</strong></p>\n<p>Se houver necessidade de paginação, em requisições posteriores o usuário deve incluir no body a chave \"pag\" com um inteiro positivo.</p>\n<h2 id=\"corpo-da-resposta\">Corpo da resposta</h2>\n<ul>\n<li><p>\"mensagem\" conterá uma <em><strong>string</strong></em> que informa brevemente sobre sucesso ou fracasso da request. Algumas requisições podem resultar em avisos neste campo.</p>\n</li>\n<li><p>\"erro\", se aplicável, trará <em><strong>string</strong></em> detalhando o motivo de fracasso da requisição. Se não, retorna como <em><strong>null</strong></em></p>\n</li>\n<li><p>\"ultimaPag\", fornece a página (<em><strong>integer</strong></em>) do último lote de resultados. Em casos de erro, por exemplo, retorna como <em><strong>null</strong></em>.</p>\n</li>\n<li><p>\"statusCode\" informa o código HTTP da resposta, um <em><strong>integer</strong></em>.</p>\n</li>\n<li><p>\"resultados\", se não <em>null</em>, trata-se de uma lista de listas. As listas internas sempre tem 3 elementos, cada, todos <em><strong>string</strong></em>.</p>\n<ul>\n<li><p>A primeira lista aninhada é sempre [\"nome_cluster\", \"data\", \"iqe\"].</p>\n</li>\n<li><p>As demais conterão <em><strong>strings</strong></em> com valores respectivos, ex: [\"cluster1\", \"2024-06-11\", \"0.83\"] significaria que no dia 11 de junho de 2024, o cluster \"cluster1\" performou com \"0.813\" (81,3%) de IQE.</p>\n</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["iqes-dia-cluster"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[{"id":"4696e0c3-cd22-43b7-8a4f-067e041e5dbd","name":"200-sucesso-completo","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2024-01-01\",\r\n  \"data_fim\": \"2024-12-31\",\r\n  \"lista_nomes_clusters\": [\"cluster2\", \"cluster1\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/iqes-dia-cluster"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"mensagem\": \"Dados obtidos com sucesso.\",\n    \"erro\": null,\n    \"ultimaPag\": 1,\n    \"resultados\": [\n        [\n            \"nome_cluster\",\n            \"data\",\n            \"iqe\"\n        ],\n        [\n            \"cluster1\",\n            \"2024-01-01\",\n            \"0.961053\"\n        ],\n        [\n            \"cluster1\",\n            \"2024-01-02\",\n            \"0.866842\"\n        ],\n        [\n            \"cluster1\",\n            \"2024-01-03\",\n            \"0.865789\"\n        ],\n        [\n            \"cluster1\",\n            \"2024-01-04\",\n            \"0.848421\"\n        ],\n        [\n            \"cluster1\",\n            \"2024-01-05\",\n            \"0.863158\"\n        ],\n        [\n            \"cluster1\",\n            \"2024-01-06\",\n            \"0.896316\"\n        ]\n    ]\n}"},{"id":"1320adae-da18-4a52-ae8c-822857161cd1","name":"200-sucesso-com-aviso","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2024-01-01\",\r\n  \"data_fim\": \"2024-01-01\",\r\n  \"lista_nomes_clusters\": [\"*\",\"cluster1\", \"cluster2\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/iqes-dia-cluster"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"mensagem\": \"Cuidado! A lista passada foi lista_nomes_clusters=['*', 'cluster1', 'cluster2']. Estamos ignorando a entrada avulsa e buscando por todas entradas.\",\n    \"erro\": null,\n    \"ultimaPag\": 1,\n    \"resultados\": [\n        [\n            \"nome_cluster\",\n            \"data\",\n            \"iqe\"\n        ],\n        [\n            \"cluster1\",\n            \"2024-01-01\",\n            \"0.961053\"\n        ],\n        [\n            \"cluster1\",\n            \"2024-01-02\",\n            \"0.866842\"\n        ],\n        [\n            \"cluster1\",\n            \"2024-01-03\",\n            \"0.865789\"\n        ],\n        [\n            \"cluster1\",\n            \"2024-01-04\",\n            \"0.848421\"\n        ],\n        [\n            \"cluster1\",\n            \"2024-01-05\",\n            \"0.863158\"\n        ],\n        [\n            \"cluster1\",\n            \"2024-01-06\",\n            \"0.896316\"\n        ]\n    ]\n}"},{"id":"c405d710-2f74-47b7-9463-94cec06a256a","name":"400-erro-excesso-de-dias","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2023-01-01\",\r\n  \"data_fim\": \"2024-02-01\",\r\n  \"lista_nomes_clusters\": [\"*\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/iqes-dia-cluster"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Requisicao mal-formada.\",\n    \"erro\": \"O periodo inserido contempla 397 dias, excedendo assim o limite desta requisicao (372 dias)!\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"},{"id":"192556ab-5969-44fd-8427-2dd47c241758","name":"400-lista_nomes_clusters-nao-aceita-entradas-inteiras","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2023-01-01\",\r\n  \"data_fim\": \"2023-02-01\",\r\n  \"lista_nomes_clusters\": [123, \"cluster3\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/iqes-dia-cluster"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Invalid request body\",\n    \"erro\": \"[instance type (integer) does not match any allowed primitive type (allowed: [\\\"string\\\"])]\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"},{"id":"5ce05623-5bdb-42c7-bfd0-32a2b824c0b6","name":"500-dia-deve-ser-valido","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2024-01-01\",\r\n  \"data_fim\": \"2024-01-41\",\r\n  \"lista_nomes_clusters\": [\"cluster1\", \"cluster2\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/iqes-dia-cluster"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 500,\n    \"mensagem\": \"Problema ao checar amplitude de data. Verifique sua requisicao!\",\n    \"erro\": \"unconverted data remains: 1\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"}],"_postman_id":"3a2f208b-59a4-451c-9992-e3c04f6f38e6"},{"name":"iqes-dia-filial","event":[{"listen":"test","script":{"exec":[""],"type":"text/javascript","packages":{}}}],"id":"5fbbf295-e089-4016-8a81-ea2140a2bcef","request":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2024-04-01\",\r\n  \"data_fim\": \"2024-05-31\",\r\n  \"lista_cods_filiais\": [\"*\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/iqes-dia-filial","description":"<h1 id=\"iqes-por-dia-e-filial\">IQEs por dia e filial</h1>\n<p>Fornece os IQES por dia e por filial.</p>\n<h2 id=\"payload-de-requisição\">Payload de requisição</h2>\n<p>O usuário deve fornecer datas inicial (\"data_ini\") e final (\"data_fim\") em formato \"AAAA-MM-DD\".</p>\n<p>O número total de dias correspondentes (\"daterange\") não pode exceder 62 dias - dois meses cheios.</p>\n<p>Em \"lista_cods_filiais\" espera-se uma lista contendo strings ou inteiros que correspondam a códigos de filiais cadastradas na MOAVI. <strong>Para que dados de todas filiais sejam retornados, o input deve ser \"lista_cods_filiais\": [\"*\"]</strong></p>\n<p>Se houver necessidade de paginação, em requisições posteriores o usuário deve incluir no body a chave \"pag\" com um inteiro positivo.</p>\n<h2 id=\"corpo-da-resposta\">Corpo da resposta</h2>\n<ul>\n<li><p>\"mensagem\" conterá uma <em><strong>string</strong></em> <strong><code>que</code></strong> informa brevemente sobre sucesso ou fracasso da request. Algumas requisições podem resultar em avisos neste campo.</p>\n</li>\n<li><p>\"erro\", se aplicável, trará <em><strong>string</strong></em> detalhando o motivo de fracasso da requisição. Se não, retorna como <em><strong>null</strong></em></p>\n</li>\n<li><p>\"ultimaPag\", fornece a página (<em><strong>integer</strong></em>) do último lote de resultados. Em casos de erro, por exemplo, retorna como <em><strong>null</strong></em>.</p>\n</li>\n<li><p>\"statusCode\" informa o código HTTP da resposta, um <em><strong>integer</strong></em>.</p>\n</li>\n<li><p>\"resultados\", se não <em>null</em>, trata-se de uma lista de listas. As listas internas sempre tem 3 elementos, cada, todos <em><strong>string</strong></em>.</p>\n<ul>\n<li><p>A primeira lista aninhada é sempre [\"filial_cod\", \"data\", \"iqe\"].</p>\n</li>\n<li><p>As demais conterão <em><strong>strings</strong></em> com valores respectivos, ex: [\"0001\", \"2024-06-11\", \"0.976\"] significaria que no dia 11 de junho de 2024, a filial \"0001\" performou com \"0.976\" (97,6%) de IQE médio.</p>\n</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["iqes-dia-filial"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[{"id":"e698eeee-2967-427a-94cc-41ca10a865d3","name":"200-sucesso-com-aviso","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2023-04-01\",\r\n  \"data_fim\": \"2023-06-01\",\r\n  \"lista_cods_filiais\": [\"2\", \"*\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/iqes-dia-filial"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"mensagem\": \"Cuidado! A lista passada foi lista_cods_filiais=['2', '*']. Estamos ignorando o código avulso e buscando por todas filiais.\",\n    \"erro\": null,\n    \"ultimaPag\": 8,\n    \"resultados\": [\n        [\n            \"filial_cod\",\n            \"data\",\n            \"iqe\"\n        ],\n        [\n            \"0002\",\n            \"2023-04-01\",\n            \"0.83\"\n        ],\n        [\n            \"0025\",\n            \"2023-04-01\",\n            \"0.84\"\n        ],\n        [\n            \"0039\",\n            \"2023-04-01\",\n            \"0.89\"\n        ],\n        [\n            \"0070\",\n            \"2023-04-01\",\n            \"0.81\"\n        ],\n        [\n            \"0389\",\n            \"2023-04-01\",\n            \"0.91\"\n        ],\n        [\n            \"0810\",\n            \"2023-04-01\",\n            \"0.88\"\n        ],\n        [\n            \"0063\",\n            \"2023-04-01\",\n            \"0.81\"\n        ],\n        [\n            \"0072\",\n            \"2023-04-01\",\n            \"0.97\"\n        ],\n        [\n            \"0100\",\n            \"2023-04-01\",\n            \"0.92\"\n        ],\n        [\n            \"0119\",\n            \"2023-04-01\",\n            \"0.91\"\n        ],\n        [\n            \"0122\",\n            \"2023-04-01\",\n            \"0.79\"\n        ],\n        [\n            \"0139\",\n            \"2023-04-01\",\n            \"0.86\"\n        ],\n        [\n            \"0149\",\n            \"2023-04-01\",\n            \"0.96\"\n        ],\n        [\n            \"0155\",\n            \"2023-04-01\",\n            \"0.87\"\n        ],\n        [\n            \"0162\",\n            \"2023-04-01\",\n            \"0.89\"\n        ],\n        [\n            \"0185\",\n            \"2023-04-01\",\n            \"0.84\"\n        ],\n        [\n            \"0186\",\n            \"2023-04-01\",\n            \"0.82\"\n        ],\n        [\n            \"0202\",\n            \"2023-04-01\",\n            \"0.83\"\n        ],\n        [\n            \"0210\",\n            \"2023-04-01\",\n            \"1.0\"\n        ],\n        [\n            \"0345\",\n            \"2023-04-01\",\n            \"0.89\"\n        ],\n        [\n            \"0348\",\n            \"2023-04-01\",\n            \"0.83\"\n        ],\n        [\n            \"0396\",\n            \"2023-04-01\",\n            \"0.83\"\n        ],\n        [\n            \"0492\",\n            \"2023-04-01\",\n            \"0.85\"\n        ],\n        [\n            \"0499\",\n            \"2023-04-01\",\n            \"0.94\"\n        ]\n    ]\n}"},{"id":"564c8132-99df-475e-8424-5dac01044fa3","name":"200-sucesso-completo","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2023-04-01\",\r\n  \"data_fim\": \"2023-06-01\",\r\n  \"lista_cods_filiais\": [\"04\", 2, \"123\", 42]\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://moapi.escalamoavi.com.br/iqes-dia-filial","protocol":"https","host":["moapi","escalamoavi","com","br"],"path":["iqes-dia-filial"],"query":[{"key":"","value":null,"disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200, \n    \"mensagem\": \"Dados obtidos com sucesso.\",\n    \"erro\": null,\n    \"ultimaPag\": 1,\n    \"resultados\": [\n        [\n            \"filial_cod\",\n            \"data\",\n            \"iqe\"\n        ],\n        [\n            \"0002\",\n            \"2023-04-01\",\n            \"0.83\"\n        ],\n        [\n            \"0025\",\n            \"2023-04-01\",\n            \"0.84\"\n        ],\n        [\n            \"0039\",\n            \"2023-04-01\",\n            \"0.89\"\n        ],\n        [\n            \"0070\",\n            \"2023-04-01\",\n            \"0.81\"\n        ],\n        [\n            \"0389\",\n            \"2023-04-01\",\n            \"0.91\"\n        ],\n        [\n            \"0810\",\n            \"2023-04-01\",\n            \"0.88\"\n        ],\n        [\n            \"0063\",\n            \"2023-04-01\",\n            \"0.81\"\n        ],\n        [\n            \"0072\",\n            \"2023-04-01\",\n            \"0.97\"\n        ],\n        [\n            \"0100\",\n            \"2023-04-01\",\n            \"0.92\"\n        ],\n        [\n            \"0119\",\n            \"2023-04-01\",\n            \"0.91\"\n        ],\n        [\n            \"0122\",\n            \"2023-04-01\",\n            \"0.79\"\n        ],\n        [\n            \"0139\",\n            \"2023-04-01\",\n            \"0.86\"\n        ],\n        [\n            \"0149\",\n            \"2023-04-01\",\n            \"0.96\"\n        ],\n        [\n            \"0155\",\n            \"2023-04-01\",\n            \"0.87\"\n        ],\n        [\n            \"0162\",\n            \"2023-04-01\",\n            \"0.89\"\n        ],\n        [\n            \"0185\",\n            \"2023-04-01\",\n            \"0.84\"\n        ],\n        [\n            \"0186\",\n            \"2023-04-01\",\n            \"0.82\"\n        ],\n        [\n            \"0202\",\n            \"2023-04-01\",\n            \"0.83\"\n        ],\n        [\n            \"0210\",\n            \"2023-04-01\",\n            \"1.0\"\n        ],\n        [\n            \"0345\",\n            \"2023-04-01\",\n            \"0.89\"\n        ],\n        [\n            \"0348\",\n            \"2023-04-01\",\n            \"0.83\"\n        ],\n        [\n            \"0396\",\n            \"2023-04-01\",\n            \"0.83\"\n        ],\n        [\n            \"0492\",\n            \"2023-04-01\",\n            \"0.85\"\n        ],\n        [\n            \"0499\",\n            \"2023-04-01\",\n            \"0.94\"\n        ]\n    ]\n}"},{"id":"c08e59a3-1b95-4b47-bee3-75cfcd019aa1","name":"400-data-invalida","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"203-04-01\",\r\n  \"data_fim\": \"2023-06-01\",\r\n  \"lista_cods_filiais\": [\"1\", \"*\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/iqes-dia-filial"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Invalid request body\",\n    \"erro\": \"[ECMA 262 regex \\\"^20(1[789]|2[0-9]|[3-9][0-9])|(2100)-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$\\\" does not match input string \\\"203-04-01\\\"]\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"},{"id":"505cd365-de8f-45dc-bed7-1522225e1106","name":"400-erro-excesso-de-dias","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2023-04-01\",\r\n  \"data_fim\": \"2023-07-01\",\r\n  \"lista_cods_filiais\": [\"1\", \"*\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/iqes-dia-filial"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Requisicao mal-formada.\",\n    \"erro\": \"O periodo inserido contempla 92 dias, excedendo assim o limite deste endpoint (62 dias)!\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"},{"id":"a3a43dea-3bf0-4da3-b255-1fac3d57d0ef","name":"400-lista_cods_filiais-invalida","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2023-04-01\",\r\n  \"data_fim\": \"2023-07-01\",\r\n  \"lista_cods_filiais\": null\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/iqes-dia-filial"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Invalid request body\",\n    \"erro\": \"[instance type (null) does not match any allowed primitive type (allowed: [\\\"array\\\"])]\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"}],"_postman_id":"5fbbf295-e089-4016-8a81-ea2140a2bcef"},{"name":"iqes-mes-cluster","event":[{"listen":"test","script":{"exec":[""],"type":"text/javascript","packages":{}}}],"id":"2b4a247a-29e9-4d7b-9a5e-6f6aeffc4feb","request":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"01\",\r\n  \"ano_ini\": 2024,\r\n  \"mes_fim\": 12,\r\n  \"ano_fim\": \"2024\",\r\n  \"lista_nomes_clusters\": [\"cluster1\", \"123\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/iqes-mes-cluster","description":"<h1 id=\"iqes-por-mês-e-cluster\">IQEs por mês e cluster</h1>\n<p>Este endpoint é usado para recuperar dados de IQE com base em parâmetros específicos relacionados a meses e anos para um determinado cluster.</p>\n<p><strong>Corpo da Requisição</strong></p>\n<ul>\n<li><p><strong>mes_ini</strong> (string ou integer): O mês inicial deve ser uma string no formato \"MM\" ou um número inteiro entre 1-12.</p>\n</li>\n<li><p><strong>ano_ini</strong> (string ou integer): O ano inicial deve ser uma string no formato \"AAAA\" ou um número inteiro entre 2017 e 2100.</p>\n</li>\n<li><p><strong>mes_fim</strong> (string ou integer): O mês final deve ser uma string no formato \"MM\" ou um número inteiro entre 1-12 após o mês inicial.</p>\n</li>\n<li><p><strong>ano_fim</strong> (string ou integer): O ano final deve ser uma string no formato \"AAAA\" ou um número inteiro entre 2017 e 2100.</p>\n<ul>\n<li><strong>OBSERVAÇÃO:</strong> O número total de dias correspondentes não pode exceder 24 meses cheios - 31*24 dias.</li>\n</ul>\n</li>\n<li><p><strong>lista_nomes_clusters:</strong> array de strings, ou informe <em><strong>\"lista_nomes_clusters\": [\"*\"]</strong></em> para solicitar dados de todos clusters.</p>\n</li>\n<li><p><strong>OPCIONAL pag</strong> (integer): O número da página dos resultados. Só tem utilidade se consultas paginadas forem necessárias.</p>\n</li>\n</ul>\n<p><strong>Resposta</strong></p>\n<ul>\n<li><p><strong>statusCode</strong> (integer): O código de status da resposta.</p>\n</li>\n<li><p><strong>mensagem</strong> (string): Qualquer mensagem relevante.</p>\n</li>\n<li><p><strong>erro</strong> (null): Informações de erro, se houver.</p>\n</li>\n<li><p><strong>ultimaPag</strong> (integer): O número da última página com dados referentes à consulta em questão. Se consultas subsequentes forem necessárias para buscar todos os dados, ultimaPag&gt;1.</p>\n</li>\n<li><p><strong>resultados</strong> (array de arrays): Os dados resultantes.</p>\n<ul>\n<li><p>A primeira lista aninhada é sempre [\"nome_cluster\", \"ano\", \"mes\", \"iqe\"].</p>\n</li>\n<li><p>As demais conterão <em><strong>strings</strong></em> com valores respectivos, ex: [\"cluster7\", \"2023\", \"10\", \"0.2112\"] significaria que no mês de outubro de 2023, o cluster \"cluster7\" performou com um valor médio de 21,12% em seu IQE.</p>\n</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["iqes-mes-cluster"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[{"id":"0d77aff0-c5d5-4fec-ac71-cdfe126c4bd1","name":"200-sucesso-completo","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"01\",\r\n  \"ano_ini\": 2022,\r\n  \"mes_fim\": 12,\r\n  \"ano_fim\": \"2023\",\r\n  \"lista_nomes_clusters\": [\"cluster1\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/iqes-mes-cluster"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"mensagem\": \"Dados obtidos com sucesso.\",\n    \"erro\": null,\n    \"ultimaPag\": 1,\n    \"resultados\": [\n        [\n            \"nome_cluster\",\n            \"ano\",\n            \"mes\",\n            \"iqe\"\n        ],\n        [\n            \"cluster1\",\n            \"2022\",\n            \"7\",\n            \"0.900968\"\n        ],\n        [\n            \"cluster1\",\n            \"2022\",\n            \"8\",\n            \"0.876452\"\n        ],\n        [\n            \"cluster1\",\n            \"2022\",\n            \"9\",\n            \"0.878333\"\n        ],\n        [\n            \"cluster1\",\n            \"2022\",\n            \"10\",\n            \"0.883226\"\n        ],\n        [\n            \"cluster1\",\n            \"2022\",\n            \"11\",\n            \"0.934333\"\n        ],\n        [\n            \"cluster1\",\n            \"2022\",\n            \"12\",\n            \"0.985161\"\n        ],\n        [\n            \"cluster1\",\n            \"2023\",\n            \"1\",\n            \"0.964516\"\n        ],\n        [\n            \"cluster1\",\n            \"2023\",\n            \"2\",\n            \"0.966429\"\n        ],\n        [\n            \"cluster1\",\n            \"2023\",\n            \"3\",\n            \"0.949355\"\n        ],\n        [\n            \"cluster1\",\n            \"2023\",\n            \"4\",\n            \"0.945\"\n        ],\n        [\n            \"cluster1\",\n            \"2023\",\n            \"5\",\n            \"0.897034\"\n        ],\n        [\n            \"cluster1\",\n            \"2023\",\n            \"6\",\n            \"0.877222\"\n        ],\n        [\n            \"cluster1\",\n            \"2023\",\n            \"7\",\n            \"0.864221\"\n        ],\n        [\n            \"cluster1\",\n            \"2023\",\n            \"8\",\n            \"0.875951\"\n        ],\n        [\n            \"cluster1\",\n            \"2023\",\n            \"9\",\n            \"0.874111\"\n        ],\n        [\n            \"cluster1\",\n            \"2023\",\n            \"10\",\n            \"0.857278\"\n        ],\n        [\n            \"cluster1\",\n            \"2023\",\n            \"11\",\n            \"0.876625\"\n        ],\n        [\n            \"cluster1\",\n            \"2023\",\n            \"12\",\n            \"0.863185\"\n        ]\n    ]\n}"},{"id":"64c776db-6595-4e08-b8bf-be1684162a4a","name":"200-sucesso-com-aviso","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"01\",\r\n  \"ano_ini\": 2022,\r\n  \"mes_fim\": 12,\r\n  \"ano_fim\": \"2023\",\r\n  \"lista_nomes_clusters\": [\"Luana Campagnolo\", \"*\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/iqes-mes-cluster"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"mensagem\": \"Cuidado! A lista passada foi lista_nomes_clusters=['cluster1', '*']. Estamos ignorando a entrada avulsa e buscando por todas entradas.\",\n    \"erro\": null,\n    \"ultimaPag\": 1,\n    \"resultados\": [\n        [\n            \"nome_cluster\",\n            \"ano\",\n            \"mes\",\n            \"iqe\"\n        ],\n        [\n            \"cluster1\",\n            \"2022\",\n            \"7\",\n            \"0.900968\"\n        ],\n        [\n            \"cluster1\",\n            \"2022\",\n            \"8\",\n            \"0.876452\"\n        ],\n        [\n            \"cluster1\",\n            \"2022\",\n            \"9\",\n            \"0.878333\"\n        ],\n        [\n            \"cluster1\",\n            \"2022\",\n            \"10\",\n            \"0.883226\"\n        ],\n        [\n            \"cluster1\",\n            \"2022\",\n            \"11\",\n            \"0.934333\"\n        ],\n        [\n            \"cluster1\",\n            \"2022\",\n            \"12\",\n            \"0.985161\"\n        ],\n        [\n            \"cluster1\",\n            \"2023\",\n            \"1\",\n            \"0.964516\"\n        ],\n        [\n            \"cluster1\",\n            \"2023\",\n            \"2\",\n            \"0.966429\"\n        ],\n        [\n            \"cluster1\",\n            \"2023\",\n            \"3\",\n            \"0.949355\"\n        ],\n        [\n            \"cluster1\",\n            \"2023\",\n            \"4\",\n            \"0.945\"\n        ],\n        [\n            \"cluster1\",\n            \"2023\",\n            \"5\",\n            \"0.897034\"\n        ],\n        [\n            \"cluster1\",\n            \"2023\",\n            \"6\",\n            \"0.877222\"\n        ],\n        [\n            \"cluster1\",\n            \"2023\",\n            \"7\",\n            \"0.864221\"\n        ],\n        [\n            \"cluster1\",\n            \"2023\",\n            \"8\",\n            \"0.875951\"\n        ],\n        [\n            \"cluster1\",\n            \"2023\",\n            \"9\",\n            \"0.874111\"\n        ],\n        [\n            \"cluster1\",\n            \"2023\",\n            \"10\",\n            \"0.857278\"\n        ],\n        [\n            \"cluster1\",\n            \"2023\",\n            \"11\",\n            \"0.876625\"\n        ],\n        [\n            \"cluster1\",\n            \"2023\",\n            \"12\",\n            \"0.863185\"\n        ]\n    ]\n}"},{"id":"89982fe7-b41c-4f3f-b19c-77221408c095","name":"200-sucesso-parcial","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"01\",\r\n  \"ano_ini\": 2022,\r\n  \"mes_fim\": 12,\r\n  \"ano_fim\": \"2023\",\r\n  \"lista_nomes_clusters\": [\"cluster1\", \"123\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/iqes-mes-cluster"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"mensagem\": \"Dados obtidos com sucesso.\",\n    \"erro\": null,\n    \"ultimaPag\": 1,\n    \"resultados\": [\n        [\n            \"nome_cluster\",\n            \"ano\",\n            \"mes\",\n            \"iqe\"\n        ],\n        [\n            \"cluster1\",\n            \"2022\",\n            \"7\",\n            \"0.900968\"\n        ],\n        [\n            \"cluster1\",\n            \"2022\",\n            \"8\",\n            \"0.876452\"\n        ],\n        [\n            \"cluster1\",\n            \"2022\",\n            \"9\",\n            \"0.878333\"\n        ],\n        [\n            \"cluster1\",\n            \"2022\",\n            \"10\",\n            \"0.883226\"\n        ],\n        [\n            \"cluster1\",\n            \"2022\",\n            \"11\",\n            \"0.934333\"\n        ],\n        [\n            \"cluster1\",\n            \"2022\",\n            \"12\",\n            \"0.985161\"\n        ],\n       [\n            \"cluster1\",\n            \"2023\",\n            \"12\",\n            \"0.863185\"\n        ]\n    ]\n}"},{"id":"b48e7aa2-093a-4cbe-9e84-3c6864518488","name":"400-ano-deve-ser-2017-ou-posterior","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"01\",\r\n  \"ano_ini\": 202,\r\n  \"mes_fim\": 12,\r\n  \"ano_fim\": \"2023\",\r\n  \"lista_nomes_clusters\": [\"Luana Campagnolo\", \"123\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/iqes-mes-cluster"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Invalid request body\",\n    \"erro\": \"[instance failed to match at least one required schema among 2]\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"},{"id":"c8239ff7-5953-4a8f-a24e-812a55ff9310","name":"400-excesso-de-dias","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"01\",\r\n  \"ano_ini\": 2021,\r\n  \"mes_fim\": 12,\r\n  \"ano_fim\": \"2024\",\r\n  \"lista_nomes_clusters\": [\"cluster1\", \"cluster2\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/iqes-mes-cluster"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Requisicao mal-formada.\",\n    \"erro\": \"O periodo inserido contempla 1461 dias, excedendo assim o limite deste endpoint (744 dias)!\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"},{"id":"d54e1dd2-0ffa-40d0-a429-9c1a442a0307","name":"400-se-mes-string-deve-ter-formato-MM","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"eyJraWQiOiJGVkpuRzMwXC85cG9KV2twZ3E3QlJNcHEzZW5OTWxpWUpwN2NcL3ZcL3hNUUhZPSIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiI5NDU4ZDQ0OC05MDAxLTcwMTYtNGYwZS0yMWI5MjNkMmY1MDIiLCJjb2duaXRvOmdyb3VwcyI6WyJtb2FwaS1pbmRpY2F0b3JzIl0sImlzcyI6Imh0dHBzOlwvXC9jb2duaXRvLWlkcC51cy1lYXN0LTEuYW1hem9uYXdzLmNvbVwvdXMtZWFzdC0xX1B6NkxqRno3VCIsImNvZ25pdG86dXNlcm5hbWUiOiJvbmVhYm92ZWFsbCIsIm9yaWdpbl9qdGkiOiI4NDQyOWVhOS1iZTMxLTQ1OTMtYTBjOC03YjA1YTk2MzNjNWQiLCJjb2duaXRvOnJvbGVzIjpbImFybjphd3M6aWFtOjozOTA1ODY5NjcxNDM6cm9sZVwvbW9hcGlJbmRpY2F0b3JzUm91dGVHYXRld2F5QWNjZXNzIl0sImF1ZCI6Ijd1aWJrdWlrODlxOTc3bzYxNWsycDk3cnBuIiwiZXZlbnRfaWQiOiJlZWY5ZGUxNi05ZjRjLTQ3MGEtYjcxZC01NzA3NDg3MmIxZDMiLCJ0b2tlbl91c2UiOiJpZCIsImF1dGhfdGltZSI6MTcxODMyODEwMiwibmlja25hbWUiOiJvbmVhYm92ZWFsbCIsImV4cCI6MTcxODMzNjY4NCwiaWF0IjoxNzE4MzMzMDg0LCJqdGkiOiI1ZDRhOWJmOC1iMTc1LTQwMjgtODUxZi1lOTdkODBkNWU1MjciLCJlbWFpbCI6InJhZmFlbC5jb3N0YUBtb2F2aS5jb20uYnIifQ.h1zeQ5fpA4_rVs_jv2_aEn41FJ46GNzYEDV8pFhaqVzie6Whe1G4aT57rBJ79wo5vqRKIotVnI5uHJpysfi6imgZUQ6e-z0KeIlvKEooMfk8_PdzQVcUvQA1Ipl_vBlaR2LvNHBmrxeF2Lbfc4_IpthoziadiuW0EY9Me91qf_CSlxx0LDZ4qBkJVa9wzYX5_PS-CwRlgIWvO-kQjqWLvX7bT3izNxW-ZDXlG_8UyPWDukDqsX1H_dqRVrvcLUY9Yv2dAsYTBQJmbYL22FycZlZvkUaEDZgg0N72kV_fwKRvzqhLraozrRhaQk0QNNbwtm8zOPzPMnXf_YlEFNrX2Q"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"1\",\r\n  \"ano_ini\": 2021,\r\n  \"mes_fim\": 12,\r\n  \"ano_fim\": \"2024\",\r\n  \"lista_nomes_clusters\": [\"Luana Campagnolo\", \"123\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/iqes-mes-cluster"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"170"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Fri, 14 Jun 2024 03:36:26 GMT"},{"key":"x-amzn-RequestId","value":"c18907bc-9772-4236-a0ea-9f2c0877ee3b"},{"key":"x-amzn-ErrorType","value":"BadRequestException"},{"key":"x-amz-apigw-id","value":"ZVodLEAYoAMETLg="},{"key":"X-Amzn-Trace-Id","value":"Root=1-666bbaba-5524c4af15db8e72396c36dc"},{"key":"X-Cache","value":"Error from cloudfront"},{"key":"Via","value":"1.1 24d78a59d537e88caa95647eaadfe050.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"GRU1-P4"},{"key":"X-Amz-Cf-Id","value":"sWO_C0McrSOrLOpl0G4DjTpApgn-CMQ4fq9mXb3KuSDvpGDLAinaiw=="}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Invalid request body\",\n    \"erro\": \"[instance failed to match at least one required schema among 2]\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"},{"id":"76a43656-973d-447b-a102-997bc45c0b1b","name":"400-data-inicial-nao-pode-ser-posterior-a-final","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"01\",\r\n  \"ano_ini\": 2024,\r\n  \"mes_fim\": 11,\r\n  \"ano_fim\": \"2023\",\r\n  \"lista_nomes_clusters\": [\"cluster1\", \"123\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/iqes-mes-cluster"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Requisicao mal-formada.\",\n    \"erro\": \"A data de inicio deve ser anterior ou igual a data final para consulta!\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"}],"_postman_id":"2b4a247a-29e9-4d7b-9a5e-6f6aeffc4feb"},{"name":"iqes-mes-filial","id":"a6fed34d-5cea-47b0-a3da-2a3b14c73c53","request":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"MM\" ou inteiro entre 1-12,\r\n  \"ano_ini\": \"AAAA\" ou integer (AAAA), entre 2017 e 2100,\r\n  \"mes_fim\": \"MM\" ou inteiro entre 1-12 posterior a \"mes_ini\",\r\n  \"ano_fim\": \"AAAA\" ou integer (AAAA), entre 2017 e 2100,\r\n  \"lista_cods_filiais\": lista com strings, numeros ou \\\"*\\\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/iqes-mes-filial","description":"<p>Este endpoint é usado para recuperar dados de IQE com base em parâmetros específicos relacionados a meses e anos para uma determinada filial.</p>\n<p><strong>Corpo da Requisição</strong></p>\n<ul>\n<li><p><strong>mes_ini</strong> (string ou integer): O mês inicial deve ser uma string no formato \"MM\" ou um número inteiro entre 1-12.</p>\n</li>\n<li><p><strong>ano_ini</strong> (string ou integer): O ano inicial deve ser uma string no formato \"AAAA\" ou um número inteiro entre 2017 e 2100.</p>\n</li>\n<li><p><strong>mes_fim</strong> (string ou integer): O mês final deve ser uma string no formato \"MM\" ou um número inteiro entre 1-12 após o mês inicial.</p>\n</li>\n<li><p><strong>ano_fim</strong> (string ou integer): O ano final deve ser uma string no formato \"AAAA\" ou um número inteiro entre 2017 e 2100.</p>\n<ul>\n<li><strong>OBSERVAÇÃO:</strong> O número total de dias correspondentes não pode exceder 12 meses cheios - 31*12 dias.</li>\n</ul>\n</li>\n<li><p><strong>lista_cods_filiais:</strong> array de strings, inteiros, ou \"*<em>\"</em> para solicitar dados de todas filiais.</p>\n</li>\n<li><p><strong>OPCIONAL pag</strong> (integer): O número da página dos resultados. Só tem utilidade se consultas paginadas forem necessárias.</p>\n</li>\n</ul>\n<p><strong>Resposta</strong></p>\n<ul>\n<li><p><strong>statusCode</strong> (integer): O código de status da resposta.</p>\n</li>\n<li><p><strong>mensagem</strong> (string): Qualquer mensagem relevante.</p>\n</li>\n<li><p><strong>erro</strong> (null): Informações de erro, se houver.</p>\n</li>\n<li><p><strong>ultimaPag</strong> (integer): O número da última página com dados referentes à consulta em questão. Se consultas subsequentes forem necessárias para buscar todos os dados, ultimaPag&gt;1.</p>\n</li>\n<li><p><strong>resultados</strong> (array de arrays): Os dados resultantes.</p>\n<ul>\n<li><p>A primeira lista aninhada é sempre [\"filial_cod\", \"ano\", \"mes\", \"iqe\"].</p>\n</li>\n<li><p>As demais conterão <em><strong>strings</strong></em> com valores respectivos, ex: [\"1916\", \"2024\", \"6\", \"0.6942\"] significaria que no mês de junho de 2024, a filial \"1916\" performou com um valor médio de 69,42% em seu IQE.</p>\n</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["iqes-mes-filial"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[{"id":"98ef601b-156f-44b5-a51d-ef68fe89f56c","name":"200-sucesso-com-aviso","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"01\",\r\n  \"ano_ini\": \"2023\",\r\n  \"mes_fim\": \"06\",\r\n  \"ano_fim\": 2023,\r\n  \"lista_cods_filiais\": [12, \"*\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/iqes-mes-filial"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"mensagem\": \"Cuidado! A lista passada foi lista_cods_filiais=[12, '*']. Estamos ignorando o código avulso e buscando por todas filiais.\",\n    \"erro\": null,\n    \"ultimaPag\": 1,\n    \"resultados\": [\n        [\n            \"filial_cod\",\n            \"ano\",\n            \"mes\",\n            \"iqe\"\n        ],\n        [\n            \"0002\",\n            \"2023\",\n            \"1\",\n            \"0.885806\"\n        ],\n        [\n            \"0002\",\n            \"2023\",\n            \"2\",\n            \"0.8775\"\n        ],\n        [\n            \"0002\",\n            \"2023\",\n            \"3\",\n            \"0.892903\"\n        ],\n        [\n            \"0002\",\n            \"2023\",\n            \"4\",\n            \"0.881\"\n        ]\n    ]\n}"},{"id":"dcbbfbe7-dbf7-479f-ace7-0f36475989ca","name":"200-sucesso-completo","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": 3,\r\n  \"ano_ini\": \"2023\",\r\n  \"mes_fim\": \"06\",\r\n  \"ano_fim\": 2023,\r\n  \"lista_cods_filiais\": [1, 3, 5, \"7\", \"08\", \"009\", \"0010\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/iqes-mes-filial"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"mensagem\": \"Dados obtidos com sucesso.\",\n    \"erro\": null,\n    \"ultimaPag\": 1,\n    \"resultados\": [\n        [\n            \"filial_cod\",\n            \"ano\",\n            \"mes\",\n            \"iqe\"\n        ],\n        [\n            \"0002\",\n            \"2023\",\n            \"1\",\n            \"0.885806\"\n        ],\n        [\n            \"0002\",\n            \"2023\",\n            \"2\",\n            \"0.8775\"\n        ],\n        [\n            \"0002\",\n            \"2023\",\n            \"3\",\n            \"0.892903\"\n        ],\n        [\n            \"0002\",\n            \"2023\",\n            \"4\",\n            \"0.881\"\n        ]\n    ]\n}"},{"id":"d0052566-5e16-450c-b398-2677563705a9","name":"200-sucesso-parcial","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": 3,\r\n  \"ano_ini\": \"2023\",\r\n  \"mes_fim\": \"06\",\r\n  \"ano_fim\": 2023,\r\n  \"lista_cods_filiais\": [1, 3, \"00005\", \"7\", \"08\", \"009\", \"0010\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/iqes-mes-filial"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"mensagem\": \"Dados obtidos com sucesso.\",\n    \"erro\": null,\n    \"ultimaPag\": 1,\n    \"resultados\": [\n        [\n            \"filial_cod\",\n            \"ano\",\n            \"mes\",\n            \"iqe\"\n        ],\n        [\n            \"0003\",\n            \"2023\",\n            \"3\",\n            \"0.914516\"\n        ],\n        [\n            \"0003\",\n            \"2023\",\n            \"4\",\n            \"0.862333\"\n        ],\n        [\n            \"0003\",\n            \"2023\",\n            \"5\",\n            \"0.868065\"\n        ],\n        [\n            \"0003\",\n            \"2023\",\n            \"6\",\n            \"0.852\"\n        ]\n    ]\n}"},{"id":"8e58794f-0a5e-4353-a61b-a293900c3667","name":"400-ano-deve-ser-2017-ou-posterior","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": 3,\r\n  \"ano_ini\": \"2016\",\r\n  \"mes_fim\": \"06\",\r\n  \"ano_fim\": 2023,\r\n  \"lista_cods_filiais\": [1, 3, \"00005\", \"7\", \"08\", \"009\", \"0010\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/iqes-mes-filial"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Invalid request body\",\n    \"erro\": \"[instance failed to match at least one required schema among 2]\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"},{"id":"f01c39fa-170c-44fd-ab03-5ed875fe091f","name":"400-erro-excesso-de-dias","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": 11,\r\n  \"ano_ini\": \"2022\",\r\n  \"mes_fim\": \"12\",\r\n  \"ano_fim\": 2023,\r\n  \"lista_cods_filiais\": [1, 3, \"00005\", \"7\", \"08\", \"009\", \"0010\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/iqes-mes-filial"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Requisicao mal-formada.\",\n    \"erro\": \"O periodo inserido contempla 426 dias, excedendo assim o limite deste endpoint (372 dias)!\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"},{"id":"6084f817-2b05-44df-903e-456ecfeaf2c0","name":"400-se-mes-string-deve-ter-dois-digitos","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"mes_ini\": \"01\",\r\n  \"ano_ini\": 2023,\r\n  \"mes_fim\": \"6\",\r\n  \"ano_fim\": 2023,\r\n  \"lista_cods_filiais\": [12, \"*\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/iqes-mes-filial"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Invalid request body\",\n    \"erro\": \"[instance failed to match at least one required schema among 2]\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"}],"_postman_id":"a6fed34d-5cea-47b0-a3da-2a3b14c73c53"},{"name":"plan-banco-mais-dia-colaborador","event":[{"listen":"test","script":{"exec":[""],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"exec":[""],"type":"text/javascript","packages":{}}}],"id":"9c808ca5-50c8-4aba-8705-8103825ab11d","request":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2024-01-01\",\r\n  \"data_fim\": \"2024-01-07\",\r\n  \"lista_matriculas_colaboradores\": [\"matricula123\", \"matriculaXYZ\"]\r\n}"},"url":"https://moapi.escalamoavi.com.br/plan-banco-mais-dia-colaborador","description":"<h1 id=\"post-plan-banco-mais-dia-colaborador\"><strong>POST</strong> <code>/plan-banco-mais-dia-colaborador</code></h1>\n<p>Fornece <strong>horas a mais</strong> planejadas por <strong>dia</strong> e colaborador.</p>\n<hr />\n<h2 id=\"objetivo\"><strong>Objetivo</strong></h2>\n<p>Retornar as horas a mais planejadas, agregadas por dia e discriminadas por colaborador.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong><br /><strong>- assim como nos outros endpoints \"/plan-banco*\" os valores de saldo estão em minutos!</strong><br /><strong>- existe um limite de 10 dias corridos para obtenção dos lotes de dados.</strong> </p>\n</blockquote>\n<p><strong>URL</strong>: <code>https://moapi.escalamoavi.com.br/plan-banco-mais-dia-colaborador</code></p>\n<p><strong>Método</strong>: <code>POST</code></p>\n<p><strong>Cabeçalho</strong>: É <strong>obrigatório</strong> usar <code>moapi-token</code> com token válido.</p>\n<hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>data_ini</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data inicial no formato <code>AAAA-MM-DD</code> (ano de 2017 a 2100).</td>\n</tr>\n<tr>\n<td><code>data_fim</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data final no formato <code>AAAA-MM-DD</code> (ano de 2017 a 2100).</td>\n</tr>\n<tr>\n<td><code>lista_matriculas_colaboradores</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Matrículas cujas horas a mais são desejadas. Para <strong>todas</strong>, usar [\"*\"].  <br />Não pode estar vazia nem conter duplicados.</td>\n</tr>\n<tr>\n<td><code>pag</code></td>\n<td><code>number</code></td>\n<td>Não</td>\n<td>Página dos resultados. Se omitido, assume <code>1</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo\"><strong>Exemplo</strong>:</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"pag\": 1,\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-01-07\",\n  \"lista_matriculas_colaboradores\": [\"matricula123\", \"matriculaXYZ\"]\n}\n\n</code></pre>\n<hr />\n<h2 id=\"resposta\"><strong>Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código de status HTTP (ex: 200, 400, 401, 500).</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto breve sobre sucesso ou falha.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td><code>string</code> ou <code>null</code></td>\n<td>Em caso de erro, traz a descrição. Se não houver erro, retorna <code>null</code> ou vazio.</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td><code>number</code> ou <code>null</code></td>\n<td>Página do último lote de resultados, se houver paginação. Caso haja erro, tende a <code>null</code>.</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td><code>array</code> ou <code>null</code></td>\n<td>Em sucesso, retorna lista de listas: <code>[\"matricula\", \"data\", \"horas_mais\"]</code> + linhas de dados.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-sucesso-200\"><strong>Exemplo de Sucesso</strong> <strong><code>200</code></strong>:</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"matricula\", \"data\", \"horas_mais\"],\n    [\"matricula123\", \"2024-01-01\", \"360\"],\n    [\"matricula123\", \"2024-01-02\", \"420\"],\n    [\"matriculaXYZ\", \"2024-01-01\", \"300\"],\n    [\"matriculaXYZ\", \"2024-01-02\", \"480\"]\n  ]\n}\n\n</code></pre>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400---excesso-de-dias\"><code>400 - Excesso de Dias</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla X dias, excedendo assim o limite deste endpoint!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n\n</code></pre>\n<h3 id=\"400---erro-de-schema\"><code>400 - Erro de Schema</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[detalhes do erro de validacao]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n\n</code></pre>\n<h3 id=\"401---token-expirado-ou-invalido\"><code>401 - Token Expirado ou Invalido</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"The incoming token has expired\"\n}\n\n</code></pre>\n<h3 id=\"500---erro-interno\"><code>500 - Erro Interno</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"[detalhes do erro interno]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["plan-banco-mais-dia-colaborador"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[{"id":"5046f4ac-978f-4407-a750-087d39c00919","name":"200-sucesso-exemplo","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-01-07\",\n  \"lista_matriculas_colaboradores\": [\"matricula123\", \"matriculaXYZ\"]\n}"},"url":"https://moapi.escalamoavi.com.br/plan-banco-mais-dia-colaborador"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"matricula\", \"data\", \"horas_mais\"],\n    [\"matricula123\", \"2024-01-01\", \"360\"],\n    [\"matricula123\", \"2024-01-02\", \"420\"],\n    [\"matriculaXYZ\", \"2024-01-01\", \"300\"],\n    [\"matriculaXYZ\", \"2024-01-02\", \"480\"]\n  ]\n}"},{"id":"0db6b896-855b-4b2b-81fc-2b0b63aac962","name":"400-excesso-dias","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-02-20\",\n  \"lista_matriculas_colaboradores\": [\"*\"]\n}"},"url":"https://moapi.escalamoavi.com.br/plan-banco-mais-dia-colaborador"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla 50 dias, excedendo assim o limite deste endpoint (30 dias)!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}"},{"id":"946383a0-6c1d-45e1-a13b-05080ca66ff8","name":"400-schema-invalido","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"data_ini\": \"2024-01-AB\",\n  \"data_fim\": \"2024-01-07\",\n  \"lista_matriculas_colaboradores\": []\n}"},"url":"https://moapi.escalamoavi.com.br/plan-banco-mais-dia-colaborador"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[instance failed to match at least one required schema among 2]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}"},{"id":"76ddbf53-0788-46f8-a136-8a0e0579a010","name":"401-token-expirou","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":""}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-01-07\",\n  \"lista_matriculas_colaboradores\": [\"matricula1\"]\n}"},"url":"https://moapi.escalamoavi.com.br/plan-banco-mais-dia-colaborador"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"message\": \"The incoming token has expired\"\n}"},{"id":"b27a6c2c-0ad4-4d29-9c52-74faff3b60bd","name":"500-erro-interno","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-01-07\",\n  \"lista_matriculas_colaboradores\": [\"matricula1\"]\n}"},"url":"https://moapi.escalamoavi.com.br/plan-banco-mais-dia-colaborador"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"[mensagem interna de erro]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}"}],"_postman_id":"9c808ca5-50c8-4aba-8705-8103825ab11d"},{"name":"plan-banco-mais-dia-filial","id":"1f743b19-4217-47a2-9b83-c6f061a1705f","request":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-01-07\",\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-mais-dia-filial","description":"<h1 id=\"horas-a-mais-planejadas-por-dia-e-filial\">Horas a Mais Planejadas por Dia e Filial</h1>\n<p>Este endpoint retorna as horas \"a mais\" planejadas por dia e filial, baseadas no banco de horas.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong><br /><strong>- assim como nos outros endpoints \"/plan-banco*\" os valores de saldo estão em minutos!</strong><br /><strong>- existe um limite de 10 dias corridos para obtenção dos lotes de dados.</strong> </p>\n</blockquote>\n<p><strong>Método:</strong> <code>POST</code></p>\n<p><strong>Cabeçalho da Requisição:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>moapi-token: &lt;seu-IdToken&gt;\n\n</code></pre><p><strong>Parâmetros da Requisição:</strong></p>\n<ul>\n<li><p><strong><code>pag</code></strong>: (Integer, opcional) Número da página para paginação. Usado para grandes conjuntos de resultados. Valor padrão: 1.</p>\n</li>\n<li><p><strong><code>data_ini</code></strong>: (String, obrigatório) Data inicial no formato \"AAAA-MM-DD\". Anos aceitos de 2017 a 2100.</p>\n</li>\n<li><p><strong><code>data_fim</code></strong>: (String, obrigatório) Data final no formato \"AAAA-MM-DD\". Anos aceitos de 2017 a 2100.</p>\n</li>\n<li><p><strong><code>lista_cods_filiais</code></strong>: (Array de Strings, obrigatório) Lista de códigos de filial. Para todas as filiais, use [\"*\"]</p>\n</li>\n</ul>\n<p><strong>Observações:</strong></p>\n<ul>\n<li><p>Os códigos de filial na <code>lista_cods_filiais</code> devem ser strings.</p>\n</li>\n<li><p>O endpoint utiliza paginação para grandes conjuntos de dados. Use o parâmetro <code>pag</code> para acessar as demais páginas.</p>\n</li>\n<li><p>Assegure-se de que o <code>moapi-token</code> fornecido no cabeçalho seja válido e não esteja expirado.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["plan-banco-mais-dia-filial"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[{"id":"74752418-2378-44aa-bcd9-28f0e7a8cbdf","name":"200-sucesso","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-01-07\",\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-mais-dia-filial"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"filial_cod\", \"data\", \"horas_mais\"],\n    [\"0001\", \"2024-01-01\", \"480\"],\n    [\"0001\", \"2024-01-02\", \"420\"],\n    [\"0002\", \"2024-01-01\", \"510\"],\n    [\"0002\", \"2024-01-02\", \"450\"]\n    // ... mais resultados\n  ]\n}"},{"id":"c3c688f3-e0f4-4089-8eb6-60d8bdf865ef","name":"400-requisicao-malformada","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-01-12\",\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-mais-dia-filial"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisição malformada.\",\n  \"erro\": \"O periodo inserido contempla X dias, excedendo assim o limite deste endpoint (Y dias)!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}"},{"id":"84c32acc-c89c-447f-8dab-617a38099d8a","name":"400-requisicao-malformada-schema","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"data_ini\": \"2024-011-01\",\n  \"data_fim\": \"20224-301-07\",\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-mais-dia-filial"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Invalid request body\",\n    \"erro\": \"[descrição do erro de schema]\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"},{"id":"df1c0f39-a569-489a-888f-5893ee23983f","name":"401-nao-autorizado","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":""}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-01-07\",\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-mais-dia-filial"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"unauthorized\"\n}"},{"id":"812b851b-a2aa-4425-b838-1c468dfe1f31","name":"500-erro-interno","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-01-07\",\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-mais-dia-filial"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisição.\",\n  \"erro\": \"[descrição do erro]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}"}],"_postman_id":"1f743b19-4217-47a2-9b83-c6f061a1705f"},{"name":"plan-banco-menos-dia-colaborador","event":[{"listen":"test","script":{"exec":[""],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"exec":[""],"type":"text/javascript","packages":{}}}],"id":"31485e86-af7c-4c4d-8545-42ef4facc818","request":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2024-01-01\",\r\n  \"data_fim\": \"2024-01-07\",\r\n  \"lista_matriculas_colaboradores\": [\"matricula123\", \"matriculaXYZ\"]\r\n}"},"url":"https://moapi.escalamoavi.com.br/plan-banco-menos-dia-colaborador","description":"<h1 id=\"post-plan-banco-menos-dia-colaborador\"><strong>POST</strong> <code>/plan-banco-menos-dia-colaborador</code></h1>\n<p>Fornece <strong>horas a menos</strong> planejadas por <strong>dia</strong> e colaborador.</p>\n<hr />\n<h2 id=\"objetivo\"><strong>Objetivo</strong></h2>\n<p>Retornar o saldo de horas a menos planejadas, agregadas por dia e discriminadas por colaborador.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong><br /><strong>- assim como nos outros endpoints \"/plan-banco*\" os valores de saldo estão em minutos!</strong><br /><strong>- existe um limite de 10 dias corridos para obtenção dos lotes de dados.</strong> </p>\n</blockquote>\n<p><strong>URL</strong>: <code>https://moapi.escalamoavi.com.br/plan-banco-menos-dia-colaborador</code></p>\n<p><strong>Método</strong>: <code>POST</code></p>\n<p><strong>Cabeçalho</strong>: É <strong>obrigatório</strong> usar <code>moapi-token</code> com token válido.</p>\n<hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>data_ini</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data inicial no formato <code>AAAA-MM-DD</code> (ano de 2017 a 2100).</td>\n</tr>\n<tr>\n<td><code>data_fim</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data final no formato <code>AAAA-MM-DD</code> (ano de 2017 a 2100).</td>\n</tr>\n<tr>\n<td><code>lista_matriculas_colaboradores</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Matrículas cujas horas a menos são desejadas. Para <strong>todas</strong>, usar [\"*\"].  <br />Não pode estar vazia nem conter duplicados.</td>\n</tr>\n<tr>\n<td><code>pag</code></td>\n<td><code>number</code></td>\n<td>Não</td>\n<td>Página dos resultados. Se omitido, assume <code>1</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo\"><strong>Exemplo</strong>:</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"pag\": 1,\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-01-07\",\n  \"lista_matriculas_colaboradores\": [\"matricula123\", \"matriculaXYZ\"]\n}\n\n</code></pre>\n<hr />\n<h2 id=\"resposta\"><strong>Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código de status HTTP (ex: 200, 400, 401, 500).</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto breve sobre sucesso ou falha.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td><code>string</code> ou <code>null</code></td>\n<td>Em caso de erro, traz a descrição. Se não houver erro, retorna <code>null</code> ou vazio.</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td><code>number</code> ou <code>null</code></td>\n<td>Página do último lote de resultados, se houver paginação. Caso haja erro, tende a <code>null</code>.</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td><code>array</code> ou <code>null</code></td>\n<td>Em sucesso, retorna lista de listas: <code>[\"matricula\", \"data\", \"horas_menos\"]</code> + linhas de dados.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-sucesso-200\"><strong>Exemplo de Sucesso</strong> <strong><code>200</code></strong>:</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"matricula\", \"data\", \"horas_menos\"],\n    [\"matricula123\", \"2024-01-01\", \"-60\"],\n    [\"matricula123\", \"2024-01-02\", \"-120\"],\n    [\"matriculaXYZ\", \"2024-01-01\", \"-30\"],\n    [\"matriculaXYZ\", \"2024-01-02\", \"-90\"]\n  ]\n}\n\n</code></pre>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400---excesso-de-dias\"><code>400 - Excesso de Dias</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla X dias, excedendo assim o limite deste endpoint!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n\n</code></pre>\n<h3 id=\"400---erro-de-schema\"><code>400 - Erro de Schema</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[detalhes do erro de validacao]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n\n</code></pre>\n<h3 id=\"401---token-expirado-ou-invalido\"><code>401 - Token Expirado ou Invalido</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"The incoming token has expired\"\n}\n\n</code></pre>\n<h3 id=\"500---erro-interno\"><code>500 - Erro Interno</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"[detalhes do erro interno]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["plan-banco-menos-dia-colaborador"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[{"id":"9ceaad5d-6d17-439b-b7a9-a6242e311b7c","name":"200-sucesso-exemplo","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-01-07\",\n  \"lista_matriculas_colaboradores\": [\"matricula123\", \"matriculaXYZ\"]\n}"},"url":"https://moapi.escalamoavi.com.br/plan-banco-menos-dia-colaborador"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"matricula\", \"data\", \"horas_menos\"],\n    [\"matricula123\", \"2024-01-01\", \"-60\"],\n    [\"matricula123\", \"2024-01-02\", \"-120\"],\n    [\"matriculaXYZ\", \"2024-01-01\", \"-30\"],\n    [\"matriculaXYZ\", \"2024-01-02\", \"-90\"]\n  ]\n}"},{"id":"f4bb655a-fd85-4d5f-a66a-f2011b066e4f","name":"400-excesso-dias","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-02-20\",\n  \"lista_matriculas_colaboradores\": [\"*\"]\n}"},"url":"https://moapi.escalamoavi.com.br/plan-banco-menos-dia-colaborador"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla 50 dias, excedendo assim o limite deste endpoint!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}"},{"id":"dd71b516-ca14-429e-ae9b-b846b8d1e6db","name":"400-schema-invalido","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"data_ini\": \"2024-01-AB\",\n  \"data_fim\": \"2024-01-07\",\n  \"lista_matriculas_colaboradores\": []\n}"},"url":"https://moapi.escalamoavi.com.br/plan-banco-menos-dia-colaborador"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[instance failed to match at least one required schema among 2]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}"},{"id":"56e251e4-fabe-45ba-8b7c-59a72f08a8d4","name":"401-token-expirou","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":""}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-01-07\",\n  \"lista_matriculas_colaboradores\": [\"matricula1\"]\n}"},"url":"https://moapi.escalamoavi.com.br/plan-banco-menos-dia-colaborador"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"message\": \"The incoming token has expired\"\n}"},{"id":"6f1fd5eb-0f6b-4804-a017-0fa8ad0063ba","name":"500-erro-interno","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-01-07\",\n  \"lista_matriculas_colaboradores\": [\"matricula1\"]\n}"},"url":"https://moapi.escalamoavi.com.br/plan-banco-menos-dia-colaborador"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"[detalhes do erro interno]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}"}],"_postman_id":"31485e86-af7c-4c4d-8545-42ef4facc818"},{"name":"plan-banco-menos-dia-filial","id":"0e039b35-a1b9-4d0d-9f2a-1e71ed1979e6","request":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-01-07\",\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-menos-dia-filial","description":"<h1 id=\"horas-a-menos-planejadas-por-dia-e-filial\">Horas a Menos Planejadas por Dia e Filial</h1>\n<p>Este endpoint retorna as horas \"a menos\" planejadas por dia e filial, baseadas no banco de horas.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong><br /><strong>- assim como nos outros endpoints \"/plan-banco*\" os valores de saldo estão em minutos!</strong><br /><strong>- existe um limite de 10 dias corridos para obtenção dos lotes de dados.</strong> </p>\n</blockquote>\n<p><strong>Método:</strong> <code>POST</code></p>\n<p><strong>Cabeçalho da Requisição:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>moapi-token: &lt;seu-IdToken&gt;\n\n</code></pre><p><strong>Parâmetros da Requisição:</strong></p>\n<ul>\n<li><p><strong><code>pag</code></strong>: (Integer, opcional) Número da página para paginação. Usado para grandes conjuntos de resultados. Valor padrão: 1.</p>\n</li>\n<li><p><strong><code>data_ini</code></strong>: (String, obrigatório) Data inicial no formato \"AAAA-MM-DD\". Anos aceitos de 2017 a 2100.</p>\n</li>\n<li><p><strong><code>data_fim</code></strong>: (String, obrigatório) Data final no formato \"AAAA-MM-DD\". Anos aceitos de 2017 a 2100.</p>\n</li>\n<li><p><strong><code>lista_cods_filiais</code></strong>: (Array de Strings, obrigatório) Lista de códigos de filial. Para todas as filiais, use [\"*\"].</p>\n</li>\n</ul>\n<p><strong>Observações:</strong></p>\n<ul>\n<li><p>Os códigos de filial na <code>lista_cods_filiais</code> devem ser strings.</p>\n</li>\n<li><p>O endpoint utiliza paginação para grandes conjuntos de dados. Use o parâmetro <code>pag</code> para acessar as demais páginas.</p>\n</li>\n<li><p>Assegure-se de que o <code>moapi-token</code> fornecido no cabeçalho seja válido e não esteja expirado.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["plan-banco-menos-dia-filial"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[{"id":"40e36c92-bf65-4efd-9231-6331be88d4de","name":"200-sucesso","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-01-07\",\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-menos-dia-filial"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"filial_cod\", \"data\", \"horas_menos\"],\n    [\"0001\", \"2024-01-01\", \"-60\"],\n    [\"0001\", \"2024-01-02\", \"-120\"],\n    [\"0002\", \"2024-01-01\", \"-30\"],\n    [\"0002\", \"2024-01-02\", \"-90\"]\n    // ... mais resultados\n  ]\n}"},{"id":"84315cfc-c47b-4f2f-afd7-cc163bfae33a","name":"400-requisicao-malformada","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"data_ini\": \"2024-13-01\",\n  \"data_fim\": \"2024-01-07\",\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-menos-dia-filial"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisição malformada.\",\n  \"erro\": \"Data inválida.\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}"},{"id":"4fb6cb55-eaa7-44f0-a0d6-b38610bae521","name":"400-requisicao-malformada-schema","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"data_ini\": \"202-01-01\",\n  \"data_fim\": \"2024-01-07\",\n  \"lista_cods_filiais\": [1, 2]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-menos-dia-filial"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"mensagem\": \"Invalid request body\",\n    \"erro\": \"[descrição do erro de schema]\",\n    \"ultimaPag\": null,\n    \"resultados\": null\n}"},{"id":"a5015f7e-9d33-4e6f-a897-0adddaf80e75","name":"401-nao-autorizado","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":""}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-01-07\",\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-menos-dia-filial"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"unauthorized\"\n}"},{"id":"654dcd6f-ec0f-4099-b961-c7420c97331c","name":"500-erro-interno","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-01-07\",\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-menos-dia-filial"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisição.\",\n  \"erro\": \"[descrição do erro]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}"}],"_postman_id":"0e039b35-a1b9-4d0d-9f2a-1e71ed1979e6"},{"name":"plan-banco-mais-mes-colaborador","id":"631c57fe-892c-4951-805b-50de2d348870","request":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2024,\n  \"mes_fim\": 12,\n  \"ano_fim\": \"2024\",\n  \"lista_matriculas_colaboradores\": [\"*\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-mais-mes-colaborador","description":"<h1 id=\"post-plan-banco-mais-mes-colaborador\"><strong>POST</strong> <code>/plan-banco-mais-mes-colaborador</code></h1>\n<p>Fornece as <strong>horas a mais</strong> planejadas, agregadas por <strong>mês</strong> e <strong>colaborador</strong>.</p>\n<hr />\n<h3 id=\"objetivo\"><strong>Objetivo</strong></h3>\n<p>Retornar a soma das horas a mais planejadas para cada colaborador, mês a mês, com base no banco de horas.</p>\n<blockquote>\n<p><strong>IMPORTANTE</strong>: assim como nos outros endpoints /plan-banco*, os valores de saldo aqui também estão em <strong>minutos</strong>. </p>\n</blockquote>\n<p><strong>URL</strong>:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://moapi.escalamoavi.com.br/plan-banco-mais-mes-colaborador\n\n</code></pre><p><strong>Método</strong>:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>POST\n\n</code></pre><p><strong>Cabeçalho</strong>:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>moapi-token: &lt;seu-IdToken&gt;\n\n</code></pre><hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>pag</code></td>\n<td><code>number</code></td>\n<td>Não</td>\n<td>Número da página dos resultados. Se omitido, assume <code>1</code>. Útil apenas se houver paginação.</td>\n</tr>\n<tr>\n<td><code>mes_ini</code></td>\n<td>`string</td>\n<td>int`</td>\n<td>Sim</td>\n</tr>\n<tr>\n<td><code>ano_ini</code></td>\n<td>`string</td>\n<td>int`</td>\n<td>Sim</td>\n</tr>\n<tr>\n<td><code>mes_fim</code></td>\n<td>`string</td>\n<td>int`</td>\n<td>Sim</td>\n</tr>\n<tr>\n<td><code>ano_fim</code></td>\n<td>`string</td>\n<td>int`</td>\n<td>Sim</td>\n</tr>\n<tr>\n<td><code>lista_matriculas_colaboradores</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Matrículas cujas horas a mais são desejadas. Para <strong>todas</strong>, usar [\"*\"].  <br />Não pode estar vazia nem conter duplicados.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-requisição\"><strong>Exemplo</strong> de Requisição</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"pag\": 1,\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2024,\n  \"mes_fim\": 12,\n  \"ano_fim\": \"2024\",\n  \"lista_matriculas_colaboradores\": [\"123\", \"456\"]\n}\n\n</code></pre>\n<hr />\n<h2 id=\"resposta\"><strong>Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código de status HTTP (ex: 200, 400, 401, 500).</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto breve sobre sucesso ou falha.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td>`string</td>\n<td>null`</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td>`number</td>\n<td>null`</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td>`array</td>\n<td>null`</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-resposta-200---sucesso\"><strong>Exemplo</strong> de Resposta <strong><code>200 - Sucesso</code></strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"matricula\", \"ano\", \"mes\", \"horas_mais\"],\n    [\"colab1\", \"2024\", \"1\", \"480\"],\n    [\"colab1\", \"2024\", \"2\", \"420\"],\n    [\"colab2\", \"2024\", \"1\", \"360\"],\n    [\"colab2\", \"2024\", \"2\", \"300\"]\n  ]\n}\n\n</code></pre>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400---excesso-de-dias\"><code>400 - Excesso de Dias</code></h3>\n<p>Se o período entre <code>(mes_ini, ano_ini)</code> e <code>(mes_fim, ano_fim)</code> extrapolar o limite suportado.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla X dias, excedendo assim o limite deste endpoint!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n\n</code></pre>\n<h3 id=\"400---erro-de-schema\"><code>400 - Erro de Schema</code></h3>\n<p>Se algum campo estiver fora do formato esperado (ex. <code>mes_fim = 13</code> ou <code>ano_fim = 1900</code>).</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[detalhes do erro de validacao]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n\n</code></pre>\n<h3 id=\"401---token-expirado-ou-inválido\"><code>401 - Token Expirado ou Inválido</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"The incoming token has expired\"\n}\n\n</code></pre>\n<h3 id=\"500---erro-interno\"><code>500 - Erro Interno</code></h3>\n<p>Problema interno no servidor ao processar a requisição.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"[detalhes do erro interno]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["plan-banco-mais-mes-colaborador"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[],"_postman_id":"631c57fe-892c-4951-805b-50de2d348870"},{"name":"plan-banco-mais-mes-filial","id":"aadbf4bd-a02b-4283-88c1-0fde2b135680","request":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2024,\n  \"mes_fim\": \"12\",\n  \"ano_fim\": 2024,\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-mais-mes-filial","description":"<h1 id=\"horas-a-mais-planejadas-por-mês-e-filial\">Horas a Mais Planejadas por Mês e Filial</h1>\n<p>Este endpoint retorna as horas \"a mais\" planejadas, agregadas por mês e filial, com base nos dados do banco de horas.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong><br /><strong>- assim como nos outros endpoints \"/plan-banco*\" os valores de saldo estão em minutos!</strong> </p>\n</blockquote>\n<p><strong>Método:</strong> <code>POST</code></p>\n<p><strong>Cabeçalho da Requisição:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>moapi-token: &lt;seu-IdToken&gt;\n\n</code></pre><p><strong>Parâmetros da Requisição:</strong></p>\n<ul>\n<li><p><strong><code>pag</code></strong>: (Integer, opcional) Número da página para paginação. Usado para grandes conjuntos de resultados. Valor padrão: 1.</p>\n</li>\n<li><p><strong><code>mes_ini</code></strong>: (String, obrigatório) Mês inicial no formato \"MM\".</p>\n</li>\n<li><p><strong><code>ano_ini</code></strong>: (Integer, obrigatório) Ano inicial (AAAA).</p>\n</li>\n<li><p><strong><code>mes_fim</code></strong>: (String, obrigatório) Mês final no formato \"MM\".</p>\n</li>\n<li><p><strong><code>ano_fim</code></strong>: (Integer, obrigatório) Ano final (AAAA).</p>\n</li>\n<li><p><strong><code>lista_cods_filiais</code></strong>: (Array de Strings, obrigatório) Lista de códigos de filial. Para todas as filiais, use [\"*\"].</p>\n</li>\n</ul>\n<p><strong>Observações:</strong></p>\n<ul>\n<li><p>Os códigos de filial na <code>lista_cods_filiais</code> devem ser strings.</p>\n</li>\n<li><p>O endpoint utiliza paginação para grandes conjuntos de dados. Use o parâmetro <code>pag</code> para acessar as demais páginas.</p>\n</li>\n<li><p>Assegure-se de que o <code>moapi-token</code> fornecido no cabeçalho seja válido e não esteja expirado.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["plan-banco-mais-mes-filial"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[{"id":"a4c36723-8019-4d12-b387-74bdf5bfa103","name":"200-sucesso","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2024,\n  \"mes_fim\": \"12\",\n  \"ano_fim\": 2024,\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-mais-mes-filial"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"filial_cod\", \"ano\", \"mes\", \"horas_mais\"],\n    [\"0001\", \"2024\", \"01\", \"2400\"],\n    [\"0001\", \"2024\", \"02\", \"2100\"],\n    [\"0002\", \"2024\", \"01\", \"2550\"],\n    [\"0002\", \"2024\", \"02\", \"2250\"]\n    // ... mais resultados\n  ]\n}"},{"id":"f6f9b210-d2e7-455b-b097-bc7e8eb77957","name":"400-requisicao-malformada","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"mes_ini\": \"13\",\n  \"ano_ini\": 2024,\n  \"mes_fim\": \"12\",\n  \"ano_fim\": 2024,\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-mais-mes-filial"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisição malformada.\",\n  \"erro\": \"Mês inválido.\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}"},{"id":"1e0a96f5-5c2d-4099-9c00-54aa742862be","name":"401-nao-autorizado","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":""}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2024,\n  \"mes_fim\": \"12\",\n  \"ano_fim\": 2024,\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-mais-mes-filial"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"message\": \"unauthorized\"\n}"},{"id":"02323537-7f13-4d26-bf60-4aeb588fbcb1","name":"500-erro-interno","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2024,\n  \"mes_fim\": \"12\",\n  \"ano_fim\": 2024,\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-mais-mes-filial"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisição.\",\n  \"erro\": \"[descrição do erro]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}"}],"_postman_id":"aadbf4bd-a02b-4283-88c1-0fde2b135680"},{"name":"plan-banco-menos-mes-colaborador","id":"299dd3a2-c4f4-46a9-8329-127511f8dccd","request":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2024,\n  \"mes_fim\": 12,\n  \"ano_fim\": 2024,\n  \"lista_matriculas_colaboradores\": [\"*\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-menos-mes-colaborador","description":"<h1 id=\"post-plan-banco-menos-mes-colaborador\"><strong>POST</strong> <code>/plan-banco-menos-mes-colaborador</code></h1>\n<p>Fornece as <strong>horas a menos</strong> planejadas, agregadas por <strong>mês</strong> e <strong>colaborador</strong>.</p>\n<hr />\n<h3 id=\"objetivo\"><strong>Objetivo</strong></h3>\n<p>Retornar a soma das horas a menos planejadas para cada colaborador, mês a mês, com base no banco de horas.</p>\n<blockquote>\n<p><strong>IMPORTANTE</strong>: assim como nos outros endpoints /plan-banco*, os valores de saldo aqui também estão em <strong>minutos</strong>. </p>\n</blockquote>\n<p><strong>URL</strong>:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://moapi.escalamoavi.com.br/plan-banco-menos-mes-colaborador\n\n</code></pre><p><strong>Método</strong>:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>POST\n\n</code></pre><p><strong>Cabeçalho</strong>:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>moapi-token: &lt;seu-IdToken&gt;\n\n</code></pre><hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>pag</code></td>\n<td><code>number</code></td>\n<td>Não</td>\n<td>Número da página dos resultados. Se omitido, assume <code>1</code>. Útil apenas se houver paginação.</td>\n</tr>\n<tr>\n<td><code>mes_ini</code></td>\n<td>`string</td>\n<td>int`</td>\n<td>Sim</td>\n</tr>\n<tr>\n<td><code>ano_ini</code></td>\n<td>`string</td>\n<td>int`</td>\n<td>Sim</td>\n</tr>\n<tr>\n<td><code>mes_fim</code></td>\n<td>`string</td>\n<td>int`</td>\n<td>Sim</td>\n</tr>\n<tr>\n<td><code>ano_fim</code></td>\n<td>`string</td>\n<td>int`</td>\n<td>Sim</td>\n</tr>\n<tr>\n<td><code>lista_matriculas_colaboradores</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Matrículas cujas horas a menos são desejadas. Para <strong>todas</strong>, usar [\"*\"].  <br />Não pode estar vazia nem conter duplicados.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-requisição\"><strong>Exemplo</strong> de Requisição</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"pag\": 1,\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2024,\n  \"mes_fim\": 12,\n  \"ano_fim\": \"2024\",\n  \"lista_matriculas_colaboradores\": [\"999\", \"1234\"]\n}\n\n</code></pre>\n<hr />\n<h2 id=\"resposta\"><strong>Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código de status HTTP (ex: 200, 400, 401, 500).</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto breve sobre sucesso ou falha.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td>`string</td>\n<td>null`</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td>`number</td>\n<td>null`</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td>`array</td>\n<td>null`</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-resposta-200---sucesso\"><strong>Exemplo</strong> de Resposta <strong><code>200 - Sucesso</code></strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"matricula\", \"ano\", \"mes\", \"horas_menos\"],\n    [\"colab1\", \"2024\", \"1\", \"-480\"],\n    [\"colab1\", \"2024\", \"2\", \"-420\"],\n    [\"colab2\", \"2024\", \"1\", \"-360\"],\n    [\"colab2\", \"2024\", \"2\", \"-300\"]\n  ]\n}\n\n</code></pre>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400---excesso-de-dias\"><code>400 - Excesso de Dias</code></h3>\n<p>Se o período entre <code>(mes_ini, ano_ini)</code> e <code>(mes_fim, ano_fim)</code> extrapolar o limite suportado.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla X dias, excedendo assim o limite deste endpoint!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n\n</code></pre>\n<h3 id=\"400---erro-de-schema\"><code>400 - Erro de Schema</code></h3>\n<p>Se algum campo estiver fora do formato esperado (ex. <code>mes_fim = 13</code> ou <code>ano_fim = 1900</code>).</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[detalhes do erro de validacao]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n\n</code></pre>\n<h3 id=\"401---token-expirado-ou-inválido\"><code>401 - Token Expirado ou Inválido</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"The incoming token has expired\"\n}\n\n</code></pre>\n<h3 id=\"500---erro-interno\"><code>500 - Erro Interno</code></h3>\n<p>Problema interno no servidor ao processar a requisição.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"[detalhes do erro interno]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["plan-banco-menos-mes-colaborador"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[],"_postman_id":"299dd3a2-c4f4-46a9-8329-127511f8dccd"},{"name":"plan-banco-menos-mes-filial","id":"18380911-bb32-44c2-ae7b-e31d15e2c6f0","request":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2024,\n  \"mes_fim\": \"12\",\n  \"ano_fim\": 2024,\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-menos-mes-filial","description":"<h1 id=\"horas-a-menos-planejadas-por-mês-e-filial\">Horas a Menos Planejadas por Mês e Filial</h1>\n<p>Este endpoint retorna as horas \"a menos\" planejadas, agregadas por mês e filial, com base nos dados do banco de horas.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong><br /><strong>- assim como nos outros endpoints \"/plan-banco*\" os valores de saldo estão em minutos!</strong> </p>\n</blockquote>\n<p><strong>Método:</strong> <code>POST</code></p>\n<p><strong>Cabeçalho da Requisição:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>moapi-token: &lt;seu-IdToken&gt;\n\n</code></pre><p><strong>Parâmetros da Requisição:</strong></p>\n<ul>\n<li><p><strong><code>pag</code></strong>: (Integer, opcional) Número da página para paginação. Usado para grandes conjuntos de resultados. Valor padrão: 1.</p>\n</li>\n<li><p><strong><code>mes_ini</code></strong>: (String ou Integer, obrigatório) Mês inicial no formato \"MM\" ou um número inteiro representando o mês.</p>\n</li>\n<li><p><strong><code>ano_ini</code></strong>: (String ou Integer, obrigatório) Ano inicial no formato \"AAAA\" ou um número inteiro representando o ano.</p>\n</li>\n<li><p><strong><code>mes_fim</code></strong>: (String ou Integer, obrigatório) Mês final no formato \"MM\" ou um número inteiro representando o mês.</p>\n</li>\n<li><p><strong><code>ano_fim</code></strong>: (String ou Integer, obrigatório) Ano final no formato \"AAAA\" ou um número inteiro representando o ano.</p>\n</li>\n<li><p><strong><code>lista_cods_filiais</code></strong>: (Array de Strings, obrigatório) Lista de códigos de filial. Para todas as filiais, use [\"*\"].</p>\n</li>\n</ul>\n<p><strong>Observações:</strong></p>\n<ul>\n<li><p>Os códigos de filial na <code>lista_cods_filiais</code> devem ser strings.</p>\n</li>\n<li><p>O endpoint utiliza paginação para grandes conjuntos de dados. Use o parâmetro <code>pag</code> para acessar as demais páginas.</p>\n</li>\n<li><p>Assegure-se de que o <code>moapi-token</code> fornecido no cabeçalho seja válido e não esteja expirado.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["plan-banco-menos-mes-filial"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[{"id":"10cccc2c-559e-430f-b189-86e3152f53ec","name":"200-sucesso-string","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2024,\n  \"mes_fim\": \"12\",\n  \"ano_fim\": 2024,\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-menos-mes-filial"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"filial_cod\", \"ano\", \"mes\", \"horas_menos\"],\n    [\"0001\", \"2024\", \"01\", \"-300\"],\n    [\"0001\", \"2024\", \"02\", \"-420\"],\n    [\"0002\", \"2024\", \"01\", \"-150\"],\n    [\"0002\", \"2024\", \"02\", \"-270\"]\n    // ... mais resultados\n  ]\n}"},{"id":"81bb2159-e814-4a5b-a3db-577f2932a1f1","name":"200-sucesso-integer","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"mes_ini\": 1,\n  \"ano_ini\": 2024,\n  \"mes_fim\": 12,\n  \"ano_fim\": 2024,\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-menos-mes-filial"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"filial_cod\", \"ano\", \"mes\", \"horas_menos\"],\n    [\"0001\", \"2024\", \"01\", \"-300\"],\n    [\"0001\", \"2024\", \"02\", \"-420\"],\n    [\"0002\", \"2024\", \"01\", \"-150\"],\n    [\"0002\", \"2024\", \"02\", \"-270\"]\n  ]\n}"},{"id":"d5f8baab-0270-4678-a74c-ad62d03d4511","name":"400-requisicao-malformada","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2024,\n  \"mes_fim\": \"13\",\n  \"ano_fim\": 2024,\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-menos-mes-filial"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisição malformada.\",\n  \"erro\": \"Mês inválido.\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}"},{"id":"d2f683c1-ac34-44d5-b412-4ad77d86361a","name":"401-nao-autorizado","originalRequest":{"method":"POST","header":[{"key":"","value":""}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2024,\n  \"mes_fim\": \"12\",\n  \"ano_fim\": 2024,\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-menos-mes-filial"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"message\": \"unauthorized\"\n}"},{"id":"69061a21-3e39-4beb-963d-4f74b5883c6a","name":"500-erro-interno","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2024,\n  \"mes_fim\": \"12\",\n  \"ano_fim\": 2024,\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-menos-mes-filial"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisição.\",\n  \"erro\": \"[descrição do erro]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}"}],"_postman_id":"18380911-bb32-44c2-ae7b-e31d15e2c6f0"},{"name":"plan-banco-saldo-dia-colaborador","event":[{"listen":"test","script":{"exec":[""],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"exec":[""],"type":"text/javascript","packages":{}}}],"id":"51d55192-b70c-48bd-965d-14e05acd6d51","request":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\r\n  \"pag\": 1,\r\n  \"data_ini\": \"2024-01-01\",\r\n  \"data_fim\": \"2024-01-07\",\r\n  \"lista_matriculas_colaboradores\": [\"matricula123\", \"matriculaXYZ\"]\r\n}"},"url":"https://moapi.escalamoavi.com.br/plan-banco-saldo-dia-colaborador","description":"<h1 id=\"post-plan-banco-saldo-dia-colaborador\"><strong>POST</strong> <code>/plan-banco-saldo-dia-colaborador</code></h1>\n<p>Fornece o <strong>saldo planejado</strong> (do banco de horas) por <strong>dia</strong> e colaborador.</p>\n<hr />\n<h2 id=\"objetivo\"><strong>Objetivo</strong></h2>\n<p>Retornar o saldo diário planejado do banco de horas, organizado por dia e discriminado por colaborador.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong><br /><strong>- assim como nos outros endpoints \"/plan-banco*\" os valores de saldo estão em minutos!</strong><br /><strong>- existe um limite de 10 dias corridos para obtenção dos lotes de dados.</strong> </p>\n</blockquote>\n<p><strong>URL</strong>: <code>https://moapi.escalamoavi.com.br/plan-banco-saldo-dia-colaborador</code></p>\n<p><strong>Método</strong>: <code>POST</code></p>\n<p><strong>Cabeçalho</strong>: É <strong>obrigatório</strong> usar <code>moapi-token</code> com token válido.</p>\n<hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>data_ini</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data inicial no formato <code>AAAA-MM-DD</code> (ano de 2017 a 2100).</td>\n</tr>\n<tr>\n<td><code>data_fim</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data final no formato <code>AAAA-MM-DD</code> (ano de 2017 a 2100).</td>\n</tr>\n<tr>\n<td><code>lista_matriculas_colaboradores</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Matrículas cujos saldos são desejados. Para <strong>todas</strong>, usar [\"*\"].  <br />Não pode estar vazia nem conter duplicados.</td>\n</tr>\n<tr>\n<td><code>pag</code></td>\n<td><code>number</code></td>\n<td>Não</td>\n<td>Página dos resultados. Se omitido, assume <code>1</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo\"><strong>Exemplo</strong>:</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"pag\": 1,\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-01-07\",\n  \"lista_matriculas_colaboradores\": [\"matricula123\", \"matriculaXYZ\"]\n}\n\n</code></pre>\n<hr />\n<h2 id=\"resposta\"><strong>Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código de status HTTP (ex: 200, 400, 401, 500).</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto breve sobre sucesso ou falha.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td><code>string</code> ou <code>null</code></td>\n<td>Em caso de erro, traz a descrição. Se não houver erro, retorna <code>null</code> ou vazio.</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td><code>number</code> ou <code>null</code></td>\n<td>Página do último lote de resultados, se houver paginação. Caso haja erro, tende a <code>null</code>.</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td><code>array</code> ou <code>null</code></td>\n<td>Em sucesso, retorna lista de listas: <code>[\"matricula\", \"data\", \"saldo_horas\"]</code> + linhas de dados.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-sucesso-200\"><strong>Exemplo de Sucesso</strong> <strong><code>200</code></strong>:</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"matricula\", \"data\", \"saldo_horas\"],\n    [\"matricula123\", \"2024-01-01\", \"300\"],\n    [\"matricula123\", \"2024-01-02\", \"420\"],\n    [\"matriculaXYZ\", \"2024-01-01\", \"-60\"],\n    [\"matriculaXYZ\", \"2024-01-02\", \"-10\"]\n  ]\n}\n\n</code></pre>\n<blockquote>\n<p>Observação: o campo <code>saldo_horas</code> pode vir em forma de valor positivo ou negativo, representando o saldo para cada dia. </p>\n</blockquote>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400---excesso-de-dias\"><code>400 - Excesso de Dias</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla X dias, excedendo assim o limite deste endpoint!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n\n</code></pre>\n<h3 id=\"400---erro-de-schema\"><code>400 - Erro de Schema</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[detalhes do erro de validacao]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n\n</code></pre>\n<h3 id=\"401---token-expirado-ou-invalido\"><code>401 - Token Expirado ou Invalido</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"The incoming token has expired\"\n}\n\n</code></pre>\n<h3 id=\"500---erro-interno\"><code>500 - Erro Interno</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"[detalhes do erro interno]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["plan-banco-saldo-dia-colaborador"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[{"id":"41d9034d-ff2b-4d62-8d07-eb4201d1ba55","name":"200-sucesso-exemplo","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-01-07\",\n  \"lista_matriculas_colaboradores\": [\"matricula123\", \"matriculaXYZ\"]\n}"},"url":"https://moapi.escalamoavi.com.br/plan-banco-saldo-dia-colaborador"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"matricula\", \"data\", \"saldo_horas\"],\n    [\"matricula123\", \"2024-01-01\", \"300\"],\n    [\"matricula123\", \"2024-01-02\", \"420\"],\n    [\"matriculaXYZ\", \"2024-01-01\", \"-60\"],\n    [\"matriculaXYZ\", \"2024-01-02\", \"-10\"]\n  ]\n}"},{"id":"869707f7-f8b9-4401-b368-c1e00e33d26c","name":"400-excesso-dias","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-02-20\",\n  \"lista_matriculas_colaboradores\": [\"*\"]\n}"},"url":"https://moapi.escalamoavi.com.br/plan-banco-saldo-dia-colaborador"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla 50 dias, excedendo assim o limite deste endpoint!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}"},{"id":"cf963f96-bf34-4994-bdea-1d3d21e1d675","name":"400-schema-invalido","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"data_ini\": \"2024-01-AB\",\n  \"data_fim\": \"2024-01-07\",\n  \"lista_matriculas_colaboradores\": []\n}"},"url":"https://moapi.escalamoavi.com.br/plan-banco-saldo-dia-colaborador"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[instance failed to match at least one required schema among 2]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}"},{"id":"9de57477-3b5e-493e-b627-970c1b50d123","name":"401-token-expirou","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":""}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-01-07\",\n  \"lista_matriculas_colaboradores\": [\"matricula1\"]\n}"},"url":"https://moapi.escalamoavi.com.br/plan-banco-saldo-dia-colaborador"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"message\": \"The incoming token has expired\"\n}"},{"id":"5730e55c-a55e-43f9-9152-748d7ab6225b","name":"500-erro-interno","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-01-07\",\n  \"lista_matriculas_colaboradores\": [\"matricula1\"]\n}"},"url":"https://moapi.escalamoavi.com.br/plan-banco-saldo-dia-colaborador"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"[detalhes do erro interno]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}"}],"_postman_id":"51d55192-b70c-48bd-965d-14e05acd6d51"},{"name":"plan-banco-saldo-mes-colaborador","id":"15e26517-3de1-4d4b-bab5-1aa5f03e3753","request":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2024,\n  \"mes_fim\": \"12\",\n  \"ano_fim\": 2024,\n  \"lista_matriculas_colaboradores\": [\"matricula1\", \"matricula2\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-saldo-mes-colaborador","description":"<h1 id=\"post-plan-banco-saldo-mes-colaborador\"><strong>POST</strong> <code>/plan-banco-saldo-mes-colaborador</code></h1>\n<p>Fornece o <strong>saldo planejado</strong> (positivo ou negativo) do banco de horas, <strong>agregado por mês</strong> e <strong>colaborador</strong>.</p>\n<hr />\n<h2 id=\"objetivo\"><strong>Objetivo</strong></h2>\n<p>Retornar o saldo planejado do banco de horas, agrupado por mês para cada colaborador.</p>\n<blockquote>\n<p><strong>IMPORTANTE</strong>:<br /><strong>- assim como nos outros endpoints</strong> /plan-banco*, os valores são retornados em <strong>minutos</strong>. </p>\n</blockquote>\n<p><strong>URL</strong>: <code>https://moapi.escalamoavi.com.br/plan-banco-saldo-mes-colaborador</code></p>\n<p><strong>Método</strong>: <code>POST</code></p>\n<p><strong>Cabeçalho</strong>: É <strong>obrigatório</strong> usar <code>moapi-token</code> com token válido.</p>\n<hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>pag</code></td>\n<td><code>number</code></td>\n<td>Não</td>\n<td>Número da página dos resultados. Se omitido, assume <code>1</code>. Útil apenas se houver paginação.</td>\n</tr>\n<tr>\n<td><code>mes_ini</code></td>\n<td>`string</td>\n<td>int`</td>\n<td>Sim</td>\n</tr>\n<tr>\n<td><code>ano_ini</code></td>\n<td>`string</td>\n<td>int`</td>\n<td>Sim</td>\n</tr>\n<tr>\n<td><code>mes_fim</code></td>\n<td>`string</td>\n<td>int`</td>\n<td>Sim</td>\n</tr>\n<tr>\n<td><code>ano_fim</code></td>\n<td>`string</td>\n<td>int`</td>\n<td>Sim</td>\n</tr>\n<tr>\n<td><code>lista_matriculas_colaboradores</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Matrículas cujos saldos são desejados. Para <strong>todas</strong>, usar [\"*\"].  <br />Não pode estar vazia, nem conter duplicados.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-requisição\"><strong>Exemplo</strong> de Requisição</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"pag\": 1,\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2024,\n  \"mes_fim\": 12,\n  \"ano_fim\": \"2024\",\n  \"lista_matriculas_colaboradores\": [\"matriculaX\", \"matriculaY\"]\n}\n\n</code></pre>\n<hr />\n<h2 id=\"resposta\"><strong>Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código de status HTTP (ex: 200, 400, 401, 500).</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto breve sobre sucesso ou falha.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td>`string</td>\n<td>null`</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td>`number</td>\n<td>null`</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td>`array</td>\n<td>null`</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-resposta-200---sucesso\"><strong>Exemplo</strong> de Resposta <strong><code>200 - Sucesso</code></strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"matricula\", \"ano\", \"mes\", \"saldo_horas\"],\n    [\"matr123\", \"2024\", \"1\", \"180\"],\n    [\"matr123\", \"2024\", \"2\", \"60\"],\n    [\"matr123\", \"2024\", \"3\", \"-30\"],\n    [\"matrXYZ\", \"2024\", \"1\", \"0\"],\n    [\"matrXYZ\", \"2024\", \"2\", \"-150\"],\n    [\"matrXYZ\", \"2024\", \"3\", \"-120\"]\n  ]\n}\n\n</code></pre>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400---excesso-de-dias\"><code>400 - Excesso de Dias</code></h3>\n<p>Se o intervalo entre <code>(mes_ini, ano_ini)</code> e <code>(mes_fim, ano_fim)</code> exceder o limite.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla X dias, excedendo assim o limite deste endpoint!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n\n</code></pre>\n<h3 id=\"400---erro-de-schema\"><code>400 - Erro de Schema</code></h3>\n<p>Caso algum campo esteja fora do esperado, como <code>mes_fim = 13</code>, <code>ano_ini</code> &lt; 2017, etc.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[detalhes do erro de validacao]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n\n</code></pre>\n<h3 id=\"401---token-expirado-ou-inválido\"><code>401 - Token Expirado ou Inválido</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"The incoming token has expired\"\n}\n\n</code></pre>\n<h3 id=\"500---erro-interno\"><code>500 - Erro Interno</code></h3>\n<p>Erro interno do servidor ao processar a requisição.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"[detalhes do erro interno]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["plan-banco-saldo-mes-colaborador"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[],"_postman_id":"15e26517-3de1-4d4b-bab5-1aa5f03e3753"},{"name":"plan-banco-saldo-dia-filial","id":"5a80109a-a37e-45ed-ab8e-1627447f4c95","request":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-01-07\",\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-saldo-dia-filial","description":"<h1 id=\"saldo-planejado-do-banco-de-horas-por-dia-e-filial\">Saldo Planejado do Banco de Horas por Dia e Filial</h1>\n<p>Este endpoint retorna o saldo planejado do banco de horas por dia e filial.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong><br /><strong>- assim como nos outros endpoints \"/plan-banco*\" os valores de saldo estão em minutos!</strong><br /><strong>- existe um limite de 10 dias corridos para obtenção dos lotes de dados.</strong> </p>\n</blockquote>\n<p><strong>Método:</strong> <code>POST</code></p>\n<p><strong>Cabeçalho da Requisição:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>moapi-token: &lt;seu-IdToken&gt;\n\n</code></pre><p><strong>Parâmetros da Requisição:</strong></p>\n<ul>\n<li><p><strong><code>pag</code></strong>: (Integer, opcional) Número da página para paginação. Usado para grandes conjuntos de resultados. Valor padrão: 1.</p>\n</li>\n<li><p><strong><code>data_ini</code></strong>: (String, obrigatório) Data inicial no formato \"AAAA-MM-DD\".</p>\n</li>\n<li><p><strong><code>data_fim</code></strong>: (String, obrigatório) Data final no formato \"AAAA-MM-DD\".</p>\n</li>\n<li><p><strong><code>lista_cods_filiais</code></strong>: (Array de Strings, obrigatório) Lista de códigos de filial. Para todas as filiais, use [\"*\"].</p>\n</li>\n</ul>\n<p><strong>Observações:</strong></p>\n<ul>\n<li><p>Os códigos de filial na <code>lista_cods_filiais</code> devem ser strings.</p>\n</li>\n<li><p>O endpoint utiliza paginação para grandes conjuntos de dados. Use o parâmetro <code>pag</code> para acessar as demais páginas.</p>\n</li>\n<li><p>Assegure-se de que o <code>moapi-token</code> fornecido no cabeçalho seja válido e não esteja expirado.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["plan-banco-saldo-dia-filial"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[{"id":"e233df02-d2cc-474a-a6b3-f70d70a0f151","name":"200-sucesso","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-01-07\",\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-saldo-dia-filial"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"filial_cod\", \"data\", \"saldo_horas\"],\n    [\"0001\", \"2024-01-01\", \"420\"],\n    [\"0001\", \"2024-01-02\", \"360\"],\n    [\"0002\", \"2024-01-01\", \"450\"],\n    [\"0002\", \"2024-01-02\", \"390\"]\n  ]\n}"},{"id":"f6cf89b5-715d-4165-a5c4-a207f3672ab6","name":"400-requisicao-malformada","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2023-12-31\",\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-saldo-dia-filial"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisição malformada.\",\n  \"erro\": \"Data final anterior à data inicial.\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}"},{"id":"69b43996-3df6-42cb-8c2e-bab7c5bd6383","name":"401-nao-autorizado","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":""}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-01-07\",\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-saldo-dia-filial"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"message\": \"unauthorized\"\n}"},{"id":"1bc76348-c375-4f4d-855d-31923cea182b","name":"500-erro-interno","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-01-07\",\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-saldo-dia-filial"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisição.\",\n  \"erro\": \"[descrição do erro]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}"}],"_postman_id":"5a80109a-a37e-45ed-ab8e-1627447f4c95"},{"name":"plan-banco-saldo-mes-filial","id":"3cdbc1f2-99ba-469a-8bdb-8c7a209d1b18","request":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2024,\n  \"mes_fim\": \"12\",\n  \"ano_fim\": 2024,\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-saldo-mes-filial","description":"<h1 id=\"saldo-planejado-do-banco-de-horas-por-mês-e-filial\">Saldo Planejado do Banco de Horas por Mês e Filial</h1>\n<p>Este endpoint retorna o saldo planejado do banco de horas, agregado por mês e filial.</p>\n<p><strong>IMPORTANTE: assim como nos outros endpoints \"/plan-banco*\" os valores de saldo estão em minutos!</strong></p>\n<p><strong>Método:</strong> <code>POST</code></p>\n<p><strong>Cabeçalho da Requisição:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>moapi-token: &lt;seu-IdToken&gt;\n\n</code></pre><p><strong>Parâmetros da Requisição:</strong></p>\n<ul>\n<li><p><strong><code>pag</code></strong>: (Integer, opcional) Número da página para paginação. Usado para grandes conjuntos de resultados. Valor padrão: 1.</p>\n</li>\n<li><p><strong><code>mes_ini</code></strong>: (String ou Integer, obrigatório) Mês inicial no formato \"MM\" ou um número inteiro representando o mês.</p>\n</li>\n<li><p><strong><code>ano_ini</code></strong>: (String ou Integer, obrigatório) Ano inicial no formato \"AAAA\" ou um número inteiro representando o ano.</p>\n</li>\n<li><p><strong><code>mes_fim</code></strong>: (String ou Integer, obrigatório) Mês final no formato \"MM\" ou um número inteiro representando o mês.</p>\n</li>\n<li><p><strong><code>ano_fim</code></strong>: (String ou Integer, obrigatório) Ano final no formato \"AAAA\" ou um número inteiro representando o ano.</p>\n</li>\n<li><p><strong><code>lista_cods_filiais</code></strong>: (Array de Strings, obrigatório) Lista de códigos de filial. Para todas as filiais, use [\"*\"].</p>\n</li>\n</ul>\n<p><strong>Observações:</strong></p>\n<ul>\n<li><p>Os códigos de filial na <code>lista_cods_filiais</code> devem ser strings.</p>\n</li>\n<li><p>O endpoint utiliza paginação para grandes conjuntos de dados. Use o parâmetro <code>pag</code> para acessar as demais páginas.</p>\n</li>\n<li><p>Assegure-se de que o <code>moapi-token</code> fornecido no cabeçalho seja válido e não esteja expirado.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["plan-banco-saldo-mes-filial"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[{"id":"69cba437-05b5-4312-a970-b67e80122780","name":"200-sucesso-string","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2024,\n  \"mes_fim\": \"12\",\n  \"ano_fim\": 2024,\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-saldo-mes-filial"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"filial_cod\", \"ano\", \"mes\", \"saldo_horas\"],\n    [\"0001\", \"2024\", \"01\", \"2100\"],\n    [\"0001\", \"2024\", \"02\", \"1680\"],\n    [\"0002\", \"2024\", \"01\", \"2400\"],\n    [\"0002\", \"2024\", \"02\", \"1980\"]\n  ]\n}"},{"id":"951d0031-3be8-4f7f-92e2-d94a646d90aa","name":"200-sucesso-integer","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"mes_ini\": 1,\n  \"ano_ini\": 2024,\n  \"mes_fim\": 12,\n  \"ano_fim\": 2024,\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-saldo-mes-filial"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"filial_cod\", \"ano\", \"mes\", \"saldo_horas\"],\n    [\"0001\", \"2024\", \"01\", \"2100\"],\n    [\"0001\", \"2024\", \"02\", \"1680\"],\n    [\"0002\", \"2024\", \"01\", \"2400\"],\n    [\"0002\", \"2024\", \"02\", \"1980\"]\n  ]\n}"},{"id":"e4977e96-78fb-49e3-94c0-fd56af5dc8fb","name":"400-requisicao-malformada","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2024,\n  \"mes_fim\": \"13\",\n  \"ano_fim\": 2024,\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-saldo-mes-filial"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisição malformada.\",\n  \"erro\": \"Mês inválido.\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}"},{"id":"c01e4201-0fa7-4c08-bdd7-21d9156e409e","name":"401-nao-autorizado","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":""}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2024,\n  \"mes_fim\": \"12\",\n  \"ano_fim\": 2024,\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-saldo-mes-filial"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"message\": \"unauthorized\"\n}"},{"id":"5f2ccec5-5fbf-448a-bd4d-a14801facacb","name":"500-erro-interno","originalRequest":{"method":"POST","header":[{"key":"moapi-token","value":"<seu-IdToken>"}],"body":{"mode":"raw","raw":"{\n  \"pag\": 1,\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2024,\n  \"mes_fim\": \"12\",\n  \"ano_fim\": 2024,\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://moapi.escalamoavi.com.br/plan-banco-saldo-mes-filial"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisição.\",\n  \"erro\": \"[descrição do erro]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}"}],"_postman_id":"3cdbc1f2-99ba-469a-8bdb-8c7a209d1b18"},{"name":"absenteismo-dia-filial","id":"84360424-23e4-4c42-80b2-67247a135415","request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{}"},"url":"https://moapi.escalamoavi.com.br/absenteismo-dia-filial","description":"<h1 id=\"post-absenteismo-dia-filial\"><strong>POST</strong> <code>/absenteismo-dia-filial</code></h1>\n<p>Fornece <strong>taxa de absenteísmo</strong> por <strong>dia</strong> e <strong>filial</strong>.</p>\n<hr />\n<h2 id=\"objetivo\"><strong>Objetivo</strong></h2>\n<p>Retornar a taxa de absenteísmo diária por filial dentro de um período.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong> limite de <strong>62 dias</strong> por consulta.</p>\n</blockquote>\n<p><strong>URL</strong>: <code>https://moapi.escalamoavi.com.br/absenteismo-dia-filial</code><br /><strong>Método</strong>: <code>POST</code><br /><strong>Cabeçalho</strong>: <code>moapi-token</code> obrigatório.</p>\n<hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>data_ini</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data inicial <code>AAAA-MM-DD</code>.</td>\n</tr>\n<tr>\n<td><code>data_fim</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data final <code>AAAA-MM-DD</code>.</td>\n</tr>\n<tr>\n<td><code>lista_cods_filiais</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Códigos de filial. <code>[\"*\"]</code> para todas.</td>\n</tr>\n<tr>\n<td><code>pag</code></td>\n<td><code>number</code></td>\n<td>Não</td>\n<td>Página (default <code>1</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-requisição\"><strong>Exemplo</strong> de Requisição</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"data_ini\": \"2024-06-01\",\n  \"data_fim\": \"2024-06-30\",\n  \"lista_cods_filiais\": [\"0001\", \"0015\"]\n}\n</code></pre>\n<hr />\n<h2 id=\"corpo-da-resposta\"><strong>Corpo da Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código HTTP.</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto curto.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td><code>string | null</code></td>\n<td>Detalhes.</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td><code>number | null</code></td>\n<td>Última página.</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td><code>array | null</code></td>\n<td><code>[filial_cod, data, absenteismo]</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-resposta-200-ok\"><strong>Exemplo</strong> de Resposta <code>200 OK</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"filial_cod\", \"data\", \"absenteismo\"],\n    [\"0001\", \"2024-06-10\", \"0.055\"],\n    [\"0015\", \"2024-06-10\", \"0.021\"]\n  ]\n}\n</code></pre>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400--excesso-de-dias\"><code>400 – Excesso de Dias</code></h3>\n<p>Quando o intervalo entre <code>data_ini</code> e <code>data_fim</code> ultrapassa <strong>62 dias</strong>.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla 70 dias, excedendo assim o limite deste endpoint (Dois meses cheios (62 dias))!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"400--erro-de-schema\"><code>400 – Erro de Schema</code></h3>\n<p>Qualquer violação de formato ou regra de validação (data inválida, lista vazia, etc.).</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[{\\\"validation\\\":\\\"minItems\\\",\\\"code\\\":\\\"array_too_small\\\",\\\"message\\\":\\\"Array must contain at least 1 element(s)\\\",\\\"path\\\":[\\\"lista_cods_filiais\\\"]}]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"401--token-expirado-ou-inválido\"><code>401 – Token Expirado ou Inválido</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"The incoming token has expired\"\n}\n</code></pre>\n<h3 id=\"500--erro-interno\"><code>500 – Erro Interno</code></h3>\n<p>Falha inesperada no servidor.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"Falha na conexao com o banco de dados.\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["absenteismo-dia-filial"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[],"_postman_id":"84360424-23e4-4c42-80b2-67247a135415"},{"name":"esquecimentos-dia-colaborador","id":"3e0f8c49-5086-403d-93a6-57bb65943f7a","request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{}"},"url":"https://moapi.escalamoavi.com.br/esquecimentos-dia-colaborador","description":"<h1 id=\"post-esquecimentos-dia-colaborador\"><strong>POST</strong> <code>/esquecimentos-dia-colaborador</code></h1>\n<p>Retorna <strong>esquecimentos absolutos</strong> (quantidade) <strong>por dia</strong> e <strong>por colaborador</strong>.</p>\n<hr />\n<h2 id=\"objetivo\"><strong>Objetivo</strong></h2>\n<p>Obter o número de esquecimentos diários para cada matrícula solicitada.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong><br />• Limite: <strong>10 dias</strong> corridos.<br />• Lista <code>[\"*\"]</code> devolve todos os colaboradores.</p>\n</blockquote>\n<p><strong>URL</strong>: <code>https://moapi.escalamoavi.com.br/esquecimentos-dia-colaborador</code><br /><strong>Método</strong>: <code>POST</code><br /><strong>Cabeçalho</strong>: <code>moapi-token</code> <strong>obrigatório</strong>.</p>\n<hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>data_ini</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data inicial <code>AAAA-MM-DD</code>.</td>\n</tr>\n<tr>\n<td><code>data_fim</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data final <code>AAAA-MM-DD</code>.</td>\n</tr>\n<tr>\n<td><code>lista_matriculas_colaboradores</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Matrículas desejadas ou <code>[\"*\"]</code> para todas.</td>\n</tr>\n<tr>\n<td><code>pag</code></td>\n<td><code>number</code></td>\n<td>Não</td>\n<td>Página dos resultados (default <code>1</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-requisição\"><strong>Exemplo</strong> de Requisição</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"data_ini\": \"2024-03-01\",\n  \"data_fim\": \"2024-03-05\",\n  \"lista_matriculas_colaboradores\": [\"matr456\", \"matrABC\"]\n}\n</code></pre>\n<hr />\n<h2 id=\"corpo-da-resposta\"><strong>Corpo da Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código HTTP.</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto de status.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td><code>string | null</code></td>\n<td>Detalhes do erro.</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td><code>number | null</code></td>\n<td>Página final.</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td><code>array | null</code></td>\n<td><code>[matricula, data, n_esquecimentos]</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-resposta-200-ok\"><strong>Exemplo</strong> de Resposta <strong><code>200 OK</code></strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"matricula\", \"data\", \"esquecimentos\"],\n    [\"matr456\", \"2024-03-01\", \"1\"],\n    [\"matr456\", \"2024-03-02\", \"0\"]\n  ]\n}\n</code></pre>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400--excesso-de-dias\"><code>400 – Excesso de Dias</code></h3>\n<p>Se o intervalo entre <code>data_ini</code> e <code>data_fim</code> exceder o limite de <strong>10 dias</strong>.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla 12 dias, excedendo assim o limite deste endpoint (Dez dias corridos (10 dias))!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"400--erro-de-schema\"><code>400 – Erro de Schema</code></h3>\n<p>Algum campo fora do esperado (formato de data inválido, lista vazia, item numérico em vez de string etc.).</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[instance type (integer) does not match any allowed primitive type (allowed: [\\\"string\\\"])]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"401--token-expirado-ou-inválido\"><code>401 – Token Expirado ou Inválido</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n    \"message\": \"The incoming token has expired\"\n}\n</code></pre>\n<h3 id=\"500--erro-interno\"><code>500 – Erro Interno</code></h3>\n<p>Falha inesperada no servidor.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"[detalhes internos]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["esquecimentos-dia-colaborador"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[],"_postman_id":"3e0f8c49-5086-403d-93a6-57bb65943f7a"},{"name":"esquecimentos-dia-filial","id":"aaded7cb-a4ff-4417-87e3-4662b4f45c9d","request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{}"},"url":"https://moapi.escalamoavi.com.br/esquecimentos-dia-filial","description":"<h1 id=\"post-esquecimentos-dia-filial\"><strong>POST</strong> <code>/esquecimentos-dia-filial</code></h1>\n<p>Fornece a contagem de <strong>esquecimentos</strong> por <strong>dia</strong> e <strong>filial</strong>.</p>\n<hr />\n<h2 id=\"objetivo\"><strong>Objetivo</strong></h2>\n<p>Retornar a contagem de esquecimentos diários por filial dentro de um período.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong> limite de <strong>62 dias</strong> por consulta.</p>\n</blockquote>\n<p><strong>URL</strong>: <code>https://moapi.escalamoavi.com.br/esquecimentos-dia-filial</code><br /><strong>Método</strong>: <code>POST</code><br /><strong>Cabeçalho</strong>: <code>moapi-token</code> obrigatório.</p>\n<hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>data_ini</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data inicial <code>AAAA-MM-DD</code>.</td>\n</tr>\n<tr>\n<td><code>data_fim</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data final <code>AAAA-MM-DD</code>.</td>\n</tr>\n<tr>\n<td><code>lista_cods_filiais</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Códigos de filial. <code>[\"*\"]</code> para todas.</td>\n</tr>\n<tr>\n<td><code>pag</code></td>\n<td><code>number</code></td>\n<td>Não</td>\n<td>Página (default <code>1</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-requisição\"><strong>Exemplo</strong> de Requisição</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"data_ini\": \"2024-06-01\",\n  \"data_fim\": \"2024-06-30\",\n  \"lista_cods_filiais\": [\"0010\", \"0055\"]\n}\n</code></pre>\n<hr />\n<h2 id=\"corpo-da-resposta\"><strong>Corpo da Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código HTTP.</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto curto.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td><code>string | null</code></td>\n<td>Detalhes.</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td><code>number | null</code></td>\n<td>Última página.</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td><code>array | null</code></td>\n<td><code>[filial_cod, data, esquecimentos]</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-resposta-200-ok\"><strong>Exemplo</strong> de Resposta <code>200 OK</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"filial_cod\", \"data\", \"esquecimentos\"],\n    [\"0010\", \"2024-06-15\", \"8\"],\n    [\"0055\", \"2024-06-15\", \"3\"]\n  ]\n}\n</code></pre>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400--excesso-de-dias\"><code>400 – Excesso de Dias</code></h3>\n<p>Quando o intervalo entre <code>data_ini</code> e <code>data_fim</code> ultrapassa <strong>62 dias</strong>.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla 70 dias, excedendo assim o limite deste endpoint (Dois meses cheios (62 dias))!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"400--erro-de-schema\"><code>400 – Erro de Schema</code></h3>\n<p>Qualquer violação de formato ou regra de validação (data inválida, lista vazia, item numérico onde devia ser string etc.).</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[detalhes do erro de validacao]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"401--token-expirado-ou-inválido\"><code>401 – Token Expirado ou Inválido</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{ \"message\": \"The incoming token has expired\" }\n</code></pre>\n<h3 id=\"500--erro-interno\"><code>500 – Erro Interno</code></h3>\n<p>Falha inesperada no servidor.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"[detalhes internos]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["esquecimentos-dia-filial"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[],"_postman_id":"aaded7cb-a4ff-4417-87e3-4662b4f45c9d"},{"name":"absenteismo-mes-colaborador","id":"b27f1a24-3917-4c24-bb5a-9922914ee493","request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{}"},"url":"https://moapi.escalamoavi.com.br/absenteismo-mes-colaborador","description":"<h1 id=\"post-absenteismo-mes-colaborador\"><strong>POST</strong> <code>/absenteismo-mes-colaborador</code></h1>\n<p>Retorna <strong>absenteísmo</strong> por <strong>mês</strong> e <strong>colaborador</strong>.</p>\n<hr />\n<h2 id=\"objetivo\"><strong>Objetivo</strong></h2>\n<p>Consultar a quantidade de absenteísmo mensal por matrícula.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong> limite: <strong>Um mês cheio (31 dias)</strong>.</p>\n</blockquote>\n<p><strong>URL</strong>: <code>https://moapi.escalamoavi.com.br/absenteismo-mes-colaborador</code><br /><strong>Método</strong>: <code>POST</code><br /><strong>Cabeçalho</strong>: <code>moapi-token</code> obrigatório.</p>\n<hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>mes_ini</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Mês inicial <code>MM</code> ou <code>1–12</code>.</td>\n</tr>\n<tr>\n<td><code>ano_ini</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Ano inicial ≥ 2017.</td>\n</tr>\n<tr>\n<td><code>mes_fim</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Mês final.</td>\n</tr>\n<tr>\n<td><code>ano_fim</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Ano final.</td>\n</tr>\n<tr>\n<td><code>lista_matriculas_colaboradores</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Matrículas. Mínimo 1 item, sem valores repetidos.</td>\n</tr>\n<tr>\n<td><code>pag</code></td>\n<td><code>number</code></td>\n<td>Não</td>\n<td>Página (default <code>1</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-requisição\"><strong>Exemplo</strong> de Requisição</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"mes_ini\": 1,\n  \"ano_ini\": 2024,\n  \"mes_fim\": 1,\n  \"ano_fim\": 2024,\n  \"lista_matriculas_colaboradores\": [\"matr456\", \"matr789\"]\n}\n</code></pre>\n<hr />\n<h2 id=\"corpo-da-resposta\"><strong>Corpo da Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código HTTP.</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto de status.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td><code>string | null</code></td>\n<td>Detalhes.</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td><code>number | null</code></td>\n<td>Página final.</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td><code>array | null</code></td>\n<td><code>[matricula, ano, mes, absenteismo]</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-resposta-200-ok\"><strong>Exemplo</strong> de Resposta <code>200 OK</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"matricula\", \"ano\", \"mes\", \"absenteismo\"],\n    [\"matr456\", \"2024\", \"1\", \"2\"],\n    [\"matr789\", \"2024\", \"1\", \"0\"]\n  ]\n}\n</code></pre>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400--excesso-de-dias\"><code>400 – Excesso de Dias</code></h3>\n<p>Quando o intervalo entre <code>(mes_ini, ano_ini)</code> e <code>(mes_fim, ano_fim)</code> resulta em <strong>mais de 31 dias equivalentes</strong>.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla 62 dias, excedendo assim o limite desta requisicao (Um mês cheio (31 dias))!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<blockquote>\n<p><em>A mensagem acima é apenas ilustrativa; o número de dias retornados varia conforme o período solicitado.</em></p>\n</blockquote>\n<hr />\n<h3 id=\"400--erro-de-schema\"><code>400 – Erro de Schema</code></h3>\n<p>Campo fora do padrão, valor fora da faixa permitida (mês <code>&gt; 12</code>, ano <code>&lt; 2017</code>, lista vazia, item não-string, duplicado etc.).</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[detalhes do erro de validacao]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<hr />\n<h3 id=\"401--token-expirado-ou-inválido\"><code>401 – Token Expirado ou Inválido</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{ \"message\": \"The incoming token has expired\" }\n</code></pre>\n<hr />\n<h3 id=\"500--erro-interno\"><code>500 – Erro Interno</code></h3>\n<p>Falha inesperada no servidor.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"[detalhes internos]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["absenteismo-mes-colaborador"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[],"_postman_id":"b27f1a24-3917-4c24-bb5a-9922914ee493"},{"name":"carga-trab-mes-cluster","id":"57a83929-037f-46cd-a414-e5a1d8476647","request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{}"},"url":"https://moapi.escalamoavi.com.br/carga-trab-mes-cluster","description":"<h1 id=\"post-carga-trab-mes-cluster\"><strong>POST</strong> <code>/carga-trab-mes-cluster</code></h1>\n<p>Devolve <strong>carga de trabalho</strong> por <strong>mês</strong> e <strong>cluster</strong>.</p>\n<hr />\n<h2 id=\"objetivo\"><strong>Objetivo</strong></h2>\n<p>Retornar a carga de trabalho mensal por cluster.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong> intervalo máximo de <strong>dois anos cheios (730 dias)</strong>.</p>\n</blockquote>\n<p><strong>URL</strong>: <code>https://moapi.escalamoavi.com.br/carga-trab-mes-cluster</code><br /><strong>Método</strong>: <code>POST</code><br /><strong>Cabeçalho</strong>: <code>moapi-token</code> obrigatório.</p>\n<hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>mes_ini</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Mês inicial <code>MM</code> ou inteiro <code>1–12</code>.</td>\n</tr>\n<tr>\n<td><code>ano_ini</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Ano inicial <code>AAAA</code> (≥ 2017).</td>\n</tr>\n<tr>\n<td><code>mes_fim</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Mês final <code>MM</code> ou inteiro <code>1–12</code>.</td>\n</tr>\n<tr>\n<td><code>ano_fim</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Ano final <code>AAAA</code> (≥ 2017).</td>\n</tr>\n<tr>\n<td><code>lista_nomes_clusters</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Nomes ou <code>[\"*\"]</code> para todos.</td>\n</tr>\n<tr>\n<td><code>pag</code></td>\n<td><code>number</code></td>\n<td>Não</td>\n<td>Página (default <code>1</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-requisição\"><strong>Exemplo</strong> de Requisição</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2023,\n  \"mes_fim\": 12,\n  \"ano_fim\": 2023,\n  \"lista_nomes_clusters\": [\"cluster_A\", \"cluster_B\"]\n}\n</code></pre>\n<hr />\n<h2 id=\"corpo-da-resposta\"><strong>Corpo da Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código HTTP.</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto de status.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td><code>string | null</code></td>\n<td>Detalhes.</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td><code>number | null</code></td>\n<td>Página final.</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td><code>array | null</code></td>\n<td><code>[nome_cluster, ano, mes, carga_trabalho]</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-resposta-200-ok\"><strong>Exemplo</strong> de Resposta <code>200 OK</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"nome_cluster\", \"ano\", \"mes\", \"carga_trabalho\"],\n    [\"cluster_A\", \"2023\", \"1\", \"150.75\"],\n    [\"cluster_A\", \"2023\", \"2\", \"165.20\"]\n  ]\n}\n</code></pre>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400--excesso-de-dias\"><code>400 – Excesso de Dias</code></h3>\n<p>Quando o intervalo entre <code>(mes_ini, ano_ini)</code> e <code>(mes_fim, ano_fim)</code> excede <strong>730 dias</strong>.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla 762 dias, excedendo assim o limite deste endpoint (Dois anos cheios (730 dias))!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"400--erro-de-schema\"><code>400 – Erro de Schema</code></h3>\n<p>Violação de formato, valor fora de faixa (mês &gt; 12, ano &lt; 2017), lista vazia, item duplicado, etc.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[{\\\"validation\\\":\\\"regex\\\",\\\"code\\\":\\\"invalid_string\\\",\\\"message\\\":\\\"String does not match pattern: ^(201[7-9]|20[2-9][0-9]|21[01][0-7])$\\\",\\\"path\\\":[\\\"ano_ini\\\"]}]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"401--token-expirado-ou-inválido\"><code>401 – Token Expirado ou Inválido</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"message\": \"The incoming token has expired\"\n}\n</code></pre>\n<h3 id=\"500--erro-interno\"><code>500 – Erro Interno</code></h3>\n<p>Falha inesperada no servidor.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"Ocorreu uma falha interna no servidor.\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["carga-trab-mes-cluster"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[],"_postman_id":"57a83929-037f-46cd-a414-e5a1d8476647"},{"name":"absenteismo-mes-filial","id":"38bd65e4-f7db-4a5d-a4a5-01cecaa598fd","request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{}"},"url":"https://moapi.escalamoavi.com.br/absenteismo-mes-filial","description":"<h1 id=\"post-absenteismo-mes-filial\"><strong>POST</strong> <code>/absenteismo-mes-filial</code></h1>\n<p>Retorna <strong>taxas de absenteísmo</strong> por <strong>mês</strong> e <strong>filial</strong>.</p>\n<hr />\n<h2 id=\"objetivo\"><strong>Objetivo</strong></h2>\n<p>Obter a taxa de absenteísmo mensal por filial.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong> intervalo máximo de <strong>12 meses</strong> (≈ 372 dias).</p>\n</blockquote>\n<p><strong>URL</strong>: <code>https://moapi.escalamoavi.com.br/absenteismo-mes-filial</code><br /><strong>Método</strong>: <code>POST</code><br /><strong>Cabeçalho</strong>: <code>moapi-token</code> obrigatório.</p>\n<hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>mes_ini</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Mês inicial.</td>\n</tr>\n<tr>\n<td><code>ano_ini</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Ano inicial.</td>\n</tr>\n<tr>\n<td><code>mes_fim</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Mês final.</td>\n</tr>\n<tr>\n<td><code>ano_fim</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Ano final.</td>\n</tr>\n<tr>\n<td><code>lista_cods_filiais</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Códigos ou <code>[\"*\"]</code>.</td>\n</tr>\n<tr>\n<td><code>pag</code></td>\n<td><code>number</code></td>\n<td>Não</td>\n<td>Página (default <code>1</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-requisição\"><strong>Exemplo</strong> de Requisição</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2023,\n  \"mes_fim\": 12,\n  \"ano_fim\": 2023,\n  \"lista_cods_filiais\": [\"0002\", \"0025\"]\n}\n</code></pre>\n<hr />\n<h2 id=\"corpo-da-resposta\"><strong>Corpo da Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código HTTP.</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto breve.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td><code>string | null</code></td>\n<td>Detalhes.</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td><code>number | null</code></td>\n<td>Página final.</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td><code>array | null</code></td>\n<td><code>[filial_cod, ano, mes, absenteismo]</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-resposta-200-ok\"><strong>Exemplo</strong> de Resposta <code>200 OK</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"filial_cod\", \"ano\", \"mes\", \"absenteismo\"],\n    [\"0002\", \"2023\", \"1\", \"0.0512\"],\n    [\"0025\", \"2023\", \"1\", \"0.0489\"]\n  ]\n}\n</code></pre>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400--excesso-de-dias\"><code>400 – Excesso de Dias</code></h3>\n<p>Quando o intervalo entre <code>(mes_ini, ano_ini)</code> e <code>(mes_fim, ano_fim)</code> ultrapassar <strong>12 meses (≈ 372 dias)</strong>.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla 398 dias, excedendo assim o limite deste endpoint (Doze meses cheios (372 dias))!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<blockquote>\n<p><em>O número de dias exibido na mensagem varia conforme a requisição; o exemplo acima é ilustrativo.</em></p>\n</blockquote>\n<hr />\n<h3 id=\"400--erro-de-schema\"><code>400 – Erro de Schema</code></h3>\n<p>Qualquer campo fora do esperado (mês &gt; 12, ano &lt; 2017, lista vazia ou contendo valores de tipo errado, etc.).</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"mes_ini\": 1,\n  \"ano_ini\": 2015,\n  \"mes_fim\": 1,\n  \"ano_fim\": 2016,\n  \"lista_cods_filiais\": [\"0001\"]\n}\n</code></pre>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[detalhes do erro de validacao]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<hr />\n<h3 id=\"401--token-expirado-ou-inválido\"><code>401 – Token Expirado ou Inválido</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{ \"message\": \"The incoming token has expired\" }\n</code></pre>\n<hr />\n<h3 id=\"500--erro-interno\"><code>500 – Erro Interno</code></h3>\n<p>Falha inesperada no servidor.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"[detalhes internos]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["absenteismo-mes-filial"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[],"_postman_id":"38bd65e4-f7db-4a5d-a4a5-01cecaa598fd"},{"name":"infracoes-mes-filial","id":"43cf287d-14d9-418c-bf6b-affa7bba8d0f","request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{}"},"url":"https://moapi.escalamoavi.com.br/infracoes-mes-filial","description":"<h1 id=\"post-infracoes-mes-filial\"><strong>POST</strong> <code>/infracoes-mes-filial</code></h1>\n<p>Retorna <strong>contagem de infrações</strong> por <strong>mês</strong> e <strong>filial</strong>.</p>\n<hr />\n<h2 id=\"objetivo\"><strong>Objetivo</strong></h2>\n<p>Obter a contagem de infrações mensais por filial.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong> intervalo máximo de <strong>12 meses</strong> (≈ 372 dias).</p>\n</blockquote>\n<p><strong>URL</strong>: <code>https://moapi.escalamoavi.com.br/infracoes-mes-filial</code><br /><strong>Método</strong>: <code>POST</code><br /><strong>Cabeçalho</strong>: <code>moapi-token</code> obrigatório.</p>\n<hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>mes_ini</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Mês inicial (1-12).</td>\n</tr>\n<tr>\n<td><code>ano_ini</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Ano inicial (a partir de 2017).</td>\n</tr>\n<tr>\n<td><code>mes_fim</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Mês final (1-12).</td>\n</tr>\n<tr>\n<td><code>ano_fim</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Ano final (a partir de 2017).</td>\n</tr>\n<tr>\n<td><code>lista_cods_filiais</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Códigos das filiais.</td>\n</tr>\n<tr>\n<td><code>pag</code></td>\n<td><code>number</code></td>\n<td>Não</td>\n<td>Página (default <code>1</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-requisição\"><strong>Exemplo</strong> de Requisição</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2023,\n  \"mes_fim\": 2,\n  \"ano_fim\": 2023,\n  \"lista_cods_filiais\": [\"0001\", \"0005\"]\n}\n</code></pre>\n<hr />\n<h2 id=\"corpo-da-resposta\"><strong>Corpo da Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código HTTP.</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto breve.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td><code>string | null</code></td>\n<td>Detalhes.</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td><code>number | null</code></td>\n<td>Página final.</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td><code>array | null</code></td>\n<td><code>[filial_cod, ano, mes, interjornada, estouro_6x1, estouro_dom, hora_extra_2h, turno_acima_6h, intervalo_abaixo_1h]</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-resposta-200-ok\"><strong>Exemplo</strong> de Resposta <code>200 OK</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"filial_cod\", \"ano\", \"mes\", \"interjornada\", \"estouro_6x1\", \"estouro_dom\", \"hora_extra_2h\", \"turno_acima_6h\", \"intervalo_abaixo_1h\"],\n    [\"0001\", \"2023\", \"1\", \"5\", \"2\", \"0\", \"10\", \"1\", \"3\"],\n    [\"0005\", \"2023\", \"1\", \"3\", \"1\", \"1\", \"8\", \"0\", \"5\"],\n    [\"0001\", \"2023\", \"2\", \"8\", \"0\", \"0\", \"12\", \"3\", \"2\"],\n    [\"0005\", \"2023\", \"2\", \"2\", \"2\", \"0\", \"7\", \"1\", \"1\"]\n  ]\n}\n</code></pre>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400--excesso-de-dias\"><code>400 – Excesso de Dias</code></h3>\n<p>Quando o intervalo entre <code>(mes_ini, ano_ini)</code> e <code>(mes_fim, ano_fim)</code> ultrapassar <strong>12 meses (≈ 372 dias)</strong>.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2022,\n  \"mes_fim\": \"02\",\n  \"ano_fim\": 2023,\n  \"lista_cods_filiais\": [\"0001\"]\n}\n</code></pre>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla 398 dias, excedendo assim o limite deste endpoint (Doze meses cheios (372 dias))!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<blockquote>\n<p><em>O número de dias exibido na mensagem varia conforme a requisição; o exemplo acima é ilustrativo.</em></p>\n</blockquote>\n<hr />\n<h3 id=\"400--erro-de-schema\"><code>400 – Erro de Schema</code></h3>\n<p>Qualquer campo fora do esperado (mês &gt; 12, ano &lt; 2017, lista vazia ou contendo valores de tipo errado, etc.).</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[detalhes do erro de validacao]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<hr />\n<h3 id=\"401--token-expirado-ou-inválido\"><code>401 – Token Expirado ou Inválido</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{ \"message\": \"The incoming token has expired\" }\n</code></pre>\n<hr />\n<h3 id=\"500--erro-interno\"><code>500 – Erro Interno</code></h3>\n<p>Falha inesperada no servidor.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2023,\n  \"mes_fim\": 2,\n  \"ano_fim\": 2023,\n  \"lista_cods_filiais\": [\"0001\", \"0005\"]\n}\n</code></pre>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"[detalhes internos]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["infracoes-mes-filial"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[],"_postman_id":"43cf287d-14d9-418c-bf6b-affa7bba8d0f"},{"name":"infracoes-dia-cluster","id":"9c956701-3d0d-4863-a5de-ccbbca96051d","request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{}"},"url":"https://moapi.escalamoavi.com.br/infracoes-dia-cluster","description":"<h1 id=\"post-infracoes-dia-cluster\"><strong>POST</strong> <code>/infracoes-dia-cluster</code></h1>\n<p>Fornece <strong>contagens de infrações</strong> agregadas <strong>por dia</strong> e <strong>por cluster</strong>.</p>\n<hr />\n<h2 id=\"objetivo\"><strong>Objetivo</strong></h2>\n<p>Retornar a contagem diária de cada tipo de infração por cluster em determinado intervalo.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong><br />• Limite de <strong>372 dias</strong> por consulta (≈ 12 × 31).</p>\n</blockquote>\n<p><strong>URL</strong>: <code>https://moapi.escalamoavi.com.br/infracoes-dia-cluster</code><br /><strong>Método</strong>: <code>POST</code><br /><strong>Cabeçalho</strong>: <strong>obrigatório</strong> <code>moapi-token</code>.</p>\n<hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>data_ini</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data inicial no formato <code>AAAA-MM-DD</code> (2017 – 2100).</td>\n</tr>\n<tr>\n<td><code>data_fim</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data final no formato <code>AAAA-MM-DD</code> (2017 – 2100).</td>\n</tr>\n<tr>\n<td><code>lista_nomes_clusters</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Nomes de clusters. Para <strong>todos</strong>, use <code>[\"*\"]</code>. Não pode estar vazia.</td>\n</tr>\n<tr>\n<td><code>pag</code></td>\n<td><code>number</code></td>\n<td>Não</td>\n<td>Página dos resultados (default <code>1</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-requisição\"><strong>Exemplo</strong> de Requisição</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"data_ini\": \"2024-02-01\",\n  \"data_fim\": \"2024-02-15\",\n  \"lista_nomes_clusters\": [\"cluster_A\", \"cluster_B\"],\n  \"pag\": 1\n}\n</code></pre>\n<hr />\n<h2 id=\"corpo-da-resposta\"><strong>Corpo da Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código HTTP (200, 400, etc.).</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto breve sobre sucesso/falha.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td><code>string | null</code></td>\n<td>Detalhes do erro (se houver).</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td><code>number | null</code></td>\n<td>Última página disponível.</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td><code>array | null</code></td>\n<td>Lista de listas. A primeira é o cabeçalho: <code>['nome_cluster', 'data', 'interjornada', 'estouro_6x1', 'estouro_dom', 'hora_extra_2h', 'turno_acima_6h', 'intervalo_abaixo_1h']</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-resposta-200-ok\"><strong>Exemplo</strong> de Resposta <strong><code>200 OK</code></strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"nome_cluster\", \"data\", \"interjornada\", \"estouro_6x1\", \"estouro_dom\", \"hora_extra_2h\", \"turno_acima_6h\", \"intervalo_abaixo_1h\"],\n    [\"cluster_A\", \"2024-02-01\", \"5\", \"2\", \"0\", \"10\", \"1\", \"3\"],\n    [\"cluster_A\", \"2024-02-02\", \"3\", \"1\", \"0\", \"8\", \"0\", \"1\"],\n    [\"cluster_B\", \"2024-02-01\", \"0\", \"0\", \"1\", \"4\", \"2\", \"5\"]\n  ]\n}\n</code></pre>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400--excesso-de-dias\"><code>400 – Excesso de Dias</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"data_ini\": \"2023-01-01\",\n  \"data_fim\": \"2024-01-08\",\n  \"lista_nomes_clusters\": [\"*\"]\n}\n</code></pre>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla 373 dias, excedendo assim o limite deste endpoint (Doze meses cheios (372 dias))!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"400--erro-de-schema\"><code>400 – Erro de Schema</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-01-31\",\n  \"lista_nomes_clusters\": []\n}\n</code></pre>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[detalhes da validação]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"401--token-expirado\"><code>401 – Token Expirado</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{ \"message\": \"The incoming token has expired\" }\n</code></pre>\n<h3 id=\"500--erro-interno\"><code>500 – Erro Interno</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"[detalhes internos]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["infracoes-dia-cluster"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[],"_postman_id":"9c956701-3d0d-4863-a5de-ccbbca96051d"},{"name":"justificativas-mes-cluster","id":"e4dc8538-07fc-4e8f-b153-a9d537debf0e","request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{}"},"url":"https://moapi.escalamoavi.com.br/justificativas-mes-cluster","description":"<h1 id=\"post-justificativas-mes-cluster\"><strong>POST</strong> <code>/justificativas-mes-cluster</code></h1>\n<p>Devolve <strong>justificativas</strong> por <strong>mês</strong> e <strong>cluster</strong>.</p>\n<hr />\n<h2 id=\"objetivo\"><strong>Objetivo</strong></h2>\n<p>Retornar as justificativas mensais por cluster.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong> intervalo máximo de <strong>dois anos cheios</strong> (730 dias).</p>\n</blockquote>\n<p><strong>URL</strong>: <code>https://moapi.escalamoavi.com.br/justificativas-mes-cluster</code><br /><strong>Método</strong>: <code>POST</code><br /><strong>Cabeçalho</strong>: <code>moapi-token</code> obrigatório.</p>\n<hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>mes_ini</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Mês inicial <code>MM</code> ou inteiro <code>1–12</code>.</td>\n</tr>\n<tr>\n<td><code>ano_ini</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Ano inicial <code>AAAA</code> (≥ 2017).</td>\n</tr>\n<tr>\n<td><code>mes_fim</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Mês final <code>MM</code> ou inteiro <code>1–12</code>.</td>\n</tr>\n<tr>\n<td><code>ano_fim</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Ano final <code>AAAA</code> (≥ 2017).</td>\n</tr>\n<tr>\n<td><code>lista_nomes_clusters</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Nomes ou <code>[\"*\"]</code> para todos.</td>\n</tr>\n<tr>\n<td><code>pag</code></td>\n<td><code>number</code></td>\n<td>Não</td>\n<td>Página (default <code>1</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-requisição\"><strong>Exemplo</strong> de Requisição</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2022,\n  \"mes_fim\": 12,\n  \"ano_fim\": 2022,\n  \"lista_nomes_clusters\": [\"cluster_A\", \"cluster_B\"]\n}\n</code></pre>\n<hr />\n<h2 id=\"corpo-da-resposta\"><strong>Corpo da Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código HTTP.</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto de status.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td><code>string | null</code></td>\n<td>Detalhes.</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td><code>number | null</code></td>\n<td>Página final.</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td><code>array | null</code></td>\n<td><code>[nome_cluster, ano, mes, justificativas]</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-resposta-200-ok\"><strong>Exemplo</strong> de Resposta <code>200 OK</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"nome_cluster\", \"ano\", \"mes\", \"justificativas\"],\n    [\"cluster_A\", \"2022\", \"4\", \"Manutencao programada na regiao\"],\n    [\"cluster_A\", \"2022\", \"5\", \"Feriado prolongado impactou a leitura\"]\n  ]\n}\n</code></pre>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400--excesso-de-dias\"><code>400 – Excesso de Dias</code></h3>\n<p>Quando o intervalo entre <code>(mes_ini, ano_ini)</code> e <code>(mes_fim, ano_fim)</code> excede <strong>730 dias</strong>.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2020,\n  \"mes_fim\": \"02\",\n  \"ano_fim\": 2022,\n  \"lista_nomes_clusters\": [\"cluster_A\"]\n}\n</code></pre>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla 762 dias, excedendo assim o limite deste endpoint (Dois anos cheios (730 dias))!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"400--erro-de-schema\"><code>400 – Erro de Schema</code></h3>\n<p>Violação de formato, valor fora de faixa (mês &gt; 12, ano &lt; 2017), lista vazia, item duplicado, etc.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"mes_ini\": \"1\",\n  \"ano_ini\": 2023,\n  \"mes_fim\": \"13\",\n  \"ano_fim\": 2023,\n  \"lista_nomes_clusters\": [\"cluster_A\", \"cluster_A\"]\n}\n</code></pre>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[{\\\"validation\\\":\\\"pattern\\\",\\\"code\\\":\\\"invalid_string\\\",\\\"message\\\":\\\"Invalid string value. Expected a value matching the pattern /^(0[1-9]|1[0-2])$/\\\",\\\"path\\\":[\\\"mes_fim\\\"]},{\\\"validation\\\":\\\"uniqueItems\\\",\\\"code\\\":\\\"not_unique\\\",\\\"message\\\":\\\"Array must not contain duplicate elements\\\",\\\"path\\\":[\\\"lista_nomes_clusters\\\"]}]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"401--token-expirado-ou-inválido\"><code>401 – Token Expirado ou Inválido</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2023,\n  \"mes_fim\": \"01\",\n  \"ano_fim\": 2023,\n  \"lista_nomes_clusters\": [\"cluster_C\"]\n}\n</code></pre>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"message\": \"The incoming token has expired\"\n}\n</code></pre>\n<h3 id=\"500--erro-interno\"><code>500 – Erro Interno</code></h3>\n<p>Falha inesperada no servidor.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2023,\n  \"mes_fim\": \"03\",\n  \"ano_fim\": 2023,\n  \"lista_nomes_clusters\": [\"*\"]\n}\n</code></pre>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"Falha na conexao com o banco de dados.\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["justificativas-mes-cluster"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[],"_postman_id":"e4dc8538-07fc-4e8f-b153-a9d537debf0e"},{"name":"esquecimentos-mes-cluster","id":"5f23a365-c5f2-423b-8ffa-f1165df5362c","request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{}"},"url":"https://moapi.escalamoavi.com.br/esquecimentos-mes-cluster","description":"<h1 id=\"post-esquecimentos-mes-cluster\"><strong>POST</strong> <code>/esquecimentos-mes-cluster</code></h1>\n<p>Devolve <strong>esquecimentos</strong> por <strong>mês</strong> e <strong>cluster</strong>.</p>\n<hr />\n<h2 id=\"objetivo\"><strong>Objetivo</strong></h2>\n<p>Retornar a contagem de esquecimentos mensal por cluster.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong> intervalo máximo de <strong>dois anos cheios</strong> (730 dias).</p>\n</blockquote>\n<p><strong>URL</strong>: <code>https://moapi.escalamoavi.com.br/esquecimentos-mes-cluster</code><br /><strong>Método</strong>: <code>POST</code><br /><strong>Cabeçalho</strong>: <code>moapi-token</code> obrigatório.</p>\n<hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>mes_ini</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Mês inicial <code>MM</code> ou inteiro <code>1–12</code>.</td>\n</tr>\n<tr>\n<td><code>ano_ini</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Ano inicial <code>AAAA</code> (≥ 2017).</td>\n</tr>\n<tr>\n<td><code>mes_fim</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Mês final <code>MM</code> ou inteiro <code>1–12</code>.</td>\n</tr>\n<tr>\n<td><code>ano_fim</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Ano final <code>AAAA</code> (≥ 2017).</td>\n</tr>\n<tr>\n<td><code>lista_nomes_clusters</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Nomes ou <code>[\"*\"]</code> para todos.</td>\n</tr>\n<tr>\n<td><code>pag</code></td>\n<td><code>number</code></td>\n<td>Não</td>\n<td>Página (default <code>1</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-requisição\"><strong>Exemplo</strong> de Requisição</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2023,\n  \"mes_fim\": 12,\n  \"ano_fim\": 2023,\n  \"lista_nomes_clusters\": [\"cluster_A\", \"cluster_B\"]\n}\n</code></pre>\n<hr />\n<h2 id=\"corpo-da-resposta\"><strong>Corpo da Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código HTTP.</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto de status.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td><code>string | null</code></td>\n<td>Detalhes.</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td><code>number | null</code></td>\n<td>Página final.</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td><code>array | null</code></td>\n<td><code>[nome_cluster, ano, mes, esquecimentos]</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-resposta-200-ok\"><strong>Exemplo</strong> de Resposta <code>200 OK</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"nome_cluster\", \"ano\", \"mes\", \"esquecimentos\"],\n    [\"cluster_A\", \"2023\", \"1\", \"15\"],\n    [\"cluster_A\", \"2023\", \"2\", \"22\"],\n    [\"cluster_B\", \"2023\", \"1\", \"8\"]\n  ]\n}\n</code></pre>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400--excesso-de-dias\"><code>400 – Excesso de Dias</code></h3>\n<p>Quando o intervalo entre <code>(mes_ini, ano_ini)</code> e <code>(mes_fim, ano_fim)</code> excede <strong>730 dias</strong>.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla 762 dias, excedendo assim o limite deste endpoint (Dois anos cheios (730 dias))!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"400--erro-de-schema\"><code>400 – Erro de Schema</code></h3>\n<p>Violação de formato, valor fora de faixa (mês &gt; 12, ano &lt; 2017), lista vazia, item duplicado, etc.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[detalhes do erro de validacao]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"401--token-expirado-ou-inválido\"><code>401 – Token Expirado ou Inválido</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"message\": \"The incoming token has expired\"\n}\n</code></pre>\n<h3 id=\"500--erro-interno\"><code>500 – Erro Interno</code></h3>\n<p>Falha inesperada no servidor.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"[detalhes internos]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["esquecimentos-mes-cluster"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[],"_postman_id":"5f23a365-c5f2-423b-8ffa-f1165df5362c"},{"name":"infracoes-dia-colaborador","id":"1fded1e0-66b9-4212-b4b8-bc02c7d8811e","request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{}"},"url":"https://moapi.escalamoavi.com.br/infracoes-dia-colaborador","description":"<h1 id=\"post-infracoes-dia-colaborador\"><strong>POST</strong> <code>/infracoes-dia-colaborador</code></h1>\n<p>Retorna <strong>infrações</strong> (quantidade) <strong>por dia</strong> e <strong>por colaborador</strong>.</p>\n<hr />\n<h2 id=\"objetivo\"><strong>Objetivo</strong></h2>\n<p>Obter o número de infrações diárias para cada matrícula solicitada.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong><br />• Limite fixo: <strong>10 dias corridos</strong>.<br />• Lista <code>[\"*\"]</code> devolve todos os colaboradores.</p>\n</blockquote>\n<p><strong>URL</strong>: <code>https://moapi.escalamoavi.com.br/infracoes-dia-colaborador</code><br /><strong>Método</strong>: <code>POST</code><br /><strong>Cabeçalho</strong>: <code>moapi-token</code> <strong>obrigatório</strong>.</p>\n<hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>data_ini</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data inicial <code>AAAA-MM-DD</code>.</td>\n</tr>\n<tr>\n<td><code>data_fim</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data final <code>AAAA-MM-DD</code>.</td>\n</tr>\n<tr>\n<td><code>lista_matriculas_colaboradores</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Matrículas desejadas ou <code>[\"*\"]</code> para todas.</td>\n</tr>\n<tr>\n<td><code>pag</code></td>\n<td><code>number</code></td>\n<td>Não</td>\n<td>Página dos resultados (default <code>1</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-requisição\"><strong>Exemplo</strong> de Requisição</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"data_ini\": \"2024-02-01\",\n  \"data_fim\": \"2024-02-09\",\n  \"lista_matriculas_colaboradores\": [\"matr456\", \"matrABC\"]\n}\n</code></pre>\n<hr />\n<h2 id=\"corpo-da-resposta\"><strong>Corpo da Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código HTTP.</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto de status.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td><code>string | null</code></td>\n<td>Detalhes do erro.</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td><code>number | null</code></td>\n<td>Página final.</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td><code>array | null</code></td>\n<td>Array de resultados. O cabeçalho é <code>['matricula', 'data', 'interjornada', 'estouro_6x1', 'estouro_dom', 'hora_extra_2h', 'turno_acima_6h', 'intervalo_abaixo_1h']</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-resposta-200-ok\"><strong>Exemplo</strong> de Resposta <strong><code>200 OK</code></strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"matricula\", \"data\", \"interjornada\", \"estouro_6x1\", \"estouro_dom\", \"hora_extra_2h\", \"turno_acima_6h\", \"intervalo_abaixo_1h\"],\n    [\"matr456\", \"2024-02-01\", \"0\", \"1\", \"0\", \"0\", \"0\", \"0\"],\n    [\"matr456\", \"2024-02-02\", \"1\", \"0\", \"0\", \"0\", \"0\", \"0\"],\n    [\"matrABC\", \"2024-02-01\", \"0\", \"0\", \"0\", \"0\", \"0\", \"0\"]\n  ]\n}\n</code></pre>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400--excesso-de-dias\"><code>400 – Excesso de Dias</code></h3>\n<p>Se o intervalo entre <code>data_ini</code> e <code>data_fim</code> exceder o limite de <strong>10 dias corridos</strong>.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla 15 dias, excedendo assim o limite deste endpoint (Dez dias corridos (10 dias))!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"400--erro-de-schema\"><code>400 – Erro de Schema</code></h3>\n<p>Algum campo fora do esperado (formato de data inválido, lista vazia, item numérico em vez de string etc.).</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[instance type (integer) does not match any allowed primitive type (allowed: [\\\"string\\\"])]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"401--token-expirado-ou-inválido\"><code>401 – Token Expirado ou Inválido</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{ \"message\": \"The incoming token has expired\" }\n</code></pre>\n<h3 id=\"500--erro-interno\"><code>500 – Erro Interno</code></h3>\n<p>Falha inesperada no servidor.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"[detalhes internos]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["infracoes-dia-colaborador"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[],"_postman_id":"1fded1e0-66b9-4212-b4b8-bc02c7d8811e"},{"name":"esquecimentos-mes-filial","id":"5594faef-49df-4ecc-a120-2abf6436bb83","request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{}"},"url":"https://moapi.escalamoavi.com.br/esquecimentos-mes-filial","description":"<h1 id=\"post-esquecimentos-mes-filial\"><strong>POST</strong> <code>/esquecimentos-mes-filial</code></h1>\n<p>Retorna <strong>esquecimentos</strong> por <strong>mês</strong> e <strong>filial</strong>.</p>\n<hr />\n<h2 id=\"objetivo\"><strong>Objetivo</strong></h2>\n<p>Obter os esquecimentos mensais por filial.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong> intervalo máximo de <strong>12 meses</strong> (≈ 372 dias).</p>\n</blockquote>\n<p><strong>URL</strong>: <code>https://moapi.escalamoavi.com.br/esquecimentos-mes-filial</code><br /><strong>Método</strong>: <code>POST</code><br /><strong>Cabeçalho</strong>: <code>moapi-token</code> obrigatório.</p>\n<hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>mes_ini</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Mês inicial.</td>\n</tr>\n<tr>\n<td><code>ano_ini</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Ano inicial.</td>\n</tr>\n<tr>\n<td><code>mes_fim</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Mês final.</td>\n</tr>\n<tr>\n<td><code>ano_fim</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Ano final.</td>\n</tr>\n<tr>\n<td><code>lista_cods_filiais</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Códigos ou <code>[\"*\"]</code>.</td>\n</tr>\n<tr>\n<td><code>pag</code></td>\n<td><code>number</code></td>\n<td>Não</td>\n<td>Página (default <code>1</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-requisição\"><strong>Exemplo</strong> de Requisição</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2023,\n  \"mes_fim\": 12,\n  \"ano_fim\": 2023,\n  \"lista_cods_filiais\": [\"0001\", \"0005\"]\n}\n</code></pre>\n<hr />\n<h2 id=\"corpo-da-resposta\"><strong>Corpo da Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código HTTP.</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto breve.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td><code>string | null</code></td>\n<td>Detalhes.</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td><code>number | null</code></td>\n<td>Página final.</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td><code>array | null</code></td>\n<td><code>[filial_cod, ano, mes, esquecimentos]</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-resposta-200-ok\"><strong>Exemplo</strong> de Resposta <code>200 OK</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"filial_cod\", \"ano\", \"mes\", \"esquecimentos\"],\n    [\"0001\", \"2023\", \"1\", \"15\"],\n    [\"0005\", \"2023\", \"1\", \"8\"]\n  ]\n}\n</code></pre>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400--excesso-de-dias\"><code>400 – Excesso de Dias</code></h3>\n<p>Quando o intervalo entre <code>(mes_ini, ano_ini)</code> e <code>(mes_fim, ano_fim)</code> ultrapassar <strong>12 meses (≈ 372 dias)</strong>.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla 398 dias, excedendo assim o limite deste endpoint (Doze meses cheios (372 dias))!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<blockquote>\n<p><em>O número de dias exibido na mensagem varia conforme a requisição; o exemplo acima é ilustrativo.</em></p>\n</blockquote>\n<hr />\n<h3 id=\"400--erro-de-schema\"><code>400 – Erro de Schema</code></h3>\n<p>Qualquer campo fora do esperado (mês &gt; 12, ano &lt; 2017, lista vazia ou contendo valores de tipo errado, etc.).</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[detalhes do erro de validacao]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<hr />\n<h3 id=\"401--token-expirado-ou-inválido\"><code>401 – Token Expirado ou Inválido</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{ \"message\": \"The incoming token has expired\" }\n</code></pre>\n<hr />\n<h3 id=\"500--erro-interno\"><code>500 – Erro Interno</code></h3>\n<p>Falha inesperada no servidor.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"[detalhes internos]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["esquecimentos-mes-filial"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[],"_postman_id":"5594faef-49df-4ecc-a120-2abf6436bb83"},{"name":"absenteismo-mes-cluster","id":"d90821ed-2862-4755-b527-7e7be94399d6","request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{}"},"url":"https://moapi.escalamoavi.com.br/absenteismo-mes-cluster","description":"<h1 id=\"post-absenteismo-mes-cluster\"><strong>POST</strong> <code>/absenteismo-mes-cluster</code></h1>\n<p>Devolve o <strong>absenteísmo</strong> por <strong>mês</strong> e <strong>cluster</strong>.</p>\n<hr />\n<h2 id=\"objetivo\"><strong>Objetivo</strong></h2>\n<p>Retornar o absenteísmo mensal por cluster.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong> intervalo máximo de <strong>dois anos cheios (730 dias)</strong>.</p>\n</blockquote>\n<p><strong>URL</strong>: <code>https://moapi.escalamoavi.com.br/absenteismo-mes-cluster</code><br /><strong>Método</strong>: <code>POST</code><br /><strong>Cabeçalho</strong>: <code>moapi-token</code> obrigatório.</p>\n<hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>mes_ini</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Mês inicial <code>MM</code> ou inteiro <code>1–12</code>.</td>\n</tr>\n<tr>\n<td><code>ano_ini</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Ano inicial <code>AAAA</code> (≥ 2017).</td>\n</tr>\n<tr>\n<td><code>mes_fim</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Mês final <code>MM</code> ou inteiro <code>1–12</code>.</td>\n</tr>\n<tr>\n<td><code>ano_fim</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Ano final <code>AAAA</code> (≥ 2017).</td>\n</tr>\n<tr>\n<td><code>lista_nomes_clusters</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Nomes ou <code>[\"*\"]</code> para todos.</td>\n</tr>\n<tr>\n<td><code>pag</code></td>\n<td><code>number</code></td>\n<td>Não</td>\n<td>Página (default <code>1</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-requisição\"><strong>Exemplo</strong> de Requisição</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2023,\n  \"mes_fim\": 12,\n  \"ano_fim\": 2023,\n  \"lista_nomes_clusters\": [\"cluster_alfa\", \"cluster_beta\"]\n}\n</code></pre>\n<hr />\n<h2 id=\"corpo-da-resposta\"><strong>Corpo da Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código HTTP.</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto de status.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td><code>string | null</code></td>\n<td>Detalhes.</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td><code>number | null</code></td>\n<td>Página final.</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td><code>array | null</code></td>\n<td><code>[nome_cluster, ano, mes, absenteismo]</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-resposta-200-ok\"><strong>Exemplo</strong> de Resposta <code>200 OK</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"nome_cluster\", \"ano\", \"mes\", \"absenteismo\"],\n    [\"cluster_alfa\", \"2023\", \"1\", \"0.0455\"],\n    [\"cluster_alfa\", \"2023\", \"2\", \"0.0480\"],\n    [\"cluster_beta\", \"2023\", \"1\", \"0.0510\"],\n    [\"cluster_beta\", \"2023\", \"2\", \"0.0523\"]\n  ]\n}\n</code></pre>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400--excesso-de-dias\"><code>400 – Excesso de Dias</code></h3>\n<p>Quando o intervalo entre <code>(mes_ini, ano_ini)</code> e <code>(mes_fim, ano_fim)</code> excede <strong>730 dias</strong>.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla 762 dias, excedendo assim o limite deste endpoint (Dois anos cheios (730 dias))!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"400--erro-de-schema\"><code>400 – Erro de Schema</code></h3>\n<p>Violação de formato, valor fora de faixa (mês &gt; 12, ano &lt; 2017), lista vazia, item duplicado, etc.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[{\\\"validation\\\":\\\"regex\\\",\\\"code\\\":\\\"invalid_string\\\",\\\"message\\\":\\\"String does not match pattern: ^(201[7-9]|20[2-9][0-9]|21[01][0-7])$\\\",\\\"path\\\":[\\\"ano_ini\\\"]}]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"401--token-expirado-ou-inválido\"><code>401 – Token Expirado ou Inválido</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{ \"message\": \"The incoming token has expired\" }\n</code></pre>\n<h3 id=\"500--erro-interno\"><code>500 – Erro Interno</code></h3>\n<p>Falha inesperada no servidor.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"Ocorreu um erro interno ao consultar os dados de absenteísmo.\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["absenteismo-mes-cluster"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[],"_postman_id":"d90821ed-2862-4755-b527-7e7be94399d6"},{"name":"justificativas-dia-colaborador","id":"eba287d0-5a2d-4009-b7f7-819d36def2e1","request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{}"},"url":"https://moapi.escalamoavi.com.br/justificativas-dia-colaborador","description":"<h1 id=\"post-justificativas-dia-colaborador\"><strong>POST</strong> <code>/justificativas-dia-colaborador</code></h1>\n<p>Retorna <strong>justificativas</strong> (quantidade) <strong>por dia</strong> e <strong>por colaborador</strong>.</p>\n<hr />\n<h2 id=\"objetivo\"><strong>Objetivo</strong></h2>\n<p>Obter o número de justificativas diárias para cada matrícula solicitada.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong><br />• Limite: <strong>10 dias corridos</strong>.<br />• Lista <code>[\"*\"]</code> devolve todos os colaboradores.</p>\n</blockquote>\n<p><strong>URL</strong>: <code>https://moapi.escalamoavi.com.br/justificativas-dia-colaborador</code><br /><strong>Método</strong>: <code>POST</code><br /><strong>Cabeçalho</strong>: <code>moapi-token</code> <strong>obrigatório</strong>.</p>\n<hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>data_ini</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data inicial <code>AAAA-MM-DD</code>.</td>\n</tr>\n<tr>\n<td><code>data_fim</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data final <code>AAAA-MM-DD</code>.</td>\n</tr>\n<tr>\n<td><code>lista_matriculas_colaboradores</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Matrículas desejadas ou <code>[\"*\"]</code> para todas.</td>\n</tr>\n<tr>\n<td><code>pag</code></td>\n<td><code>number</code></td>\n<td>Não</td>\n<td>Página dos resultados (default <code>1</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-requisição\"><strong>Exemplo</strong> de Requisição</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"data_ini\": \"2024-03-01\",\n  \"data_fim\": \"2024-03-08\",\n  \"lista_matriculas_colaboradores\": [\"matr456\", \"matrABC\"]\n}\n</code></pre>\n<hr />\n<h2 id=\"corpo-da-resposta\"><strong>Corpo da Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código HTTP.</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto de status.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td><code>string | null</code></td>\n<td>Detalhes do erro.</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td><code>number | null</code></td>\n<td>Página final.</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td><code>array | null</code></td>\n<td><code>[matricula, data, n_justificativas]</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-resposta-200-ok\"><strong>Exemplo</strong> de Resposta <strong><code>200 OK</code></strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"matricula\", \"data\", \"justificativas\"],\n    [\"matr456\", \"2024-03-01\", \"1\"],\n    [\"matr456\", \"2024-03-02\", \"0\"],\n    [\"matrABC\", \"2024-03-01\", \"1\"]\n  ]\n}\n</code></pre>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400--excesso-de-dias\"><code>400 – Excesso de Dias</code></h3>\n<p>Se o intervalo entre <code>data_ini</code> e <code>data_fim</code> exceder o limite de <strong>10 dias corridos</strong>.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla 15 dias, excedendo assim o limite deste endpoint (Dez dias corridos (10 dias))!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"400--erro-de-schema\"><code>400 – Erro de Schema</code></h3>\n<p>Algum campo fora do esperado (formato de data inválido, lista vazia, item numérico em vez de string etc.).</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[instance.lista_matriculas_colaboradores[0] is not of a type(s) string]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"401--token-expirado-ou-inválido\"><code>401 – Token Expirado ou Inválido</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{ \"message\": \"The incoming token has expired\" }\n</code></pre>\n<h3 id=\"500--erro-interno\"><code>500 – Erro Interno</code></h3>\n<p>Falha inesperada no servidor.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"[detalhes internos]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["justificativas-dia-colaborador"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[],"_postman_id":"eba287d0-5a2d-4009-b7f7-819d36def2e1"},{"name":"esquecimentos-mes-colaborador","id":"aa00005a-bddc-4c44-982a-7b3cbc628f7f","request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{}"},"url":"https://moapi.escalamoavi.com.br/esquecimentos-mes-colaborador","description":"<h1 id=\"post-esquecimentos-mes-colaborador\"><strong>POST</strong> <code>/esquecimentos-mes-colaborador</code></h1>\n<p>Retorna a quantidade de <strong>esquecimentos</strong> por <strong>mês</strong> e <strong>colaborador</strong>.</p>\n<hr />\n<h2 id=\"objetivo\"><strong>Objetivo</strong></h2>\n<p>Consultar a quantidade de esquecimentos mensais por matrícula.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong> limite: <strong>Um mês cheio (31 dias)</strong>.</p>\n</blockquote>\n<p><strong>URL</strong>: <code>https://moapi.escalamoavi.com.br/esquecimentos-mes-colaborador</code><br /><strong>Método</strong>: <code>POST</code><br /><strong>Cabeçalho</strong>: <code>moapi-token</code> obrigatório.</p>\n<hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>mes_ini</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Mês inicial <code>MM</code> ou <code>1–12</code>.</td>\n</tr>\n<tr>\n<td><code>ano_ini</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Ano inicial ≥ 2017.</td>\n</tr>\n<tr>\n<td><code>mes_fim</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Mês final.</td>\n</tr>\n<tr>\n<td><code>ano_fim</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Ano final.</td>\n</tr>\n<tr>\n<td><code>lista_matriculas_colaboradores</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Matrículas ou <code>[\"*\"]</code>.</td>\n</tr>\n<tr>\n<td><code>pag</code></td>\n<td><code>number</code></td>\n<td>Não</td>\n<td>Página (default <code>1</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-requisição\"><strong>Exemplo</strong> de Requisição</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"mes_ini\": 5,\n  \"ano_ini\": 2024,\n  \"mes_fim\": 5,\n  \"ano_fim\": 2024,\n  \"lista_matriculas_colaboradores\": [\"matr456\"]\n}\n</code></pre>\n<hr />\n<h2 id=\"corpo-da-resposta\"><strong>Corpo da Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código HTTP.</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto de status.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td><code>string | null</code></td>\n<td>Detalhes.</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td><code>number | null</code></td>\n<td>Página final.</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td><code>array | null</code></td>\n<td><code>[matricula, ano, mes, n_esquecimentos]</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-resposta-200-ok\"><strong>Exemplo</strong> de Resposta <code>200 OK</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"matricula\", \"ano\", \"mes\", \"esquecimentos\"],\n    [\"matr456\", \"2024\", \"5\", \"2\"]\n  ]\n}\n</code></pre>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400--excesso-de-dias\"><code>400 – Excesso de Dias</code></h3>\n<p>Quando o intervalo entre <code>(mes_ini, ano_ini)</code> e <code>(mes_fim, ano_fim)</code> resulta em <strong>mais de 31 dias equivalentes</strong>.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"mes_ini\": 1,\n  \"ano_ini\": 2024,\n  \"mes_fim\": 3,\n  \"ano_fim\": 2024,\n  \"lista_matriculas_colaboradores\": [\"matr456\"]\n}\n</code></pre>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla 91 dias, excedendo assim o limite desta requisicao (Um mês cheio (31 dias))!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<hr />\n<h3 id=\"400--erro-de-schema\"><code>400 – Erro de Schema</code></h3>\n<p>Campo fora do padrão, valor fora da faixa permitida (mês <code>&gt; 12</code>, ano <code>&lt; 2017</code>, lista vazia, item não-string, duplicado etc.).</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"mes_ini\": 1,\n  \"ano_ini\": 2024,\n  \"mes_fim\": 1,\n  \"ano_fim\": 2024,\n  \"lista_matriculas_colaboradores\": []\n}\n</code></pre>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[detalhes do erro de validacao]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<hr />\n<h3 id=\"401--token-expirado-ou-inválido\"><code>401 – Token Expirado ou Inválido</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{ \"message\": \"The incoming token has expired\" }\n</code></pre>\n<hr />\n<h3 id=\"500--erro-interno\"><code>500 – Erro Interno</code></h3>\n<p>Falha inesperada no servidor.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"mes_ini\": 5,\n  \"ano_ini\": 2024,\n  \"mes_fim\": 5,\n  \"ano_fim\": 2024,\n  \"lista_matriculas_colaboradores\": [\"matr456\"]\n}\n</code></pre>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"[detalhes internos]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["esquecimentos-mes-colaborador"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[],"_postman_id":"aa00005a-bddc-4c44-982a-7b3cbc628f7f"},{"name":"carga-trab-dia-filial","id":"d1de396b-aeae-46e1-804f-e63aa6790057","request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{}"},"url":"https://moapi.escalamoavi.com.br/carga-trab-dia-filial","description":"<h1 id=\"post-carga-trab-dia-filial\"><strong>POST</strong> <code>/carga-trab-dia-filial</code></h1>\n<p>Fornece a <strong>carga de trabalho</strong> por <strong>dia</strong> e <strong>filial</strong>.</p>\n<hr />\n<h2 id=\"objetivo\"><strong>Objetivo</strong></h2>\n<p>Retornar a carga de trabalho diária por filial dentro de um período.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong> limite de <strong>62 dias</strong> por consulta.</p>\n</blockquote>\n<p><strong>URL</strong>: <code>https://moapi.escalamoavi.com.br/carga-trab-dia-filial</code><br /><strong>Método</strong>: <code>POST</code><br /><strong>Cabeçalho</strong>: <code>moapi-token</code> obrigatório.</p>\n<hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>data_ini</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data inicial <code>AAAA-MM-DD</code>.</td>\n</tr>\n<tr>\n<td><code>data_fim</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data final <code>AAAA-MM-DD</code>.</td>\n</tr>\n<tr>\n<td><code>lista_cods_filiais</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Códigos de filial. Pelo menos um deve ser fornecido.</td>\n</tr>\n<tr>\n<td><code>pag</code></td>\n<td><code>number</code></td>\n<td>Não</td>\n<td>Página (default <code>1</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-requisição\"><strong>Exemplo</strong> de Requisição</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"data_ini\": \"2024-05-01\",\n  \"data_fim\": \"2024-05-31\",\n  \"lista_cods_filiais\": [\"0001\", \"0002\"]\n}\n</code></pre>\n<hr />\n<h2 id=\"corpo-da-resposta\"><strong>Corpo da Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código HTTP.</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto curto.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td><code>string | null</code></td>\n<td>Detalhes.</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td><code>number | null</code></td>\n<td>Última página.</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td><code>array | null</code></td>\n<td><code>[filial_cod, data, carga_trabalho]</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-resposta-200-ok\"><strong>Exemplo</strong> de Resposta <code>200 OK</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"filial_cod\", \"data\", \"carga_trabalho\"],\n    [\"0001\", \"2024-05-15\", \"8.5\"],\n    [\"0002\", \"2024-05-15\", \"12.0\"]\n  ]\n}\n</code></pre>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400--excesso-de-dias\"><code>400 – Excesso de Dias</code></h3>\n<p>Quando o intervalo entre <code>data_ini</code> e <code>data_fim</code> ultrapassa <strong>62 dias</strong>.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla 92 dias, excedendo assim o limite deste endpoint (Dois meses cheios (62 dias))!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"400--erro-de-schema\"><code>400 – Erro de Schema</code></h3>\n<p>Qualquer violação de formato ou regra de validação (data inválida, lista vazia, item numérico onde devia ser string etc.).</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[detalhes do erro de validacao]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"401--token-expirado-ou-inválido\"><code>401 – Token Expirado ou Inválido</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"message\": \"The incoming token has expired\"\n}\n</code></pre>\n<h3 id=\"500--erro-interno\"><code>500 – Erro Interno</code></h3>\n<p>Falha inesperada no servidor.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"[detalhes internos]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["carga-trab-dia-filial"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[],"_postman_id":"d1de396b-aeae-46e1-804f-e63aa6790057"},{"name":"absenteismo-dia-cluster","id":"dc8372d5-ca42-488a-b294-b9b6cec5a4fa","request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{}"},"url":"https://moapi.escalamoavi.com.br/absenteismo-dia-cluster","description":"<h1 id=\"post-absenteismo-dia-cluster\"><strong>POST</strong> <code>/absenteismo-dia-cluster</code></h1>\n<p>Fornece <strong>taxas de absenteísmo</strong> agregadas <strong>por dia</strong> e <strong>por cluster</strong>.</p>\n<hr />\n<h2 id=\"objetivo\"><strong>Objetivo</strong></h2>\n<p>Retornar a taxa de absenteísmo diária de cada cluster em determinado intervalo.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong><br />• Limite de <strong>372 dias</strong> por consulta (≈ 12 × 31).<br />• Valores devolvidos como <em>fração</em> (ex.: <code>0.123</code> → 12,3 %).  </p>\n</blockquote>\n<p><strong>URL</strong>: <code>https://moapi.escalamoavi.com.br/absenteismo-dia-cluster</code><br /><strong>Método</strong>: <code>POST</code><br /><strong>Cabeçalho</strong>: <strong>obrigatório</strong> <code>moapi-token</code>.</p>\n<hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>data_ini</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data inicial no formato <code>AAAA-MM-DD</code> (2017 – 2100).</td>\n</tr>\n<tr>\n<td><code>data_fim</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data final no formato <code>AAAA-MM-DD</code> (2017 – 2100).</td>\n</tr>\n<tr>\n<td><code>lista_nomes_clusters</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Nomes de clusters. Para <strong>todos</strong>, use <code>[\"*\"]</code>. Não pode estar vazia.</td>\n</tr>\n<tr>\n<td><code>pag</code></td>\n<td><code>number</code></td>\n<td>Não</td>\n<td>Página dos resultados (default <code>1</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-requisição\"><strong>Exemplo</strong> de Requisição</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-03-31\",\n  \"lista_nomes_clusters\": [\"cluster_A\", \"cluster_B\"],\n  \"pag\": 1\n}\n</code></pre>\n<hr />\n<h2 id=\"corpo-da-resposta\"><strong>Corpo da Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código HTTP (200, 400, etc.).</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto breve sobre sucesso/falha.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td><code>string | null</code></td>\n<td>Detalhes do erro (se houver).</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td><code>number | null</code></td>\n<td>Última página disponível.</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td><code>array | null</code></td>\n<td>Lista de listas: <code>[cluster, data, absenteismo]</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-resposta-200-ok\"><strong>Exemplo</strong> de Resposta <strong><code>200 OK</code></strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"nome_cluster\", \"data\", \"absenteismo\"],\n    [\"cluster_A\", \"2024-01-01\", \"0.0450\"],\n    [\"cluster_A\", \"2024-01-02\", \"0.0512\"],\n    [\"cluster_B\", \"2024-01-01\", \"0.0398\"]\n  ]\n}\n</code></pre>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400--excesso-de-dias\"><code>400 – Excesso de Dias</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla 373 dias, excedendo assim o limite deste endpoint (Doze meses cheios (372 dias))!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"400--erro-de-schema\"><code>400 – Erro de Schema</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[detalhes da validação]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"401--token-expirado\"><code>401 – Token Expirado</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"The incoming token has expired\"\n}\n</code></pre>\n<h3 id=\"500--erro-interno\"><code>500 – Erro Interno</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"[detalhes internos]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["absenteismo-dia-cluster"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[],"_postman_id":"dc8372d5-ca42-488a-b294-b9b6cec5a4fa"},{"name":"esquecimentos-dia-cluster","id":"8ce07a43-8db8-4a79-8000-ba49dda7f8de","request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{}"},"url":"https://moapi.escalamoavi.com.br/esquecimentos-dia-cluster","description":"<h1 id=\"post-esquecimentos-dia-cluster\"><strong>POST</strong> <code>/esquecimentos-dia-cluster</code></h1>\n<p>Fornece <strong>esquecimentos</strong> agregados <strong>por dia</strong> e <strong>por cluster</strong>.</p>\n<hr />\n<h2 id=\"objetivo\"><strong>Objetivo</strong></h2>\n<p>Retornar a contagem de esquecimentos diários de cada cluster em determinado intervalo.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong><br />• Limite de <strong>372 dias</strong> por consulta (≈ 12 × 31).  </p>\n</blockquote>\n<p><strong>URL</strong>: <code>https://moapi.escalamoavi.com.br/esquecimentos-dia-cluster</code><br /><strong>Método</strong>: <code>POST</code><br /><strong>Cabeçalho</strong>: <strong>obrigatório</strong> <code>moapi-token</code>.</p>\n<hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>data_ini</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data inicial no formato <code>AAAA-MM-DD</code> (2017 – 2100).</td>\n</tr>\n<tr>\n<td><code>data_fim</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data final no formato <code>AAAA-MM-DD</code> (2017 – 2100).</td>\n</tr>\n<tr>\n<td><code>lista_nomes_clusters</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Nomes de clusters. Para <strong>todos</strong>, use <code>[\"*\"]</code>. Não pode estar vazia.</td>\n</tr>\n<tr>\n<td><code>pag</code></td>\n<td><code>number</code></td>\n<td>Não</td>\n<td>Página dos resultados (default <code>1</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-requisição\"><strong>Exemplo</strong> de Requisição</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-03-31\",\n  \"lista_nomes_clusters\": [\"cluster_alpha\", \"cluster_beta\"],\n  \"pag\": 1\n}\n</code></pre>\n<hr />\n<h2 id=\"corpo-da-resposta\"><strong>Corpo da Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código HTTP (200, 400, etc.).</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto breve sobre sucesso/falha.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td><code>string | null</code></td>\n<td>Detalhes do erro (se houver).</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td><code>number | null</code></td>\n<td>Última página disponível.</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td><code>array | null</code></td>\n<td>Lista de listas: <code>[cluster, data, esquecimentos]</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-resposta-200-ok\"><strong>Exemplo</strong> de Resposta <strong><code>200 OK</code></strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"nome_cluster\", \"data\", \"esquecimentos\"],\n    [\"cluster_alpha\", \"2024-01-01\", \"5\"],\n    [\"cluster_alpha\", \"2024-01-02\", \"8\"],\n    [\"cluster_beta\", \"2024-01-01\", \"12\"]\n  ]\n}\n</code></pre>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400--excesso-de-dias\"><code>400 – Excesso de Dias</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla 373 dias, excedendo assim o limite deste endpoint (Doze meses cheios (372 dias))!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"400--erro-de-schema\"><code>400 – Erro de Schema</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[{\\\"validation\\\":\\\"minItems\\\",\\\"code\\\":\\\"min_items\\\",\\\"message\\\":\\\"Array must have at least 1 item\\\",\\\"path\\\":[\\\"lista_nomes_clusters\\\"]}]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"401--token-expirado\"><code>401 – Token Expirado</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{ \"message\": \"The incoming token has expired\" }\n</code></pre>\n<h3 id=\"500--erro-interno\"><code>500 – Erro Interno</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"An internal server error occurred.\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["esquecimentos-dia-cluster"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[],"_postman_id":"8ce07a43-8db8-4a79-8000-ba49dda7f8de"},{"name":"absenteismo-dia-colaborador","id":"7601b8d4-23da-41dc-af84-8c4fcdb9cb6b","request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{}"},"url":"https://moapi.escalamoavi.com.br/absenteismo-dia-colaborador","description":"<h1 id=\"post-absenteismo-dia-colaborador\"><strong>POST</strong> <code>/absenteismo-dia-colaborador</code></h1>\n<p>Retorna o <strong>status de absenteísmo</strong> (ex: 'Presente', 'Falta Injustificada') <strong>por dia</strong> e <strong>por colaborador</strong>.</p>\n<hr />\n<h2 id=\"objetivo\"><strong>Objetivo</strong></h2>\n<p>Obter o status de absenteísmo diário para cada matrícula solicitada.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong><br />• Limite de <strong>10 dias corridos</strong>.<br />• Lista <code>[\"*\"]</code> devolve todos os colaboradores.</p>\n</blockquote>\n<p><strong>URL</strong>: <code>https://moapi.escalamoavi.com.br/absenteismo-dia-colaborador</code><br /><strong>Método</strong>: <code>POST</code><br /><strong>Cabeçalho</strong>: <code>moapi-token</code> <strong>obrigatório</strong>.</p>\n<hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>data_ini</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data inicial <code>AAAA-MM-DD</code>.</td>\n</tr>\n<tr>\n<td><code>data_fim</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data final <code>AAAA-MM-DD</code>.</td>\n</tr>\n<tr>\n<td><code>lista_matriculas_colaboradores</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Matrículas desejadas ou <code>[\"*\"]</code> para todas.</td>\n</tr>\n<tr>\n<td><code>pag</code></td>\n<td><code>number</code></td>\n<td>Não</td>\n<td>Página dos resultados (default <code>1</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-requisição\"><strong>Exemplo</strong> de Requisição</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"data_ini\": \"2024-03-10\",\n  \"data_fim\": \"2024-03-15\",\n  \"lista_matriculas_colaboradores\": [\"matr456\", \"matrABC\"]\n}\n</code></pre>\n<hr />\n<h2 id=\"corpo-da-resposta\"><strong>Corpo da Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código HTTP.</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto de status.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td><code>string | null</code></td>\n<td>Detalhes do erro.</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td><code>number | null</code></td>\n<td>Página final.</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td><code>array | null</code></td>\n<td><code>[matricula, data, status_absenteismo]</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-resposta-200-ok\"><strong>Exemplo</strong> de Resposta <strong><code>200 OK</code></strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"matricula\", \"data\", \"absenteismo\"],\n    [\"matr456\", \"2024-03-10\", \"Presente\"],\n    [\"matr456\", \"2024-03-11\", \"Falta Injustificada\"],\n    [\"matrABC\", \"2024-03-10\", \"Presente\"]\n  ]\n}\n</code></pre>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400--excesso-de-dias\"><code>400 – Excesso de Dias</code></h3>\n<p>Se o intervalo entre <code>data_ini</code> e <code>data_fim</code> exceder o limite de <strong>10 dias</strong>.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla 12 dias, excedendo assim o limite deste endpoint (Dez dias corridos (10 dias))!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"400--erro-de-schema\"><code>400 – Erro de Schema</code></h3>\n<p>Algum campo fora do esperado (formato de data inválido, lista vazia, item numérico em vez de string etc.).</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[instance.lista_matriculas_colaboradores is not of a type(s) array]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"401--token-expirado-ou-inválido\"><code>401 – Token Expirado ou Inválido</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{ \"message\": \"The incoming token has expired\" }\n</code></pre>\n<h3 id=\"500--erro-interno\"><code>500 – Erro Interno</code></h3>\n<p>Falha inesperada no servidor.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"[detalhes internos]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["absenteismo-dia-colaborador"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[],"_postman_id":"7601b8d4-23da-41dc-af84-8c4fcdb9cb6b"},{"name":"justificativas-mes-filial","id":"cdb506e0-1dbc-465e-807e-07ed615e15d5","request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{}"},"url":"https://moapi.escalamoavi.com.br/justificativas-mes-filial","description":"<h1 id=\"post-justificativas-mes-filial\"><strong>POST</strong> <code>/justificativas-mes-filial</code></h1>\n<p>Retorna <strong>justificativas</strong> por <strong>mês</strong> e <strong>filial</strong>.</p>\n<hr />\n<h2 id=\"objetivo\"><strong>Objetivo</strong></h2>\n<p>Obter as justificativas mensais por filial.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong> intervalo máximo de <strong>12 meses</strong> (≈ 372 dias).</p>\n</blockquote>\n<p><strong>URL</strong>: <code>https://moapi.escalamoavi.com.br/justificativas-mes-filial</code><br /><strong>Método</strong>: <code>POST</code><br /><strong>Cabeçalho</strong>: <code>moapi-token</code> obrigatório.</p>\n<hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>mes_ini</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Mês inicial.</td>\n</tr>\n<tr>\n<td><code>ano_ini</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Ano inicial.</td>\n</tr>\n<tr>\n<td><code>mes_fim</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Mês final.</td>\n</tr>\n<tr>\n<td><code>ano_fim</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Ano final.</td>\n</tr>\n<tr>\n<td><code>lista_cods_filiais</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Lista com códigos das filiais.</td>\n</tr>\n<tr>\n<td><code>pag</code></td>\n<td><code>string | number | null</code></td>\n<td>Não</td>\n<td>Página (default <code>1</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-requisição\"><strong>Exemplo</strong> de Requisição</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"mes_ini\": \"03\",\n  \"ano_ini\": 2023,\n  \"mes_fim\": 10,\n  \"ano_fim\": 2023,\n  \"lista_cods_filiais\": [\"0010\", \"0015\"]\n}\n</code></pre>\n<hr />\n<h2 id=\"corpo-da-resposta\"><strong>Corpo da Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código HTTP.</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto breve.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td><code>string | null</code></td>\n<td>Detalhes.</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td><code>number | null</code></td>\n<td>Página final.</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td><code>array | null</code></td>\n<td><code>[filial_cod, ano, mes, justificativas]</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-resposta-200-ok\"><strong>Exemplo</strong> de Resposta <code>200 OK</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"filial_cod\", \"ano\", \"mes\", \"justificativas\"],\n    [\"0010\", \"2023\", \"3\", \"Aumento de demanda sazonal.\"],\n    [\"0015\", \"2023\", \"3\", \"Obras na regiao impactaram o fluxo de clientes.\"]\n  ]\n}\n</code></pre>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400--excesso-de-dias\"><code>400 – Excesso de Dias</code></h3>\n<p>Quando o intervalo entre <code>(mes_ini, ano_ini)</code> e <code>(mes_fim, ano_fim)</code> ultrapassar <strong>12 meses (≈ 372 dias)</strong>.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla 425 dias, excedendo assim o limite deste endpoint (Doze meses cheios (372 dias))!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<blockquote>\n<p><em>O número de dias exibido na mensagem varia conforme a requisição; o exemplo acima é ilustrativo.</em></p>\n</blockquote>\n<hr />\n<h3 id=\"400--erro-de-schema\"><code>400 – Erro de Schema</code></h3>\n<p>Qualquer campo fora do esperado (mês &gt; 12, ano &lt; 2017, lista vazia ou contendo valores de tipo errado, etc.).</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[{\\\"validation\\\":\\\"minItems\\\",\\\"code\\\":\\\"too_small\\\",\\\"message\\\":\\\"Array must contain at least 1 element(s)\\\",\\\"path\\\":[\\\"lista_cods_filiais\\\"]}]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<hr />\n<h3 id=\"401--token-expirado-ou-inválido\"><code>401 – Token Expirado ou Inválido</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{ \"message\": \"The incoming token has expired\" }\n</code></pre>\n<hr />\n<h3 id=\"500--erro-interno\"><code>500 – Erro Interno</code></h3>\n<p>Falha inesperada no servidor.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"Internal Server Error\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["justificativas-mes-filial"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[],"_postman_id":"cdb506e0-1dbc-465e-807e-07ed615e15d5"},{"name":"justificativas-dia-filial","id":"ea7547f9-7002-471a-8eb6-05091275db72","request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{}"},"url":"https://moapi.escalamoavi.com.br/justificativas-dia-filial","description":"<h1 id=\"post-justificativas-dia-filial\"><strong>POST</strong> <code>/justificativas-dia-filial</code></h1>\n<p>Fornece <strong>justificativas textuais</strong> por <strong>dia</strong> e <strong>filial</strong>.</p>\n<hr />\n<h2 id=\"objetivo\"><strong>Objetivo</strong></h2>\n<p>Retornar as justificativas textuais diárias por filial dentro de um período.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong> limite de <strong>62 dias</strong> por consulta.</p>\n</blockquote>\n<p><strong>URL</strong>: <code>https://moapi.escalamoavi.com.br/justificativas-dia-filial</code><br /><strong>Método</strong>: <code>POST</code><br /><strong>Cabeçalho</strong>: <code>moapi-token</code> obrigatório.</p>\n<hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>data_ini</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data inicial <code>AAAA-MM-DD</code>.</td>\n</tr>\n<tr>\n<td><code>data_fim</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data final <code>AAAA-MM-DD</code>.</td>\n</tr>\n<tr>\n<td><code>lista_cods_filiais</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Códigos de filial. <code>[\"*\"]</code> para todas. Mínimo de 1 item.</td>\n</tr>\n<tr>\n<td><code>pag</code></td>\n<td><code>number | string</code></td>\n<td>Não</td>\n<td>Página (default <code>1</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-requisição\"><strong>Exemplo</strong> de Requisição</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"data_ini\": \"2024-04-01\",\n  \"data_fim\": \"2024-04-30\",\n  \"lista_cods_filiais\": [\"0001\", \"0005\"],\n  \"pag\": 1\n}\n</code></pre>\n<hr />\n<h2 id=\"corpo-da-resposta\"><strong>Corpo da Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código HTTP.</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto curto.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td><code>string | null</code></td>\n<td>Detalhes do erro.</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td><code>number | null</code></td>\n<td>Última página de resultados.</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td><code>array | null</code></td>\n<td><code>[filial_cod, data, justificativas]</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-resposta-200-ok\"><strong>Exemplo</strong> de Resposta <code>200 OK</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"filial_cod\", \"data\", \"justificativas\"],\n    [\"0001\", \"2024-04-10\", \"Feriado municipal e sistema fora do ar.\"],\n    [\"0005\", \"2024-04-15\", \"Equipe em treinamento externo.\"]\n  ]\n}\n</code></pre>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400--excesso-de-dias\"><code>400 – Excesso de Dias</code></h3>\n<p>Quando o intervalo entre <code>data_ini</code> e <code>data_fim</code> ultrapassa <strong>62 dias</strong>.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla 70 dias, excedendo assim o limite deste endpoint (Dois meses cheios (62 dias))!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"400--erro-de-schema\"><code>400 – Erro de Schema</code></h3>\n<p>Qualquer violação de formato ou regra de validação (data inválida, lista vazia, tipo de dado incorreto etc.).</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[{\\\"validation\\\":\\\"minItems\\\",\\\"code\\\":\\\"too_small\\\",\\\"message\\\":\\\"Array must contain at least 1 element(s)\\\",\\\"path\\\":[\\\"lista_cods_filiais\\\"]}]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"401--token-expirado-ou-inválido\"><code>401 – Token Expirado ou Inválido</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"message\": \"The incoming token has expired\"\n}\n</code></pre>\n<h3 id=\"500--erro-interno\"><code>500 – Erro Interno</code></h3>\n<p>Falha inesperada no servidor.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"Falha na conexao com o banco de dados.\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["justificativas-dia-filial"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[],"_postman_id":"ea7547f9-7002-471a-8eb6-05091275db72"},{"name":"carga-trab-mes-filial","id":"3fcd7863-8e96-4032-9be5-d7cc2fe464c7","request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{}"},"url":"https://moapi.escalamoavi.com.br/carga-trab-mes-filial","description":"<h1 id=\"post-carga-trab-mes-filial\"><strong>POST</strong> <code>/carga-trab-mes-filial</code></h1>\n<p>Retorna <strong>carga de trabalho</strong> por <strong>mês</strong> e <strong>filial</strong>.</p>\n<hr />\n<h2 id=\"objetivo\"><strong>Objetivo</strong></h2>\n<p>Obter a carga de trabalho mensal por filial.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong> intervalo máximo de <strong>12 meses</strong> (≈ 372 dias).</p>\n</blockquote>\n<p><strong>URL</strong>: <code>https://moapi.escalamoavi.com.br/carga-trab-mes-filial</code><br /><strong>Método</strong>: <code>POST</code><br /><strong>Cabeçalho</strong>: <code>moapi-token</code> obrigatório.</p>\n<hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>mes_ini</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Mês inicial.</td>\n</tr>\n<tr>\n<td><code>ano_ini</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Ano inicial.</td>\n</tr>\n<tr>\n<td><code>mes_fim</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Mês final.</td>\n</tr>\n<tr>\n<td><code>ano_fim</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Ano final.</td>\n</tr>\n<tr>\n<td><code>lista_cods_filiais</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Códigos ou <code>[\"*\"]</code>.</td>\n</tr>\n<tr>\n<td><code>pag</code></td>\n<td><code>number</code></td>\n<td>Não</td>\n<td>Página (default <code>1</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-requisição\"><strong>Exemplo</strong> de Requisição</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2023,\n  \"mes_fim\": 3,\n  \"ano_fim\": 2023,\n  \"lista_cods_filiais\": [\"0001\", \"0005\"]\n}\n</code></pre>\n<hr />\n<h2 id=\"corpo-da-resposta\"><strong>Corpo da Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código HTTP.</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto breve.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td><code>string | null</code></td>\n<td>Detalhes.</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td><code>number | null</code></td>\n<td>Página final.</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td><code>array | null</code></td>\n<td><code>[filial_cod, ano, mes, carga_trabalho]</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-resposta-200-ok\"><strong>Exemplo</strong> de Resposta <code>200 OK</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"filial_cod\", \"ano\", \"mes\", \"carga_trabalho\"],\n    [\"0001\", \"2023\", \"1\", \"1540.50\"],\n    [\"0005\", \"2023\", \"1\", \"1890.00\"],\n    [\"0001\", \"2023\", \"2\", \"1495.25\"],\n    [\"0005\", \"2023\", \"2\", \"1910.75\"],\n    [\"0001\", \"2023\", \"3\", \"1610.00\"],\n    [\"0005\", \"2023\", \"3\", \"1855.50\"]\n  ]\n}\n</code></pre>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400--excesso-de-dias\"><code>400 – Excesso de Dias</code></h3>\n<p>Quando o intervalo entre <code>(mes_ini, ano_ini)</code> e <code>(mes_fim, ano_fim)</code> ultrapassar <strong>12 meses (≈ 372 dias)</strong>.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2022,\n  \"mes_fim\": 1,\n  \"ano_fim\": 2023,\n  \"lista_cods_filiais\": [\"0001\"]\n}\n</code></pre>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla 396 dias, excedendo assim o limite deste endpoint (Doze meses cheios (372 dias))!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<blockquote>\n<p><em>O número de dias exibido na mensagem varia conforme a requisição; o exemplo acima é ilustrativo.</em></p>\n</blockquote>\n<hr />\n<h3 id=\"400--erro-de-schema\"><code>400 – Erro de Schema</code></h3>\n<p>Qualquer campo fora do esperado (mês &gt; 12, ano &lt; 2017, lista vazia ou contendo valores de tipo errado, etc.).</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"mes_ini\": \"13\",\n  \"ano_ini\": 2023,\n  \"mes_fim\": 12,\n  \"ano_fim\": 2023,\n  \"lista_cods_filiais\": [\"0001\"]\n}\n</code></pre>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[{\\\"instancePath\\\":\\\"/mes_ini\\\",\\\"schemaPath\\\":\\\"#/properties/mes_ini/anyOf/0/pattern\\\",\\\"keyword\\\":\\\"pattern\\\",\\\"params\\\":{\\\"pattern\\\":\\\"^(0[1-9]|1[0-2])$\\\"},\\\"message\\\":\\\"must match pattern \\\\\\\"^(0[1-9]|1[0-2])$\\\\\\\"\\\"},{\\\"instancePath\\\":\\\"/mes_ini\\\",\\\"schemaPath\\\":\\\"#/properties/mes_ini/anyOf/1/maximum\\\",\\\"keyword\\\":\\\"maximum\\\",\\\"params\\\":{\\\"comparison\\\":\\\"&lt;=\\\",\\\"limit\\\":12},\\\"message\\\":\\\"must be &lt;= 12\\\"},{\\\"instancePath\\\":\\\"/mes_ini\\\",\\\"schemaPath\\\":\\\"#/properties/mes_ini/anyOf\\\",\\\"keyword\\\":\\\"anyOf\\\",\\\"params\\\":{},\\\"message\\\":\\\"must match a schema in anyOf\\\"}]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<hr />\n<h3 id=\"401--token-expirado-ou-inválido\"><code>401 – Token Expirado ou Inválido</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{ \"message\": \"The incoming token has expired\" }\n</code></pre>\n<hr />\n<h3 id=\"500--erro-interno\"><code>500 – Erro Interno</code></h3>\n<p>Falha inesperada no servidor.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"Falha na conexao com o banco de dados.\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["carga-trab-mes-filial"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[],"_postman_id":"3fcd7863-8e96-4032-9be5-d7cc2fe464c7"},{"name":"justificativas-dia-cluster","id":"eb8318dc-ab7d-4894-8b12-15d51128115e","request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{}"},"url":"https://moapi.escalamoavi.com.br/justificativas-dia-cluster","description":"<h1 id=\"post-justificativas-dia-cluster\"><strong>POST</strong> <code>/justificativas-dia-cluster</code></h1>\n<p>Fornece <strong>justificativas</strong> agregadas <strong>por dia</strong> e <strong>por cluster</strong>.</p>\n<hr />\n<h2 id=\"objetivo\"><strong>Objetivo</strong></h2>\n<p>Retornar as justificativas diárias de cada cluster em determinado intervalo.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong><br />• Limite de <strong>372 dias</strong> por consulta (≈ 12 × 31).  </p>\n</blockquote>\n<p><strong>URL</strong>: <code>https://moapi.escalamoavi.com.br/justificativas-dia-cluster</code><br /><strong>Método</strong>: <code>POST</code><br /><strong>Cabeçalho</strong>: <strong>obrigatório</strong> <code>moapi-token</code>.</p>\n<hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>data_ini</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data inicial no formato <code>AAAA-MM-DD</code> (2017 – 2100).</td>\n</tr>\n<tr>\n<td><code>data_fim</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data final no formato <code>AAAA-MM-DD</code> (2017 – 2100).</td>\n</tr>\n<tr>\n<td><code>lista_nomes_clusters</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Nomes de clusters. Para <strong>todos</strong>, use <code>[\"*\"]</code>. Não pode estar vazia.</td>\n</tr>\n<tr>\n<td><code>pag</code></td>\n<td><code>number</code></td>\n<td>Não</td>\n<td>Página dos resultados (default <code>1</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-requisição\"><strong>Exemplo</strong> de Requisição</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-03-31\",\n  \"lista_nomes_clusters\": [\"cluster_A\", \"cluster_B\"],\n  \"pag\": 1\n}\n</code></pre>\n<hr />\n<h2 id=\"corpo-da-resposta\"><strong>Corpo da Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código HTTP (200, 400, etc.).</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto breve sobre sucesso/falha.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td><code>string | null</code></td>\n<td>Detalhes do erro (se houver).</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td><code>number | null</code></td>\n<td>Última página disponível.</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td><code>array | null</code></td>\n<td>Lista de listas: <code>[cluster, data, justificativas]</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-resposta-200-ok\"><strong>Exemplo</strong> de Resposta <strong><code>200 OK</code></strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"nome_cluster\", \"data\", \"justificativas\"],\n    [\"cluster_A\", \"2024-01-15\", \"Manutencao programada na regiao.\"],\n    [\"cluster_A\", \"2024-01-16\", \"Interrupcao de fornecimento pela concessionaria.\"],\n    [\"cluster_B\", \"2024-02-10\", \"Feriado local.\"]\n  ]\n}\n</code></pre>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400--excesso-de-dias\"><code>400 – Excesso de Dias</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla 373 dias, excedendo assim o limite deste endpoint (Doze meses cheios (372 dias))!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"400--erro-de-schema\"><code>400 – Erro de Schema</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[detalhes da validação]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"401--token-expirado\"><code>401 – Token Expirado</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{ \"message\": \"The incoming token has expired\" }\n</code></pre>\n<h3 id=\"500--erro-interno\"><code>500 – Erro Interno</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"[detalhes internos]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["justificativas-dia-cluster"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[],"_postman_id":"eb8318dc-ab7d-4894-8b12-15d51128115e"},{"name":"carga-trab-dia-cluster","id":"ee2f04d9-1f04-448b-84fe-09bffa055ea1","request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{}"},"url":"https://moapi.escalamoavi.com.br/carga-trab-dia-cluster","description":"<h1 id=\"post-carga-trab-dia-cluster\"><strong>POST</strong> <code>/carga-trab-dia-cluster</code></h1>\n<p>Fornece a <strong>carga de trabalho</strong> agregada <strong>por dia</strong> e <strong>por cluster</strong>.</p>\n<hr />\n<h2 id=\"objetivo\"><strong>Objetivo</strong></h2>\n<p>Retornar a carga de trabalho diária de cada cluster em determinado intervalo.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong><br />• Limite de <strong>372 dias</strong> por consulta (≈ 12 × 31).  </p>\n</blockquote>\n<p><strong>URL</strong>: <code>https://moapi.escalamoavi.com.br/carga-trab-dia-cluster</code><br /><strong>Método</strong>: <code>POST</code><br /><strong>Cabeçalho</strong>: <strong>obrigatório</strong> <code>moapi-token</code>.</p>\n<hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>data_ini</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data inicial no formato <code>AAAA-MM-DD</code> (2017 – 2100).</td>\n</tr>\n<tr>\n<td><code>data_fim</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data final no formato <code>AAAA-MM-DD</code> (2017 – 2100).</td>\n</tr>\n<tr>\n<td><code>lista_nomes_clusters</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Nomes de clusters. Para <strong>todos</strong>, use <code>[\"*\"]</code>. Não pode estar vazia.</td>\n</tr>\n<tr>\n<td><code>pag</code></td>\n<td><code>number</code></td>\n<td>Não</td>\n<td>Página dos resultados (default <code>1</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-requisição\"><strong>Exemplo</strong> de Requisição</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-03-31\",\n  \"lista_nomes_clusters\": [\"cluster_A\", \"cluster_B\"],\n  \"pag\": 1\n}\n</code></pre>\n<hr />\n<h2 id=\"corpo-da-resposta\"><strong>Corpo da Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código HTTP (200, 400, etc.).</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto breve sobre sucesso/falha.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td><code>string | null</code></td>\n<td>Detalhes do erro (se houver).</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td><code>number | null</code></td>\n<td>Última página disponível.</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td><code>array | null</code></td>\n<td>Lista de listas: <code>[cluster, data, carga_trabalho]</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-resposta-200-ok\"><strong>Exemplo</strong> de Resposta <strong><code>200 OK</code></strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"nome_cluster\", \"data\", \"carga_trabalho\"],\n    [\"cluster_A\", \"2024-01-01\", \"1543.21\"],\n    [\"cluster_A\", \"2024-01-02\", \"1601.50\"],\n    [\"cluster_B\", \"2024-01-01\", \"987.65\"]\n  ]\n}\n</code></pre>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400--excesso-de-dias\"><code>400 – Excesso de Dias</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla 373 dias, excedendo assim o limite deste endpoint (Doze meses cheios (372 dias))!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"400--erro-de-schema\"><code>400 – Erro de Schema</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[detalhes da validação]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"401--token-expirado\"><code>401 – Token Expirado</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{ \"message\": \"The incoming token has expired\" }\n</code></pre>\n<h3 id=\"500--erro-interno\"><code>500 – Erro Interno</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"[detalhes internos]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["carga-trab-dia-cluster"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[],"_postman_id":"ee2f04d9-1f04-448b-84fe-09bffa055ea1"},{"name":"infracoes-dia-filial","id":"2dd1b84e-b41d-44dd-be04-1d810aff6438","request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{}"},"url":"https://moapi.escalamoavi.com.br/infracoes-dia-filial","description":"<h1 id=\"post-infracoes-dia-filial\"><strong>POST</strong> <code>/infracoes-dia-filial</code></h1>\n<p>Fornece <strong>contagem de infrações</strong> por <strong>dia</strong> e <strong>filial</strong>.</p>\n<hr />\n<h2 id=\"objetivo\"><strong>Objetivo</strong></h2>\n<p>Retornar a contagem de diversas infrações trabalhistas, por dia e filial, dentro de um período.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong> limite de <strong>62 dias</strong> por consulta.</p>\n</blockquote>\n<p><strong>URL</strong>: <code>https://moapi.escalamoavi.com.br/infracoes-dia-filial</code><br /><strong>Método</strong>: <code>POST</code><br /><strong>Cabeçalho</strong>: <code>moapi-token</code> obrigatório.</p>\n<hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>data_ini</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data inicial <code>AAAA-MM-DD</code>.</td>\n</tr>\n<tr>\n<td><code>data_fim</code></td>\n<td><code>string</code></td>\n<td>Sim</td>\n<td>Data final <code>AAAA-MM-DD</code>.</td>\n</tr>\n<tr>\n<td><code>lista_cods_filiais</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Códigos de filial. <code>[\"*\"]</code> para todas.</td>\n</tr>\n<tr>\n<td><code>pag</code></td>\n<td><code>number</code></td>\n<td>Não</td>\n<td>Página (default <code>1</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-requisição\"><strong>Exemplo</strong> de Requisição</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"data_ini\": \"2024-04-01\",\n  \"data_fim\": \"2024-04-30\",\n  \"lista_cods_filiais\": [\"0001\", \"0005\"]\n}\n</code></pre>\n<hr />\n<h2 id=\"corpo-da-resposta\"><strong>Corpo da Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código HTTP.</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto curto.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td><code>string | null</code></td>\n<td>Detalhes.</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td><code>number | null</code></td>\n<td>Última página.</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td><code>array | null</code></td>\n<td>Array de resultados. O 1º item é o cabeçalho: <code>['filial_cod', 'data', 'interjornada', 'estouro_6x1', 'estouro_dom', 'hora_extra_2h', 'turno_acima_6h', 'intervalo_abaixo_1h']</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-resposta-200-ok\"><strong>Exemplo</strong> de Resposta <code>200 OK</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"filial_cod\", \"data\", \"interjornada\", \"estouro_6x1\", \"estouro_dom\", \"hora_extra_2h\", \"turno_acima_6h\", \"intervalo_abaixo_1h\"],\n    [\"0001\", \"2024-04-10\", \"1\", \"0\", \"0\", \"2\", \"1\", \"0\"],\n    [\"0005\", \"2024-04-12\", \"0\", \"1\", \"0\", \"0\", \"0\", \"1\"]\n  ]\n}\n</code></pre>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400--excesso-de-dias\"><code>400 – Excesso de Dias</code></h3>\n<p>Quando o intervalo entre <code>data_ini</code> e <code>data_fim</code> ultrapassa <strong>62 dias</strong>.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"data_ini\": \"2024-01-01\",\n  \"data_fim\": \"2024-04-01\",\n  \"lista_cods_filiais\": [\"0001\"]\n}\n</code></pre>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla 91 dias, excedendo assim o limite deste endpoint (Dois meses cheios (62 dias))!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"400--erro-de-schema\"><code>400 – Erro de Schema</code></h3>\n<p>Qualquer violação de formato ou regra de validação (data inválida, lista vazia, etc.).</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"data_ini\": \"2024-03-01\",\n  \"data_fim\": \"2024-03-31\",\n  \"lista_cods_filiais\": []\n}\n</code></pre>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[detalhes do erro de validacao]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"401--token-expirado-ou-inválido\"><code>401 – Token Expirado ou Inválido</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{ \"message\": \"The incoming token has expired\" }\n</code></pre>\n<h3 id=\"500--erro-interno\"><code>500 – Erro Interno</code></h3>\n<p>Falha inesperada no servidor.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"[detalhes internos]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["infracoes-dia-filial"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[],"_postman_id":"2dd1b84e-b41d-44dd-be04-1d810aff6438"},{"name":"infracoes-mes-colaborador","id":"c5bcb221-b7d3-469d-9176-0005096b0ef1","request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{}"},"url":"https://moapi.escalamoavi.com.br/infracoes-mes-colaborador","description":"<h1 id=\"post-infracoes-mes-colaborador\"><strong>POST</strong> <code>/infracoes-mes-colaborador</code></h1>\n<p>Retorna <strong>infrações</strong> por <strong>mês</strong> e <strong>colaborador</strong>.</p>\n<hr />\n<h2 id=\"objetivo\"><strong>Objetivo</strong></h2>\n<p>Consultar a quantidade de infrações mensais por matrícula.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong> limite: <strong>Um mês cheio (31 dias)</strong>.</p>\n</blockquote>\n<p><strong>URL</strong>: <code>https://moapi.escalamoavi.com.br/infracoes-mes-colaborador</code><br /><strong>Método</strong>: <code>POST</code><br /><strong>Cabeçalho</strong>: <code>moapi-token</code> obrigatório.</p>\n<hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>mes_ini</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Mês inicial <code>MM</code> ou <code>1–12</code>.</td>\n</tr>\n<tr>\n<td><code>ano_ini</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Ano inicial ≥ 2017.</td>\n</tr>\n<tr>\n<td><code>mes_fim</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Mês final.</td>\n</tr>\n<tr>\n<td><code>ano_fim</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Ano final.</td>\n</tr>\n<tr>\n<td><code>lista_matriculas_colaboradores</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Matrículas ou <code>[\"*\"]</code>. Não pode ser vazia.</td>\n</tr>\n<tr>\n<td><code>pag</code></td>\n<td><code>number</code></td>\n<td>Não</td>\n<td>Página (default <code>1</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-requisição\"><strong>Exemplo</strong> de Requisição</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"mes_ini\": 1,\n  \"ano_ini\": 2024,\n  \"mes_fim\": 1,\n  \"ano_fim\": 2024,\n  \"lista_matriculas_colaboradores\": [\"matr456\"]\n}\n</code></pre>\n<hr />\n<h2 id=\"corpo-da-resposta\"><strong>Corpo da Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código HTTP.</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto de status.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td><code>string | null</code></td>\n<td>Detalhes.</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td><code>number | null</code></td>\n<td>Página final.</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td><code>array | null</code></td>\n<td><code>[matricula, ano, mes, interjornada, estouro_6x1, estouro_dom, hora_extra_2h, turno_acima_6h, intervalo_abaixo_1h]</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-resposta-200-ok\"><strong>Exemplo</strong> de Resposta <code>200 OK</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\n      \"matricula\",\n      \"ano\",\n      \"mes\",\n      \"interjornada\",\n      \"estouro_6x1\",\n      \"estouro_dom\",\n      \"hora_extra_2h\",\n      \"turno_acima_6h\",\n      \"intervalo_abaixo_1h\"\n    ],\n    [\n      \"matr456\",\n      \"2024\",\n      \"1\",\n      \"2\",\n      \"0\",\n      \"1\",\n      \"5\",\n      \"0\",\n      \"3\"\n    ]\n  ]\n}\n</code></pre>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400--excesso-de-dias\"><code>400 – Excesso de Dias</code></h3>\n<p>Quando o intervalo entre <code>(mes_ini, ano_ini)</code> e <code>(mes_fim, ano_fim)</code> resulta em <strong>mais de 31 dias equivalentes</strong>.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"mes_ini\": 1,\n  \"ano_ini\": 2024,\n  \"mes_fim\": 3,\n  \"ano_fim\": 2024,\n  \"lista_matriculas_colaboradores\": [\"matr456\"]\n}\n</code></pre>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido excede o limite desta requisicao (Um mês cheio (31 dias)).\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<hr />\n<h3 id=\"400--erro-de-schema\"><code>400 – Erro de Schema</code></h3>\n<p>Campo fora do padrão, valor fora da faixa permitida (mês <code>&gt; 12</code>, ano <code>&lt; 2017</code>, lista vazia, item não-string, duplicado etc.).</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"mes_ini\": 1,\n  \"ano_ini\": 2024,\n  \"mes_fim\": 1,\n  \"ano_fim\": 2024,\n  \"lista_matriculas_colaboradores\": []\n}\n</code></pre>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[{\\\"instancePath\\\":\\\"/lista_matriculas_colaboradores\\\",\\\"schemaPath\\\":\\\"#/properties/lista_matriculas_colaboradores/minItems\\\",\\\"keyword\\\":\\\"minItems\\\",\\\"params\\\":{\\\"limit\\\":1},\\\"message\\\":\\\"must NOT have fewer than 1 items\\\"}]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<hr />\n<h3 id=\"401--token-expirado-ou-inválido\"><code>401 – Token Expirado ou Inválido</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"mes_ini\": 1,\n  \"ano_ini\": 2024,\n  \"mes_fim\": 1,\n  \"ano_fim\": 2024,\n  \"lista_matriculas_colaboradores\": [\"matr456\"]\n}\n</code></pre>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{ \"message\": \"The incoming token has expired\" }\n</code></pre>\n<hr />\n<h3 id=\"500--erro-interno\"><code>500 – Erro Interno</code></h3>\n<p>Falha inesperada no servidor.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"mes_ini\": 1,\n  \"ano_ini\": 2024,\n  \"mes_fim\": 1,\n  \"ano_fim\": 2024,\n  \"lista_matriculas_colaboradores\": [\"matr456\"]\n}\n</code></pre>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"Erro interno do servidor.\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["infracoes-mes-colaborador"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[],"_postman_id":"c5bcb221-b7d3-469d-9176-0005096b0ef1"},{"name":"infracoes-mes-cluster","id":"336f610a-ae30-4325-a9fa-8f843306268d","request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{}"},"url":"https://moapi.escalamoavi.com.br/infracoes-mes-cluster","description":"<h1 id=\"post-infracoes-mes-cluster\"><strong>POST</strong> <code>/infracoes-mes-cluster</code></h1>\n<p>Devolve <strong>contagem de infrações</strong> por <strong>mês</strong> e <strong>cluster</strong>.</p>\n<hr />\n<h2 id=\"objetivo\"><strong>Objetivo</strong></h2>\n<p>Retornar a contagem de infrações mensais por cluster.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong> intervalo máximo de <strong>dois anos cheios</strong> (730 dias).</p>\n</blockquote>\n<p><strong>URL</strong>: <code>https://moapi.escalamoavi.com.br/infracoes-mes-cluster</code><br /><strong>Método</strong>: <code>POST</code><br /><strong>Cabeçalho</strong>: <code>moapi-token</code> obrigatório.</p>\n<hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>mes_ini</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Mês inicial <code>MM</code> ou inteiro <code>1–12</code>.</td>\n</tr>\n<tr>\n<td><code>ano_ini</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Ano inicial <code>AAAA</code> (≥ 2017).</td>\n</tr>\n<tr>\n<td><code>mes_fim</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Mês final <code>MM</code> ou inteiro <code>1–12</code>.</td>\n</tr>\n<tr>\n<td><code>ano_fim</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Ano final <code>AAAA</code> (≥ 2017).</td>\n</tr>\n<tr>\n<td><code>lista_nomes_clusters</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Nomes ou <code>[\"*\"]</code> para todos.</td>\n</tr>\n<tr>\n<td><code>pag</code></td>\n<td><code>number</code></td>\n<td>Não</td>\n<td>Página (default <code>1</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-requisição\"><strong>Exemplo</strong> de Requisição</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"mes_ini\": \"01\",\n  \"ano_ini\": 2024,\n  \"mes_fim\": \"03\",\n  \"ano_fim\": 2024,\n  \"lista_nomes_clusters\": [\"cluster_A\", \"cluster_B\"]\n}\n</code></pre>\n<hr />\n<h2 id=\"corpo-da-resposta\"><strong>Corpo da Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código HTTP.</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto de status.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td><code>string | null</code></td>\n<td>Detalhes.</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td><code>number | null</code></td>\n<td>Página final.</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td><code>array | null</code></td>\n<td><code>[nome_cluster, ano, mes, interjornada, estouro_6x1, estouro_dom, hora_extra_2h, turno_acima_6h, intervalo_abaixo_1h]</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-resposta-200-ok\"><strong>Exemplo</strong> de Resposta <code>200 OK</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"nome_cluster\", \"ano\", \"mes\", \"interjornada\", \"estouro_6x1\", \"estouro_dom\", \"hora_extra_2h\", \"turno_acima_6h\", \"intervalo_abaixo_1h\"],\n    [\"cluster_A\", \"2024\", \"1\", \"5\", \"2\", \"0\", \"10\", \"8\", \"3\"],\n    [\"cluster_A\", \"2024\", \"2\", \"4\", \"1\", \"1\", \"12\", \"7\", \"4\"],\n    [\"cluster_B\", \"2024\", \"1\", \"10\", \"8\", \"1\", \"15\", \"11\", \"9\"]\n  ]\n}\n</code></pre>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400--excesso-de-dias\"><code>400 – Excesso de Dias</code></h3>\n<p>Quando o intervalo entre <code>(mes_ini, ano_ini)</code> e <code>(mes_fim, ano_fim)</code> excede <strong>730 dias</strong>.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla 762 dias, excedendo assim o limite deste endpoint (Dois anos cheios (730 dias))!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"400--erro-de-schema\"><code>400 – Erro de Schema</code></h3>\n<p>Violação de formato, valor fora de faixa (mês &gt; 12, ano &lt; 2017), lista vazia, item duplicado, etc.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[detalhes do erro de validacao]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<h3 id=\"401--token-expirado-ou-inválido\"><code>401 – Token Expirado ou Inválido</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{ \"message\": \"The incoming token has expired\" }\n</code></pre>\n<h3 id=\"500--erro-interno\"><code>500 – Erro Interno</code></h3>\n<p>Falha inesperada no servidor.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"[detalhes internos]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["infracoes-mes-cluster"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[],"_postman_id":"336f610a-ae30-4325-a9fa-8f843306268d"},{"name":"justificativas-mes-colaborador","id":"d9e23a52-c54f-4883-88e5-064d31a1f42b","request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{}"},"url":"https://moapi.escalamoavi.com.br/justificativas-mes-colaborador","description":"<h1 id=\"post-justificativas-mes-colaborador\"><strong>POST</strong> <code>/justificativas-mes-colaborador</code></h1>\n<p>Retorna <strong>justificativas totais</strong> por <strong>mês</strong> e <strong>colaborador</strong>.</p>\n<hr />\n<h2 id=\"objetivo\"><strong>Objetivo</strong></h2>\n<p>Consultar a quantidade de justificativas mensais por matrícula.</p>\n<blockquote>\n<p><strong>IMPORTANTE:</strong> limite: <strong>Um mês cheio (31 dias)</strong>.</p>\n</blockquote>\n<p><strong>URL</strong>: <code>https://moapi.escalamoavi.com.br/justificativas-mes-colaborador</code><br /><strong>Método</strong>: <code>POST</code><br /><strong>Cabeçalho</strong>: <code>moapi-token</code> obrigatório.</p>\n<hr />\n<h2 id=\"corpo-da-requisição\"><strong>Corpo da Requisição</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Obrigatório?</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>mes_ini</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Mês inicial <code>MM</code> ou <code>1–12</code>.</td>\n</tr>\n<tr>\n<td><code>ano_ini</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Ano inicial ≥ 2017.</td>\n</tr>\n<tr>\n<td><code>mes_fim</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Mês final.</td>\n</tr>\n<tr>\n<td><code>ano_fim</code></td>\n<td><code>string | int</code></td>\n<td>Sim</td>\n<td>Ano final.</td>\n</tr>\n<tr>\n<td><code>lista_matriculas_colaboradores</code></td>\n<td><code>string[]</code></td>\n<td>Sim</td>\n<td>Lista de matrículas. Mínimo de 1 item.</td>\n</tr>\n<tr>\n<td><code>pag</code></td>\n<td><code>number</code></td>\n<td>Não</td>\n<td>Página (default <code>1</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-requisição\"><strong>Exemplo</strong> de Requisição</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"mes_ini\": 1,\n  \"ano_ini\": 2024,\n  \"mes_fim\": 1,\n  \"ano_fim\": 2024,\n  \"lista_matriculas_colaboradores\": [\"matr456\"]\n}\n</code></pre>\n<hr />\n<h2 id=\"corpo-da-resposta\"><strong>Corpo da Resposta</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descrição</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Código HTTP.</td>\n</tr>\n<tr>\n<td><code>mensagem</code></td>\n<td><code>string</code></td>\n<td>Texto de status.</td>\n</tr>\n<tr>\n<td><code>erro</code></td>\n<td><code>string | null</code></td>\n<td>Detalhes.</td>\n</tr>\n<tr>\n<td><code>ultimaPag</code></td>\n<td><code>number | null</code></td>\n<td>Página final.</td>\n</tr>\n<tr>\n<td><code>resultados</code></td>\n<td><code>array | null</code></td>\n<td><code>[matricula, ano, mes, justificativas]</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"exemplo-de-resposta-200-ok\"><strong>Exemplo</strong> de Resposta <code>200 OK</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 200,\n  \"mensagem\": \"Dados obtidos com sucesso.\",\n  \"erro\": null,\n  \"ultimaPag\": 1,\n  \"resultados\": [\n    [\"matricula\", \"ano\", \"mes\", \"justificativas\"],\n    [\"matr456\", \"2024\", \"1\", \"8\"]\n  ]\n}\n</code></pre>\n<hr />\n<h2 id=\"possíveis-erros\"><strong>Possíveis Erros</strong></h2>\n<h3 id=\"400--excesso-de-dias\"><code>400 – Excesso de Dias</code></h3>\n<p>Quando o intervalo entre <code>(mes_ini, ano_ini)</code> e <code>(mes_fim, ano_fim)</code> resulta em <strong>mais de 31 dias equivalentes</strong>.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"mes_ini\": 1,\n  \"ano_ini\": 2024,\n  \"mes_fim\": 3,\n  \"ano_fim\": 2024,\n  \"lista_matriculas_colaboradores\": [\"matr456\"]\n}\n</code></pre>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Requisicao mal-formada.\",\n  \"erro\": \"O periodo inserido contempla 60 dias, excedendo assim o limite desta requisicao (Um mês cheio (31 dias))!\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<hr />\n<h3 id=\"400--erro-de-schema\"><code>400 – Erro de Schema</code></h3>\n<p>Campo fora do padrão, valor fora da faixa permitida (mês <code>&gt; 12</code>, ano <code>&lt; 2017</code>, lista vazia, item não-string, duplicado etc.).</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_REQUEST\">{\n  \"mes_ini\": 1,\n  \"ano_ini\": 2024,\n  \"mes_fim\": 1,\n  \"ano_fim\": 2024,\n  \"lista_matriculas_colaboradores\": []\n}\n</code></pre>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 400,\n  \"mensagem\": \"Invalid request body\",\n  \"erro\": \"[{\\\"instancePath\\\":\\\"/lista_matriculas_colaboradores\\\",\\\"schemaPath\\\":\\\"#/properties/lista_matriculas_colaboradores/minItems\\\",\\\"keyword\\\":\\\"minItems\\\",\\\"params\\\":{\\\"limit\\\":1},\\\"message\\\":\\\"must NOT have fewer than 1 items\\\"}]\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n<hr />\n<h3 id=\"401--token-expirado-ou-inválido\"><code>401 – Token Expirado ou Inválido</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"message\": \"The incoming token has expired\"\n}\n</code></pre>\n<hr />\n<h3 id=\"500--erro-interno\"><code>500 – Erro Interno</code></h3>\n<p>Falha inesperada no servidor.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-EXAMPLE_RESPONSE\">{\n  \"statusCode\": 500,\n  \"mensagem\": \"Erro ao processar a requisicao.\",\n  \"erro\": \"Internal Server Error\",\n  \"ultimaPag\": null,\n  \"resultados\": null\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["justificativas-mes-colaborador"],"host":["moapi","escalamoavi","com","br"],"query":[],"variable":[]}},"response":[],"_postman_id":"d9e23a52-c54f-4883-88e5-064d31a1f42b"}],"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"type":"text/javascript","packages":{},"exec":[""]}}]}