{"_id":"5776846404f7500e0095db42","parentDoc":null,"__v":23,"version":{"_id":"575aeffae12cf20e002f306f","project":"575aeffae12cf20e002f306c","__v":30,"createdAt":"2016-06-10T16:51:06.080Z","releaseDate":"2016-06-10T16:51:06.080Z","categories":["575aeffae12cf20e002f3070","575af039a083950e004487f7","575af5c7ba4ed70e000ca288","57602fe5b82256240055c657","57602ff6c811102000cef302","576030909b1a9a220067ca40","57604518b82256240055c722","5761a63d207db7170022fc14","5761b9a2b65324200072d79e","576832939f0bf4190014ffdf","576832c09f0bf4190014ffe1","576832cba151c10e004316f0","576832d5bb15f40e00a288ec","576832e107b1f30e0039c645","577680bf3cee3a0e00a000bc","577ff3b1ff48990e000c6806","5783f78c5cbce30e0074e2b7","5783f86292edb92200e6101c","5783f86dbfbba719003f0d8b","5783f8755cbce30e0074e2b8","5783f8b65cbce30e0074e2b9","5783f8bf5cbce30e0074e2ba","5783f8d8ce802f0e0087d574","578529f887c9280e0090394b","57852aeb87c9280e0090394d","57866e72b2f4060e00fa39ca","57ab6d5c39c2fd1900191879","57f39451ab0ee12000bef915","582499a0d90fa027009b259e","58c29df1258e5a1900b60478"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"2016","version_clean":"1.0.0","version":"1"},"project":"575aeffae12cf20e002f306c","category":{"_id":"577680bf3cee3a0e00a000bc","project":"575aeffae12cf20e002f306c","version":"575aeffae12cf20e002f306f","__v":0,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-07-01T14:39:59.801Z","from_sync":false,"order":15,"slug":"endpoints","title":"Autenticação API e Endpoints"},"user":"57601a13af3e090e00108059","updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-07-01T14:55:32.627Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":0,"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\nPara sua autenticação na API, deve ser utilizado seu par de chaves Client (\"Client_Id\" e \"Client_Secret\") da aplicação criada em sua conta Gerencianet.\n\n\n## Autorização de acesso para aplicação\n\nA Nova 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/\" target=\"_blank\">OAuth</a> como framework de autorização à API. Todas as solicitações de OAuth devem utilizar o seguinte <em>endpoint</em> base:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"  \\\"URL\\\": {\\n    \\\"sandbox\\\": \\\"https://sandbox.gerencianet.com.br/v1/\\\"\\n  },\",\n      \"language\": \"json\",\n      \"name\": \"Desenvolvimento\"\n    },\n    {\n      \"code\": \"  \\\"URL\\\": {\\n    \\\"production\\\": \\\"https://api.gerencianet.com.br/v1/\\\"\\n  },\",\n      \"language\": \"json\",\n      \"name\": \"Produção\"\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\n## Endpoint: Authorize\n\nA Nova API da Gerencianet é compatível com o protocolo <a href=\"http://oauth.net/2/\" target=\"_blank\">OAuth 2.0</a> para autorizar acesso à API.\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. Abaixo é relatado um exemplo do token Bearer (<a href=\"http://tools.ietf.org/html/rfc6750\" target=\"_blank\">RFC 7650</a>) utilizado no OAuth2:\n\n<code>Authorization: Bearer RsT5OjbzRn430zqMLgV3Ia</code>\n\nO <em>endpoint</em> base é:</p>\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## 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 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}\n[/block]","excerpt":"Você está em: *\"Autenticação API e Endpoints > Autenticação API\"*","slug":"endpoint-autorizacao-oauth","type":"basic","title":"Autenticação API"}

Autenticação API

Você está em: *"Autenticação API e Endpoints > Autenticação API"*

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. Para sua autenticação na API, deve ser utilizado seu par de chaves Client ("Client_Id" e "Client_Secret") da aplicação criada em sua conta Gerencianet. ## Autorização de acesso para aplicação A Nova 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/" target="_blank">OAuth</a> como framework de autorização à API. Todas as solicitações de OAuth devem utilizar o seguinte <em>endpoint</em> base: [block:code] { "codes": [ { "code": " \"URL\": {\n \"sandbox\": \"https://sandbox.gerencianet.com.br/v1/\"\n },", "language": "json", "name": "Desenvolvimento" }, { "code": " \"URL\": {\n \"production\": \"https://api.gerencianet.com.br/v1/\"\n },", "language": "json", "name": "Produção" } ] } [/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>. ## Endpoint: Authorize A Nova API da Gerencianet é compatível com o protocolo <a href="http://oauth.net/2/" target="_blank">OAuth 2.0</a> para autorizar acesso à API. 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. Abaixo é relatado um exemplo do token Bearer (<a href="http://tools.ietf.org/html/rfc6750" target="_blank">RFC 7650</a>) utilizado no OAuth2: <code>Authorization: Bearer RsT5OjbzRn430zqMLgV3Ia</code> O <em>endpoint</em> base é:</p> [block:code] { "codes": [ { "code": " \"authorize\": {\n \"route\": \"/v1/authorize\",\n \"method\": \"post\"", "language": "json", "name": "Endpoint: Authorize" } ] } [/block] ## 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 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" } ] } [/block]