Documentação Autenticação

Autenticação

Aprenda como autenticar suas requisições à API do Aprovei Checkout usando API Keys.

Visão Geral

Todas as requisições à nossa API precisam ser autenticadas usando uma API Key. Esta chave deve ser incluída no header de cada requisição.

Segurança: Mantenha sua API Key em segredo! Não compartilhe ela em repositórios públicos, código front-end ou com terceiros não autorizados.

Como Obter sua API Key

  1. Faça login no painel do Aprovei Checkout
  2. Acesse Configurações → API Keys
  3. Clique em "Gerar Nova API Key"
  4. Copie a chave gerada e guarde em local seguro

Importante: A API Key será exibida apenas uma vez no momento da criação. Se você perder a chave, precisará gerar uma nova.

Como Usar a API Key

Inclua sua API Key no header api-key de todas as requisições:

Exemplo com cURL

cURL
curl --location 'https://app.aproveicheckout.com.br/api/checkout' \
--header 'api-key: SUA_API_KEY_AQUI' \
--header 'Content-Type: application/json' \
--data '{
    "customer": {
        "name": "João Silva",
        "email": "joao@example.com"
    }
}'

Exemplo com PHP

PHP
<?php

$apiKey = 'SUA_API_KEY_AQUI';
$url = 'https://app.aproveicheckout.com.br/api/checkout';

$data = [
    'customer' => [
        'name' => 'João Silva',
        'email' => 'joao@example.com'
    ]
];

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'api-key: ' . $apiKey,
    'Content-Type: application/json'
]);

$response = curl_exec($ch);
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

if ($statusCode === 200) {
    $result = json_decode($response, true);
    print_r($result);
} else {
    echo "Erro: " . $response;
}

Exemplo com JavaScript (Node.js)

JavaScript
const axios = require('axios');

const apiKey = 'SUA_API_KEY_AQUI';
const url = 'https://app.aproveicheckout.com.br/api/checkout';

const data = {
  customer: {
    name: 'João Silva',
    email: 'joao@example.com'
  }
};

axios.post(url, data, {
  headers: {
    'api-key': apiKey,
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log('Sucesso:', response.data);
})
.catch(error => {
  console.error('Erro:', error.response?.data || error.message);
});

Exemplo com Python

Python
import requests
import json

api_key = 'SUA_API_KEY_AQUI'
url = 'https://app.aproveicheckout.com.br/api/checkout'

headers = {
    'api-key': api_key,
    'Content-Type': 'application/json'
}

data = {
    'customer': {
        'name': 'João Silva',
        'email': 'joao@example.com'
    }
}

response = requests.post(url, headers=headers, json=data)

if response.status_code == 200:
    print('Sucesso:', response.json())
else:
    print('Erro:', response.text)

Erros de Autenticação

API Key Ausente

401 Unauthorized
{
  "status": "error",
  "message": "API Key não fornecida",
  "code": "AUTH_MISSING_KEY"
}

API Key Inválida

401 Unauthorized
{
  "status": "error",
  "message": "API Key inválida",
  "code": "AUTH_INVALID_KEY"
}

API Key Expirada

401 Unauthorized
{
  "status": "error",
  "message": "API Key expirada ou revogada",
  "code": "AUTH_EXPIRED_KEY"
}

Boas Práticas

Use Variáveis de Ambiente

Armazene sua API Key em variáveis de ambiente (.env) ao invés de hardcoded no código.

Rotacione suas Chaves

Gere novas API Keys periodicamente para aumentar a segurança.

Use HTTPS

Sempre faça requisições através de HTTPS para garantir que sua API Key seja transmitida de forma segura.

Nunca Exponha no Front-End

Não inclua sua API Key em código JavaScript que roda no navegador ou em aplicativos mobile.