{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"6a89b10a-12cb-4128-ba94-09f73d6d4d45","name":"Prevision API - Guia de utilização","description":"# Objetivo\n\nA API da Prevision visa dar autonomia e flexibilidade para as necessidades de seus clientes. Através desta API é possível coletar todas as informações encontradas na plataforma. Essa mesma API é utilizada pela interface web, portanto as mesmas informações estão disponíveis para integração própria.\n\n# Documentação das entidades da API\n\nA documentação das entidades GraphQL disponíveis para consumo via API se encontra no seguinte link: [https://api-docs.prevision.com.br](https://api-docs.prevision.com.br/home).\n\n# Orientações Gerais\n\nOferecemos acesso à API Prevision como uma forma de aproximação e transparência com nossos clientes. Porém, é importante ressaltar que a conexão da nossa API com aplicações terceiras é de **completa responsabilidade do utilizador**, incluindo conexões com aplicações de BI (**como Power BI**) e outros sistemas.\n\nAlém disso, pedimos atenção na construção das consultas a fim de evitar gargalos de performance. Orientamos a fazer carregamentos maiores de dados fora do horário comercial (antes das 08h e após às 19h). Se for detectado um alto consumo de API podemos limitar ou desativar temporariamente a integração.\n\nÉ importante mencionar que alguns dados, como os valores do IDC (Índice de Desempenho de Custo) e do IDP (Índice de Desempenho de Prazo), são calculados com base em diversos fatores complexos. Esses cálculos são realizados por serviços internos da nossa infraestrutura e, portanto, não estão disponíveis para uso externo de forma direta. Caso necessitem calcular esses índices de forma independente, será necessário realizar todos os cálculos manualmente, um processo que não é simples nem direto. Atualmente, não possuímos um fluxo pronto para compartilhamento que facilite essa operação externa.\n\nPor fim, em caso de **erros** de utilização ou **inconsistência** de dados, entre em contato através do nosso time de Suporte. **Não prestamos consultoria sobre a tecnologia (GraphQL), nosso time de Suporte atende exclusivamente erros da nossa API.**\n\n# Conceitos iniciais\n\nA API Prevision faz uso da linguagem de consulta GraphQL. Todas as requisições são enviadas para o endpoint [https://api.prevision.com.br/graphql](https://www.google.com/url?q=https://api.prevision.com.br/graphql&sa=D&source=editors&ust=1695304659228353&usg=AOvVaw0UkiTcfou9XL-JtW-rtSL8). Para mais informações a respeito, veja esta [introdução ao GraphQL](https://graphql.org/learn/).\n\n# Autenticação\n\nSua empresa possui acesso à API através de um usuário técnico com permissões de leitura. Na plataforma WEB, basta acessar a partir do menu lateral a opção **Configurações** e em seguida a aba **Integrações**, copiando o valor do campo **API da Prevision** (apenas usuários administrativos possuem acesso a esse painel). Você utilizará essa chave de API como o token de autenticação nas requisições.\n\n<img src=\"https://content.pstmn.io/4d0976d4-62d0-4299-a644-03ab08c99f2d/aW1hZ2UucG5n\" width=\"661\" height=\"374\">\n\n**Atenção:** o token é alfanumérico e possui 24 caracteres. Caso ocorra algum erro de autenticação, revise o fluxo e o formato do token. Além disso, é comum algumas empresas terem contas de teste e contas de produção, portanto, verifique se o token utilizado é o da conta correta.\n\n# Requisição\n\nA validação das requisições é feita através do cabeçalho da requisição. São necessários dois parâmetros nos headers das requisições:\n\n- \"Accept\": \"application/json\";\n    \n- \"Content-Type\": \"application/json\";\n    \n- \"UserAuthorization\": \"token {token}\", por exemplo:\n    \n    - `\"UserAuthorization\": \"token RiMMSjy9xNc9VLRC8z4GXuog\"`\n        \n\nO endpoint para consulta é [https://api.prevision.com.br/graphql](https://api.prevision.com.br/graphql) , com o method **POST.**\n\nAbaixo disponibilizamos alguns exemplos dos principais casos de uso da API, sendo uma ótima maneira de entender como utilizar a API. Junto de cada caso de uso se encontra um exemplo de requisição. Você pode escolher no seletor no topo da página a linguagem de sua preferência, impactando no código de exemplo gerado.\n\n# Coleta de dados paginados\n\nPara trazer informações sobre um conjunto de dados é necessário utilizar um recurso do tipo Página. Estes recursos possuem o sufixo **Page** no nome.\n\nPara consultas paginadas é obrigatório a presença dos parâmetros `after` e `first`, mesmo que eles estejam vazios. Outras variáveis importantes a serem consideradas e compreendidas são:\n\n- **pageInfo**: são as informações sobre a página atual da consulta, indicando o valor do cursor inicial, do cursor final e se existe uma página seguinte;\n    \n- **node**: é um conjunto de itens, uma página;\n    \n- **edges**: são a junção do nodo com seu respectivo curso;\n    \n- **nodes**: é o retorno com o conjunto dos objetos sem o cursor;\n    \n- **totalCount**: é o número total de itens que são passíveis de retorno. 20 itens com 10 itens por página (`\"first\": 10`) indicam 2 páginas.\n    \n\nVocê pode encontrar um exemplo de requisição paginada no caso de uso [Lista de Projetos](https://documenter.getpostman.com/view/5656281/2s9YCBsoav#57220a6c-26f6-4f35-8691-bf407f905381).\n\nEm caso de dúvidas ou busca por mais informações, leia o guia oficial de paginação em [GraphQL Pagination](https://www.google.com/url?q=https://graphql.org/learn/pagination&sa=D&source=editors&ust=1695304659244772&usg=AOvVaw2_D4wIheaUhXt9gh1NM33C).\n\n# Como utilizar esta documentação\n\n- Para criar exemplos, pode-se utilizar ferramentas de formatação como: [https://jsonformatter.org/graphql-formatter](https://jsonformatter.org/graphql-formatter);\n    \n- Na parte superior, você encontra seletores de formato da página (uma ou duas colunas) e um seletor de linguagem de exemplo. Os códigos de exemplo gerados serão de acordo com a linguagem selecionada (default **cURL**);\n    \n- Cada caso de uso terá uma descrição, os headers necessários, um body contendo a query e as variáveis do caso de uso e exemplos de retorno da requisição (do lado direito no modo **double column**, ou abaixo no modo **single column**);\n    \n\n**ATENÇÃO:** Os identificadores (IDs) fornecidos na seção “GraphQL Variables” servem **exclusivamente como exemplos ilustrativos**. É essencial que você os substitua pelos IDs específicos que se aplicam ao seu ambiente operacional.\n\n<img src=\"https://content.pstmn.io/4b0aac34-8344-49c9-85fa-c0c6ddcc8e5b/aW1hZ2UucG5n\" width=\"823\" height=\"596\">\n\n# Principais casos de uso\n\nAbaixo você encontra os principais casos de uso da API da Prevision, com descrições e exemplos. Certifique-se de ter lido todas as orientações acima pois elas possuem todas as configurações e informações necessárias para um bom uso da API! Nosso Suporte se limita a oferecer as documentações e a resolver erros pontuais. No momento não oferecemos nenhum tipo de acompanhamento técnico! Caso encontre algum erro ou inconsistênia, entre em contato através do nosso time de Suporte.","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"5656281","team":12931121,"collectionId":"6a89b10a-12cb-4128-ba94-09f73d6d4d45","publishedId":"2s9YCBsoav","public":true,"publicUrl":"https://api-postman.prevision.com.br","privateUrl":"https://go.postman.co/documentation/5656281-6a89b10a-12cb-4128-ba94-09f73d6d4d45","customColor":{"top-bar":"FFFFFF","right-sidebar":"505050","highlight":"A27EDC"},"documentationLayout":"classic-single-column","customisation":{"metaTags":[{"name":"description","value":"Documentação da API pública da Prevision.\n\n-------------\n\nPrevision public API documentation."},{"name":"title","value":"Prevision API"}],"appearance":{"default":"system_default","themes":[{"name":"dark","logo":"https://content.pstmn.io/cebc42c3-edf1-4c87-a6f1-bde92953adcd/bWluaS1sb2dvLnBuZw==","colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"A27EDC"}},{"name":"light","logo":"https://content.pstmn.io/abf4bcb8-7ebe-4c02-aa73-f35268045d70/bWluaS1sb2dvLnBuZw==","colors":{"top-bar":"FFFFFF","right-sidebar":"505050","highlight":"A27EDC"}}]}},"version":"8.10.0","publishDate":"2025-02-11T18:59:52.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"Prevision API","description":"Documentação da API pública da Prevision.\n\n-------------\n\nPrevision public API documentation."},"logos":{"logoLight":"https://content.pstmn.io/abf4bcb8-7ebe-4c02-aa73-f35268045d70/bWluaS1sb2dvLnBuZw==","logoDark":"https://content.pstmn.io/cebc42c3-edf1-4c87-a6f1-bde92953adcd/bWluaS1sb2dvLnBuZw=="}},"statusCode":200},"environments":[{"name":"Public headers","id":"a7c12444-d4de-4a7c-91c3-52bd7b8b7c4f","owner":"5656281","values":[{"key":"UserAuthorization","value":"token <token>","enabled":true,"type":"default"},{"key":"Accept","value":"application/json","enabled":true,"type":"default"},{"key":"Host","value":"https://api.prevision.com.br","enabled":true,"type":"default"},{"key":"Content-Type","value":"application/json","enabled":true,"type":"default"},{"key":"ProjectId","value":"\"ID do projeto\"","enabled":true,"type":"default"}],"published":true}],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/c8706b3f717fbebeafb4c060713fe4b146523973c414a03cb06e1d9cc0232a02","favicon":"https://prevision.com.br/favicon.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"},{"label":"Public headers","value":"5656281-a7c12444-d4de-4a7c-91c3-52bd7b8b7c4f"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/2s9YCBsoav"}