Security

Todas as APIs da PetroW são acessadas através de um endereço com certificado SSL https://petrow.com.br/api/....

APP

Através de sua área administrativa, você deve cadastrar sua aplicação (APP), você pode cadastrar quantas APPs quiser, cada APP recebe um APP Code e um APP Secret, o APP Code identifica qual APP está acessando as APIs da PetroW, o APP Secret é utilizado apenas para você gerar o seu Token de acesso, podendo ser renovado sempre que você quiser.

Token

Para acessar qualquer API da PetroW é necessário fornecer o seu APP Code e o seu Token. O Token é gerado através de um HTTP GET no endereço https://petrow.com.br/api/v1/tokens/?appCode={APP Code}&appSecret={APP Secret}

Você irá receber um JSON como resposta similar ao exemplo abaixo (experimente):
{
   "expires_in": 43316,
   "token": "c0fa269a733a3acf874efc7a0f1a0035",
   "status": "OK"
}

A chave expires_in indica o tempo de validade (em segundos) do seu Token, após o tempo indicado este Token expira, sendo necessário a requisição de um novo Token.

Caso você faça uma nova requisição (antes de expirar o tempo indicado na chave expires_in), o mesmo Token será retornado.

Caso você precise invalidar este Token, basta renovar a sua APP Secret.

Boas práticas

Você deve se preocupar em como guardar suas credencias de forma segura. Se alguém obtém o seu APP Code / APP Secret, o mesmo poderá acessar nossas APIs, consumindo as suas transações.

Nunca salve suas credenciais junto ao seu código fonte ou banco de dados, separar as credencias do seu código fonte e banco de dados é uma boa prática e recomendamos sua adoção.

Best practices for securely using API keys When you use API keys in your applications, take care to keep them secure. Publicly exposing your credentials can result in your account being compromised, which could lead to unexpected charges on your account. To keep your API keys secure, follow these best practices: Do not embed API keys directly in code: API keys that are embedded in code can be accidentally exposed to the public?for example, if you forget to remove the keys from code that you share. Instead of embedding your API keys in your applications, store them in environment variables or in files outside of your application's source tree. Do not store API keys in files inside your application's source tree: If you store API keys in files, keep the files outside your application's source tree to help ensure your keys do not end up in your source code control system. This is particularly important if you use a public source code management system such as GitHub. Restrict your API keys to be used by only the IP addresses, referrer URLs, and mobile apps that need them: By restricting the IP addresses, referrer URLs, and mobile apps that can use each key, you can reduce the impact of a compromised API key. You can specify the hosts and apps that can use each key from the console by opening the Credentials page and then either creating a new API key with the settings you want, or editing the settings of an API key. Delete unneeded API keys: To minimize your exposure to attack, delete any API keys that you no longer need. Regenerate your API keys periodically: You can regenerate API keys from the API Console Credentials page by clicking Regenerate key for each key. Then, update your applications to use the newly-generated keys. Your old keys will continue to work for 24 hours after you generate replacement keys. Review your code before publicly releasing it: Ensure that your code does not contain API keys or any other private information before you make your code publicly available.


* API é a sigla para Application Programming Interface e se refere a um conjunto de rotinas e padrões para acesso a um aplicativo ou plataforma.

* SSL é a sigla para Secure Socket Layer e se refere a um padrão de segurança que cria um canal criptogrado entre um servidor web e um navegador (browser) para garantir que todos os dados transmitidos sejam sigilosos e seguros.

* APP é a abreviação da palavra "application" ou aplicativo.

* TOKEN é uma chave ou código de acesso.

* HTTP é a sigla para Hypertext Transfer Protocol (Protocolo de Transferência de Dados).

* GET é um método de comunicação do protocolo HTTP.

* JSON é a sigla para JavaScript Object Notation e se refere a uma estrutura de dados.