SharkHub
PIX

PIX Out (Envio)

Realiza uma transferência PIX para uma chave PIX de destino.

Realiza uma transferência PIX para uma chave PIX de destino.

Endpoint

POST /hub/transactions/out

URL base (homologação)

https://staging.sharktecnologia.com/api/v1

Headers obrigatórios

  • accept: application/json
  • Content-Type: application/json
  • Authorization: Basic {token}

Request Body

Campos

CampoTipoObrigatórioDescrição
amountintegerSimValor em centavos (deve ser maior que 0). Ex.: 1000 = R$ 10,00
pix_keystringSimChave PIX de destino de acordo com o pix_type informado
pix_typestringSimTipo da chave PIX: CPF, CNPJ, EMAIL, PHONE
descriptionstringNãoDescrição da transação

Tipos de chave PIX (pix_type)

ValorDescriçãoExemplo de pix_key
CPFCadastro de Pessoa Física12345678901
CNPJCadastro Nacional da Pessoa Jurídica12345678000199
EMAILEndereço de e-mailusuario@exemplo.com
PHONENúmero de telefone+5511999999999

Exemplo de payload

{
  "amount": 5000,
  "pix_key": "usuario@exemplo.com",
  "pix_type": "EMAIL",
  "description": "Transferência para fornecedor"
}

Exemplos

cURL

curl --location 'https://staging.sharktecnologia.com/api/v1/hub/transactions/out' \
  --header 'accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Basic <SEU_TOKEN_BASE64>' \
  --data '{
    "amount": 5000,
    "pix_key": "usuario@exemplo.com",
    "pix_type": "EMAIL",
    "description": "Transferência para fornecedor"
  }'

Python

import requests

url = "https://staging.sharktecnologia.com/api/v1/hub/transactions/out"
headers = {
    "accept": "application/json",
    "Content-Type": "application/json",
    "Authorization": "Basic <SEU_TOKEN_BASE64>"
}
payload = {
    "amount": 5000,
    "pix_key": "usuario@exemplo.com",
    "pix_type": "EMAIL",
    "description": "Transferência para fornecedor"
}

response = requests.post(url, json=payload, headers=headers, timeout=30)
print(response.status_code)
print(response.json())

TypeScript

const response = await fetch(
  "https://staging.sharktecnologia.com/api/v1/hub/transactions/out",
  {
    method: "POST",
    headers: {
      accept: "application/json",
      "Content-Type": "application/json",
      Authorization: "Basic <SEU_TOKEN_BASE64>",
    },
    body: JSON.stringify({
      amount: 5000,
      pix_key: "usuario@exemplo.com",
      pix_type: "EMAIL",
      description: "Transferência para fornecedor",
    }),
  },
);

const data = await response.json();
console.log(response.status, data);

Respostas

200 OK

Transferência PIX realizada com sucesso.

{
  "status": "success",
  "transaction_id": "xyz789-abc123-def456",
  "message": "Transferência realizada com sucesso"
}

Campos da resposta

CampoTipoDescrição
statusstringStatus da transação (success, pending, failed)
transaction_idstringID único da transação no provedor
messagestringMensagem descritiva sobre o resultado da operação

401 Unauthorized

Credenciais inválidas, token mal formatado ou uso de chaves em ambiente incorreto.

{
  "detail": "Not authenticated"
}

422 Unprocessable Content

Dados de entrada inválidos ou usuário sem Provider configurado.

{
  "detail": "User does not have a Provider configured. Please contact SharkHub support."
}

Caso esse erro aconteça, entre em contato com o suporte da SharkHub para que um Provider seja definido para o seu usuário. Clientes não têm acesso à tela de usuários e não conseguem configurar Providers diretamente.

500 Internal Server Error

Erro interno do servidor.

{
  "detail": "Internal server error"
}

501 Not Implemented

Funcionalidade não implementada para o provedor.

{
  "detail": "Provider does not support this operation"
}

Observações importantes

  1. O usuário deve ter saldo suficiente para realizar a transferência.
  2. O usuário deve ter um Provider de saída configurado para utilizar este endpoint. Se a API retornar erro de Provider, entre em contato com o suporte da SharkHub.
  3. A chave PIX de destino deve ser válida e ativa.
  4. O tipo de chave (pix_type) deve corresponder ao formato da chave informada.

Códigos de status HTTP

CódigoDescrição
200OK - Requisição processada com sucesso
401Unauthorized - Credenciais inválidas ou não fornecidas
403Forbidden - Usuário sem permissão para a operação
422Unprocessable Content - Dados de entrada inválidos
500Internal Server Error - Erro interno do servidor
501Not Implemented - Funcionalidade não disponível para o provedor

Este guia foi útil?

Atualizado em 23/04/2026

On this page