📖 Referência Completa de Endpoints
Esta seção fornece a especificação técnica detalhada para os principais endpoints de negócio da FastGivr API.
A URL base para todas as requisições é:
- Produção:
https://api.fastgivr.com.br/api/v1 - Sandbox:
https://api-sandbox.fastgivr.com.br/api/v1
1. POST /access/account/get-token (Autenticação)
Descrição e Regras
Gera um token JWT Bearer temporário que expira estritamente em 10 minutos. Este endpoint é o ponto de partida obrigatório para qualquer fluxo de integração programática.
- Método HTTP:
POST - Rota:
/access/account/get-token - Autenticação: Não requer cabeçalho de autenticação (usa Chave Secreta no corpo).
- Permissões Necessárias: Nenhuma (Endpoint Público de Acesso).
- Regras de Validação:
emaildeve ser um e-mail válido cadastrado no portal.tokendeve corresponder à chave secreta ativa (sec_test_...ousec_prod_...).
Parâmetros da Requisição (Body JSON)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
email | string | Sim | E-mail do proprietário da conta ou integrador. |
token | string | Sim | Chave Secreta da API (Secret Key). |
Código de Exemplo (Multi-Linguagem)
💻 cURL
bash
curl -X POST https://api.fastgivr.com.br/api/v1/access/account/get-token \
-H "Content-Type: application/json" \
-d '{
"email": "integrador@empresa.com",
"token": "sec_prod_xyz123"
}'💻 JavaScript (Fetch)
javascript
const response = await fetch('https://api.fastgivr.com.br/api/v1/access/account/get-token', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
email: 'integrador@empresa.com',
token: 'sec_prod_xyz123'
})
});
const data = await response.json();💻 TypeScript
typescript
import axios from 'axios';
interface AuthResponse {
success: boolean;
data: {
token: string;
token_type: string;
expires_at: string;
};
message: string;
}
const getAuthToken = async (): Promise<string> => {
const res = await axios.post<AuthResponse>('https://api.fastgivr.com.br/api/v1/access/account/get-token', {
email: 'integrador@empresa.com',
token: 'sec_prod_xyz123'
});
return res.data.data.token;
};💻 Python
python
import requests
payload = {
"email": "integrador@empresa.com",
"token": "sec_prod_xyz123"
}
response = requests.post("https://api.fastgivr.com.br/api/v1/access/account/get-token", json=payload)
token = response.json()["data"]["token"]💻 PHP
php
<?php
$ch = curl_init("https://api.fastgivr.com.br/api/v1/access/account/get-token");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode([
"email" => "integrador@empresa.com",
"token" => "sec_prod_xyz123"
]),
CURLOPT_HTTPHEADER => ["Content-Type: application/json"]
]);
$res = json_decode(curl_exec($ch), true);
$token = $res['data']['token'];
?>🤖 Markdown AI
markdown
# Solicitação de Token com Prompt
Use um agente inteligente para formatar a chamada de autenticação da FastGivr:
> "Gere uma requisição HTTP POST para obter o token do e-mail 'integrador@empresa.com' usando o token secreto contido na variável SEC_KEY."Respostas da API
sucesso (200 OK)
json
{
"success": true,
"data": {
"token": "2|apiKeyToken...",
"token_type": "Bearer",
"expires_at": "2026-05-18T15:20:00+00:00"
},
"message": "Autenticado com sucesso"
}erro (401 Unauthorized)
json
{
"success": false,
"message": "Credenciais de API inválidas."
}2. POST /quickpay/pix/charge (Criar Cobrança Pix)
Descrição e Regras
Gera um pagamento Pix imediato contendo a chave copia-e-cola e a imagem QR Code codificada em base64. A liquidação é instantânea na conta FastGivr.
- Método HTTP:
POST - Rota:
/quickpay/pix/charge - Autenticação: Sim (
Authorization: Bearer <TOKEN>). - Permissões Necessárias:
charges.create - Regras de Validação:
amountdeve ser um decimal positivo (mínimo:R$ 0,50).payer_documentdeve ser um CPF (11 dígitos) ou CNPJ (14 dígitos) válido.
Parâmetros da Requisição (Body JSON)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
amount | decimal | Sim | Valor cobrado em reais (ex: 150.00). |
payer_name | string | Sim | Nome completo do comprador. |
payer_document | string | Sim | CPF/CNPJ do comprador (apenas números). |
Código de Exemplo (Multi-Linguagem)
💻 cURL
bash
curl -X POST https://api.fastgivr.com.br/api/v1/quickpay/pix/charge \
-H "Authorization: Bearer 2|apiKeyToken..." \
-H "Content-Type: application/json" \
-d '{
"amount": 150.00,
"payer_name": "João da Silva",
"payer_document": "12345678909"
}'💻 JavaScript
javascript
const response = await fetch('https://api.fastgivr.com.br/api/v1/quickpay/pix/charge', {
method: 'POST',
headers: {
'Authorization': 'Bearer 2|apiKeyToken...',
'Content-Type': 'application/json'
},
body: JSON.stringify({
amount: 150.00,
payer_name: 'João da Silva',
payer_document: '12345678909'
})
});
const chargeData = await response.json();💻 TypeScript
typescript
import axios from 'axios';
interface PixChargeResponse {
success: boolean;
data: {
txid: string;
pix_copia_e_cola: string;
qrcode_image_base64: string;
amount: number;
};
}
const createPixCharge = async (token: string, amount: number, name: string, doc: string) => {
const res = await axios.post<PixChargeResponse>(
'https://api.fastgivr.com.br/api/v1/quickpay/pix/charge',
{ amount, payer_name: name, payer_document: doc },
{ headers: { Authorization: `Bearer ${token}` } }
);
return res.data;
};💻 Python
python
import requests
headers = {
"Authorization": "Bearer 2|apiKeyToken...",
"Content-Type": "application/json"
}
payload = {
"amount": 150.00,
"payer_name": "João da Silva",
"payer_document": "12345678909"
}
response = requests.post("https://api.fastgivr.com.br/api/v1/quickpay/pix/charge", json=payload, headers=headers)
print(response.json())💻 PHP
php
<?php
$ch = curl_init("https://api.fastgivr.com.br/api/v1/quickpay/pix/charge");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode([
"amount" => 150.00,
"payer_name" => "João da Silva",
"payer_document" => "12345678909"
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer 2|apiKeyToken...",
"Content-Type: application/json"
]
]);
$res = curl_exec($ch);
?>🤖 Markdown AI
markdown
# prompt para IA gerar o Pix
> "Gere um pagamento no Pix da FastGivr de R$ 150 para o comprador João da Silva, CPF 12345678909."Respostas da API
sucesso (201 Created)
json
{
"success": true,
"data": {
"txid": "pix_abc123xyz...",
"pix_copia_e_cola": "00020126580014br.gov.bcb.pix...",
"qrcode_image_base64": "iVBORw0KGgoAAAANSUhEUgAA...",
"amount": 150.00,
"status": "pending"
},
"message": "Cobrança Pix criada com sucesso."
}erro (422 Unprocessable Entity)
json
{
"success": false,
"message": "O CPF informado é inválido.",
"errors": {
"payer_document": ["O documento deve ser um CPF ou CNPJ válido."]
}
}3. POST /quickpay/withdrawals (Solicitar Saque PIX)
Descrição e Regras
Transfere o saldo de recebíveis disponível na FastGivr de forma instantânea para uma conta externa bancária usando chaves PIX.
- Método HTTP:
POST - Rota:
/quickpay/withdrawals - Autenticação: Sim (
Authorization: Bearer <TOKEN>). - Permissões Necessárias:
withdrawals.create - Regras de Validação:
amountdeve ser igual ou inferior ao saldo disponível contábil em tempo real.pix_key_typedeve pertencer à lista:CPF,CNPJ,EMAIL,PHONE,EVP(chave aleatória).
Parâmetros da Requisição (Body JSON)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
amount | decimal | Sim | Valor do saque em reais (ex: 1250.00). |
pix_key_type | string | Sim | Tipo de Chave Pix (CPF, CNPJ, EMAIL, PHONE, EVP). |
pix_key | string | Sim | Valor literal da chave Pix de destino. |
Código de Exemplo (Multi-Linguagem)
💻 cURL
bash
curl -X POST https://api.fastgivr.com.br/api/v1/quickpay/withdrawals \
-H "Authorization: Bearer 2|apiKeyToken..." \
-H "Content-Type: application/json" \
-d '{
"amount": 1250.00,
"pix_key_type": "EMAIL",
"pix_key": "financeiro@loja.com"
}'💻 JavaScript
javascript
const response = await fetch('https://api.fastgivr.com.br/api/v1/quickpay/withdrawals', {
method: 'POST',
headers: {
'Authorization': 'Bearer 2|apiKeyToken...',
'Content-Type': 'application/json'
},
body: JSON.stringify({
amount: 1250.00,
pix_key_type: 'EMAIL',
pix_key: 'financeiro@loja.com'
})
});
const withdrawalData = await response.json();💻 TypeScript
typescript
import axios from 'axios';
interface WithdrawalResponse {
success: boolean;
data: {
id: string;
amount: number;
pix_key: string;
status: string;
};
}
const requestWithdrawal = async (token: string, amount: number, keyType: string, key: string) => {
const res = await axios.post<WithdrawalResponse>(
'https://api.fastgivr.com.br/api/v1/quickpay/withdrawals',
{ amount, pix_key_type: keyType, pix_key: key },
{ headers: { Authorization: `Bearer ${token}` } }
);
return res.data;
};💻 Python
python
import requests
headers = {
"Authorization": "Bearer 2|apiKeyToken...",
"Content-Type": "application/json"
}
payload = {
"amount": 1250.00,
"pix_key_type": "EMAIL",
"pix_key": "financeiro@loja.com"
}
response = requests.post("https://api.fastgivr.com.br/api/v1/quickpay/withdrawals", json=payload, headers=headers)
print(response.json())💻 PHP
php
<?php
$ch = curl_init("https://api.fastgivr.com.br/api/v1/quickpay/withdrawals");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode([
"amount" => 1250.00,
"pix_key_type" => "EMAIL",
"pix_key" => "financeiro@loja.com"
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer 2|apiKeyToken...",
"Content-Type: application/json"
]
]);
$res = curl_exec($ch);
?>🤖 Markdown AI
markdown
# prompt para IA solicitar o saque
> "Execute uma transferência Pix da FastGivr de R$ 1.250 para a chave Pix de e-mail 'financeiro@loja.com'."Respostas da API
sucesso (201 Created)
json
{
"success": true,
"data": {
"id": "wtd_987654321",
"amount": 1250.00,
"pix_key_type": "EMAIL",
"pix_key": "financeiro@loja.com",
"status": "pending",
"created_at": "2026-05-18T15:20:00+00:00"
},
"message": "Solicitação de saque enviada com sucesso."
}erro (400 Bad Request)
json
{
"success": false,
"message": "Saldo insuficiente para saque. Saldo disponível: R$ 800,00."
}