{"metadata":{"image":[],"title":"","description":""},"api":{"url":"","auth":"required","results":{"codes":[]},"settings":"","params":[]},"next":{"description":"","pages":[]},"title":"Autenticação API","type":"basic","slug":"endpoint-autorizacao-oauth","excerpt":"Passo a passo e mais informações de como  fazer a autenticação  na API Gerencianet com o AUTH2","body":"Este conteúdo tem como objetivo auxiliar desenvolvedores no que tange a integração com outras linguagens nas quais não oferecemos ainda biblioteca, ou aqueles que desejam integrar com nossa API sem utilizar nenhuma de nossas SDKs disponibilizadas.\n\nA API Gerencianet responde por requisições HTTP, indiferentemente da linguagem utilizada no *client*. Desta forma, caso por não utilizar alguma de nossas SDKs, você poderá enviar os POSTs respeitando a especificação do protocolo HTTP.\n\nPara sua autenticação na API, deve ser utilizado seu par de chaves Client (<code>Client_Id</code> e <code>Client_Secret</code>) da aplicação criada em sua conta Gerencianet.\n\n## Autorização com OAuth2\n\nO mecanismo de autorização das requisições feitas à API da Gerencianet é compatível com o [protocolo OAuth 2.0](http://oauth.net/2/). O objetivo do OAuth2 é a obtenção de um token de acesso (`access_token`). Esse `access_token` é usado para autorizar todas as chamadas feitas à API, verificando se uma determinada aplicação tem permissões para consumir o endpoint requisitado.\n\nA autenticação das requisições é feita com HTTP  [Basic Auth](https://en.wikipedia.org/wiki/Basic_access_authentication) a partir do `Client_Id` e `Client_Secret` da aplicação criada em sua conta da Gerencianet.\n\nAtravés dessa autenticação o OAuth poderá responder quais as autorizações que a aplicação tem e, consequentemente, autorizar ou negar as requisições de acordo com essa informação.\n\n\n## Autorização de acesso para aplicação\n\nA API da Gerencianet é <a href=\"http://www.restapitutorial.com/\" target=\"_blank\" title=\"[link externo]\">RESTful</a>, as requisições/respostas são em JSON e utilizamos o <a href=\"http://oauth.net/2/\" target=\"_blank\">OAuth2</a> como framework de autorização à API. Todas as solicitações de OAuth2 devem utilizar o seu respectivo <em>endpoint</em> base.\n\nPara a API Boletos a rota base você encontra na tabela abaixo:\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Ambiente\",\n    \"h-1\": \"Rota base\",\n    \"0-0\": \"Produção\",\n    \"0-1\": \"`https://api.gerencianet.com.br/`\",\n    \"1-0\": \"Homologação\",\n    \"1-1\": \"`https://sandbox.gerencianet.com.br/`\"\n  },\n  \"cols\": 2,\n  \"rows\": 2\n}\n[/block]\nPara a **API Pix** é necessário o uso de um certificado emitido em sua conta Gerencianet, assim a autorização segue o padrão de segurança *mutual Transport Layer Security*(**mTLS**). \nMais informações você encontra em nossa página de Autorização com mTLS, basta clicar no botão abaixo.\n\n[block:html]\n{\n  \"html\": \"<a href=\\\"https://dev.gerencianet.com.br/v1.1.0/docs/autorizacao-api-mtls\\\" title=\\\"Autorização com mTLS\\\"><button type=\\\"button\\\" class=\\\"btn btn-default navbar-btn buttonorange\\\">Autorização com mTLS</button></a>\"\n}\n[/block]\n## Endpoint: Authorize\n\nA API da Gerencianet é compatível com o protocolo <a href=\"http://oauth.net/2/\" target=\"_blank\">OAuth 2.0</a> para autorizar acesso à API. As requisições são autenticadas usando <a href=\"https://en.wikipedia.org/wiki/Basic_access_authentication\" target=\"_blank\" title=\"Link Externo\">HTTP Basic Auth</a>.\n\nO objetivo do protocolo OAuth2 é a troca de uma cadeia de tokens entre o *Cliente* e *Server Resource*. Esse token é usado para autenticar todas as chamadas a API usando *Authorization* no cabeçalho do HTTP.\n\nO *endpoint* base para a API Boletos é:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"    \\\"authorize\\\": {\\n      \\\"route\\\": \\\"/v1/authorize\\\",\\n      \\\"method\\\": \\\"post\\\"\",\n      \"language\": \"json\",\n      \"name\": \"Endpoint: Authorize\"\n    }\n  ]\n}\n[/block]\n## Bibliotecas OAuth2\n\nHá bibliotecas OAuth2 para inúmeras linguagens. Se por alguma razão decida não utilizar nenhuma de nossas SDKs disponibilizadas, será necessário que você faça este processo de autenticação. <a href=\"https://oauth.net/code/\" target=\"_blank\" title=\"Link Externo\">Escolha uma biblioteca antes de começar</a>.\n\n## SDKs\n\nCaso opte por utilizar nossa SDK, todas as bibliotecas disponibilizadas aqui já estão preparadas para realizar a autenticação com OAuth automaticamente. Clique na aba referente à linguagem de sua preferência para baixar a biblioteca.\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"// Instalando via Packagist com o Composer:\\n// Packagist: https://packagist.org/packages/gerencianet/gerencianet-sdk-php\\n// Composer: https://getcomposer.org/\\n\\n$ composer require gerencianet/gerencianet-sdk-php\\n\\n// Ou, se preferir, confira a documentação completa sobre como instalar a SDK\\n// https://dev.gerencianet.com.br/docs/instalacao-sdk-php\",\n      \"language\": \"php\"\n    },\n    {\n      \"code\": \"// Instalando via NPM (https://www.npmjs.com/package/gn-api-sdk-node):\\n\\n$ npm install gn-api-sdk-node\\n\\n// Ou, se preferir, confira a documentação completa sobre como instalar a SDK\\n// https://dev.gerencianet.com.br/docs/instalacao-sdk-nodejs\",\n      \"language\": \"javascript\",\n      \"name\": \"NodeJS\"\n    },\n    {\n      \"code\": \"// Instalando via RubyGems (https://rubygems.org/gems/gerencianet):\\n\\n$ gem install gerencianet\\n\\n// Ou, se preferir, confira a documentação completa sobre como instalar a SDK\\n// https://dev.gerencianet.com.br/docs/instalacao-sdk-ruby\",\n      \"language\": \"ruby\"\n    },\n    {\n      \"code\": \"// Instalando via Pip (https://pypi.python.org/pypi/pip):\\n\\n$ pip install gerencianet\\n\\n// Ou, se preferir, confira a documentação completa sobre como instalar a SDK\\n// https://dev.gerencianet.com.br/docs/instalacao-sdk-python\",\n      \"language\": \"python\"\n    },\n    {\n      \"code\": \"// Instalando via NuGet (https://www.nuget.org/):\\n\\n$ nuget install Gerencianet.SDK\\n  \\n// Ou, se preferir, confira a documentação completa sobre como instalar a SDK\\n// https://dev.gerencianet.com.br/docs/instalacao-sdk-dotnet\",\n      \"language\": \"asp\",\n      \"name\": \".NET\"\n    },\n    {\n      \"code\": \"// Instalando via Visual Studio package manager:\\n\\nPM>Install-Package Gerencianet.NETCore.SDK -Version 2.0.1\\n  \\n// Ou, se preferir, confira a documentação completa sobre como instalar a SDK\\n// https://dev.gerencianet.com.br/docs/net-core\",\n      \"language\": \"asp\",\n      \"name\": \".NET Core\"\n    },\n    {\n      \"code\": \"// Instalando via gradle:\\ncompile 'br.com.gerencianet.gnsdk:gn-api-sdk-java:0.1.0'\\n\\n// Instalando via maven:\\n<dependency>\\n    <groupId>br.com.gerencianet.gnsdk</groupId>\\n    <artifactId>gn-api-sdk-java</artifactId>\\n    <version>0.1.0</version>\\n</dependency>\\n// O Maven automaticamente instalará a SDK e todas as suas dependências.\\n\\n// Ou, se preferir, confira a documentação completa sobre como instalar a SDK\\n// https://dev.gerencianet.com.br/docs/instalacao-sdk-java\",\n      \"language\": \"java\"\n    },\n    {\n      \"code\": \"// Confira a documentação completa sobre como instalar a SDK\\n// https://dev.gerencianet.com.br/docs/instalacao-sdk-delphi\",\n      \"language\": \"json\",\n      \"name\": \"Delphi\"\n    },\n    {\n      \"code\": \"$ go get github.com/gerencianet/gn-api-sdk-go/gerencianet\\n\\n// Ou, se preferir, confira a documentação completa:\\n// https://dev.gerencianet.com.br/docs/instalacao-sdk-go\",\n      \"language\": \"go\"\n    },\n    {\n      \"code\": \"// Confira a documentação completa sobre como instalar a SDK\\nhttps://dev.gerencianet.com.br/docs/dart\",\n      \"language\": \"go\",\n      \"name\": \"Flutter\"\n    },\n    {\n      \"code\": \"// Instalando via NPM (https://www.npmjs.com/package/gn-api-sdk-node):\\n\\n$ npm install gn-api-sdk-typescript\\n\\n// Ou, se preferir, confira a documentação completa sobre como instalar a SDK\\n// https://dev.gerencianet.com.br/docs/typescript\",\n      \"language\": \"typescript\",\n      \"name\": \"TypeScript\"\n    }\n  ]\n}\n[/block]","updates":[],"order":0,"isReference":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"_id":"606f2ca7c5ba910078783457","parentDoc":null,"__v":23,"createdAt":"2016-07-01T14:55:32.627Z","version":{"version":"1.1.0","version_clean":"1.1.0","codename":"2021","is_stable":true,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["606f2ca6c5ba91007878342b","575af039a083950e004487f7","575af5c7ba4ed70e000ca288","606f2ca6c5ba91007878342c","606f2ca6c5ba91007878342d","606f2ca6c5ba91007878342e","606f2ca6c5ba91007878342f","5761a63d207db7170022fc14","5761b9a2b65324200072d79e","576832939f0bf4190014ffdf","576832c09f0bf4190014ffe1","576832cba151c10e004316f0","576832d5bb15f40e00a288ec","576832e107b1f30e0039c645","606f2ca6c5ba910078783430","606f2ca6c5ba910078783431","5783f78c5cbce30e0074e2b7","606f2ca6c5ba910078783432","606f2ca6c5ba910078783433","606f2ca6c5ba910078783434","606f2ca6c5ba910078783435","606f2ca6c5ba910078783436","606f2ca6c5ba910078783437","578529f887c9280e0090394b","606f2ca6c5ba910078783438","606f2ca6c5ba910078783439","606f2ca6c5ba91007878343a","606f2ca6c5ba91007878343b","606f2ca6c5ba91007878343c","606f2ca6c5ba91007878343d","606f2ca6c5ba91007878343e","606f2ca6c5ba91007878343f","606f2ca6c5ba910078783440","606f2ca6c5ba910078783441","60d61f026ddc3901a32ee5f1","60ec37c637005f015e54174e","61473375119247002a9c14d7"],"_id":"606f2ca7c5ba9100787834c6","project":"575aeffae12cf20e002f306c","createdAt":"2016-06-10T16:51:06.080Z","releaseDate":"2016-06-10T16:51:06.080Z","__v":3,"forked_from":"575aeffae12cf20e002f306f"},"githubsync":"","project":"575aeffae12cf20e002f306c","category":{"sync":{"isSync":false,"url":""},"pages":[],"title":"Autenticação e Endpoints","slug":"endpoints","order":22,"from_sync":false,"reference":false,"_id":"606f2ca6c5ba910078783430","project":"575aeffae12cf20e002f306c","version":"606f2ca7c5ba9100787834c6","__v":0,"createdAt":"2016-07-01T14:39:59.801Z"},"user":"57601a13af3e090e00108059"}

Autenticação API

Passo a passo e mais informações de como fazer a autenticação na API Gerencianet com o AUTH2

Este conteúdo tem como objetivo auxiliar desenvolvedores no que tange a integração com outras linguagens nas quais não oferecemos ainda biblioteca, ou aqueles que desejam integrar com nossa API sem utilizar nenhuma de nossas SDKs disponibilizadas. A API Gerencianet responde por requisições HTTP, indiferentemente da linguagem utilizada no *client*. Desta forma, caso por não utilizar alguma de nossas SDKs, você poderá enviar os POSTs respeitando a especificação do protocolo HTTP. Para sua autenticação na API, deve ser utilizado seu par de chaves Client (<code>Client_Id</code> e <code>Client_Secret</code>) da aplicação criada em sua conta Gerencianet. ## Autorização com OAuth2 O mecanismo de autorização das requisições feitas à API da Gerencianet é compatível com o [protocolo OAuth 2.0](http://oauth.net/2/). O objetivo do OAuth2 é a obtenção de um token de acesso (`access_token`). Esse `access_token` é usado para autorizar todas as chamadas feitas à API, verificando se uma determinada aplicação tem permissões para consumir o endpoint requisitado. A autenticação das requisições é feita com HTTP [Basic Auth](https://en.wikipedia.org/wiki/Basic_access_authentication) a partir do `Client_Id` e `Client_Secret` da aplicação criada em sua conta da Gerencianet. Através dessa autenticação o OAuth poderá responder quais as autorizações que a aplicação tem e, consequentemente, autorizar ou negar as requisições de acordo com essa informação. ## Autorização de acesso para aplicação A API da Gerencianet é <a href="http://www.restapitutorial.com/" target="_blank" title="[link externo]">RESTful</a>, as requisições/respostas são em JSON e utilizamos o <a href="http://oauth.net/2/" target="_blank">OAuth2</a> como framework de autorização à API. Todas as solicitações de OAuth2 devem utilizar o seu respectivo <em>endpoint</em> base. Para a API Boletos a rota base você encontra na tabela abaixo: [block:parameters] { "data": { "h-0": "Ambiente", "h-1": "Rota base", "0-0": "Produção", "0-1": "`https://api.gerencianet.com.br/`", "1-0": "Homologação", "1-1": "`https://sandbox.gerencianet.com.br/`" }, "cols": 2, "rows": 2 } [/block] Para a **API Pix** é necessário o uso de um certificado emitido em sua conta Gerencianet, assim a autorização segue o padrão de segurança *mutual Transport Layer Security*(**mTLS**). Mais informações você encontra em nossa página de Autorização com mTLS, basta clicar no botão abaixo. [block:html] { "html": "<a href=\"https://dev.gerencianet.com.br/v1.1.0/docs/autorizacao-api-mtls\" title=\"Autorização com mTLS\"><button type=\"button\" class=\"btn btn-default navbar-btn buttonorange\">Autorização com mTLS</button></a>" } [/block] ## Endpoint: Authorize A API da Gerencianet é compatível com o protocolo <a href="http://oauth.net/2/" target="_blank">OAuth 2.0</a> para autorizar acesso à API. As requisições são autenticadas usando <a href="https://en.wikipedia.org/wiki/Basic_access_authentication" target="_blank" title="Link Externo">HTTP Basic Auth</a>. O objetivo do protocolo OAuth2 é a troca de uma cadeia de tokens entre o *Cliente* e *Server Resource*. Esse token é usado para autenticar todas as chamadas a API usando *Authorization* no cabeçalho do HTTP. O *endpoint* base para a API Boletos é: [block:code] { "codes": [ { "code": " \"authorize\": {\n \"route\": \"/v1/authorize\",\n \"method\": \"post\"", "language": "json", "name": "Endpoint: Authorize" } ] } [/block] ## Bibliotecas OAuth2 Há bibliotecas OAuth2 para inúmeras linguagens. Se por alguma razão decida não utilizar nenhuma de nossas SDKs disponibilizadas, será necessário que você faça este processo de autenticação. <a href="https://oauth.net/code/" target="_blank" title="Link Externo">Escolha uma biblioteca antes de começar</a>. ## SDKs Caso opte por utilizar nossa SDK, todas as bibliotecas disponibilizadas aqui já estão preparadas para realizar a autenticação com OAuth automaticamente. Clique na aba referente à linguagem de sua preferência para baixar a biblioteca. [block:code] { "codes": [ { "code": "// Instalando via Packagist com o Composer:\n// Packagist: https://packagist.org/packages/gerencianet/gerencianet-sdk-php\n// Composer: https://getcomposer.org/\n\n$ composer require gerencianet/gerencianet-sdk-php\n\n// Ou, se preferir, confira a documentação completa sobre como instalar a SDK\n// https://dev.gerencianet.com.br/docs/instalacao-sdk-php", "language": "php" }, { "code": "// Instalando via NPM (https://www.npmjs.com/package/gn-api-sdk-node):\n\n$ npm install gn-api-sdk-node\n\n// Ou, se preferir, confira a documentação completa sobre como instalar a SDK\n// https://dev.gerencianet.com.br/docs/instalacao-sdk-nodejs", "language": "javascript", "name": "NodeJS" }, { "code": "// Instalando via RubyGems (https://rubygems.org/gems/gerencianet):\n\n$ gem install gerencianet\n\n// Ou, se preferir, confira a documentação completa sobre como instalar a SDK\n// https://dev.gerencianet.com.br/docs/instalacao-sdk-ruby", "language": "ruby" }, { "code": "// Instalando via Pip (https://pypi.python.org/pypi/pip):\n\n$ pip install gerencianet\n\n// Ou, se preferir, confira a documentação completa sobre como instalar a SDK\n// https://dev.gerencianet.com.br/docs/instalacao-sdk-python", "language": "python" }, { "code": "// Instalando via NuGet (https://www.nuget.org/):\n\n$ nuget install Gerencianet.SDK\n \n// Ou, se preferir, confira a documentação completa sobre como instalar a SDK\n// https://dev.gerencianet.com.br/docs/instalacao-sdk-dotnet", "language": "asp", "name": ".NET" }, { "code": "// Instalando via Visual Studio package manager:\n\nPM>Install-Package Gerencianet.NETCore.SDK -Version 2.0.1\n \n// Ou, se preferir, confira a documentação completa sobre como instalar a SDK\n// https://dev.gerencianet.com.br/docs/net-core", "language": "asp", "name": ".NET Core" }, { "code": "// Instalando via gradle:\ncompile 'br.com.gerencianet.gnsdk:gn-api-sdk-java:0.1.0'\n\n// Instalando via maven:\n<dependency>\n <groupId>br.com.gerencianet.gnsdk</groupId>\n <artifactId>gn-api-sdk-java</artifactId>\n <version>0.1.0</version>\n</dependency>\n// O Maven automaticamente instalará a SDK e todas as suas dependências.\n\n// Ou, se preferir, confira a documentação completa sobre como instalar a SDK\n// https://dev.gerencianet.com.br/docs/instalacao-sdk-java", "language": "java" }, { "code": "// Confira a documentação completa sobre como instalar a SDK\n// https://dev.gerencianet.com.br/docs/instalacao-sdk-delphi", "language": "json", "name": "Delphi" }, { "code": "$ go get github.com/gerencianet/gn-api-sdk-go/gerencianet\n\n// Ou, se preferir, confira a documentação completa:\n// https://dev.gerencianet.com.br/docs/instalacao-sdk-go", "language": "go" }, { "code": "// Confira a documentação completa sobre como instalar a SDK\nhttps://dev.gerencianet.com.br/docs/dart", "language": "go", "name": "Flutter" }, { "code": "// Instalando via NPM (https://www.npmjs.com/package/gn-api-sdk-node):\n\n$ npm install gn-api-sdk-typescript\n\n// Ou, se preferir, confira a documentação completa sobre como instalar a SDK\n// https://dev.gerencianet.com.br/docs/typescript", "language": "typescript", "name": "TypeScript" } ] } [/block]