Documentação da API Gibrapay

Sumário

Introdução

A API Gibrapay permite gerenciar carteiras digitais e realizar operações financeiras como transferências e levantamentos para serviços como M-Pesa e Emola.

Como Começar

1. Obtenha seu Token de Acesso

Acesse o link abaixo e insira seu e-mail:
Gibrapay login

Você receberá um e-mail com:

2. Primeira Requisição

Use o token recebido para fazer sua primeira requisição, conforme os exemplos abaixo.

Bibliotecas Disponíveis

Para facilitar a integração, a Gibrapay disponibiliza bibliotecas em várias linguagens:

Gerenciamento de Chaves de API e Carteiras

1. Gerar uma Chave de API

Endpoint

POST https://gibrapay.online/v1/apikey

Requisição

fetch("https://gibrapay.online/v1/apikey", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({ "token": "SEU_TOKEN_AQUI" })
})
.then(response => response.json())
.then(response => console.log(response))
.catch(error => console.log(error));

Parâmetros

Parâmetro Tipo Obrigatório Descrição
token string Sim Token de autenticação do usuário

Respostas

Sucesso

{
    "status": "success",
    "api_key": "chave_gerada_aqui"
}

Erros

{
    "status": "error",
    "message": "Token inválido"
}
{
    "status": "error",
    "message": "Erro ao gerar chave API"
}

2. Consultar uma Chave de API

Endpoint

GET https://gibrapay.online/v1/apikey?token=SEU_TOKEN_AQUI

Requisição

fetch("https://gibrapay.online/v1/apikey?token=SEU_TOKEN_AQUI", {
    method: "GET",
    headers: { "Content-Type": "application/json" }
})
.then(response => response.json())
.then(response => console.log(response))
.catch(error => console.log(error));

Parâmetros

Parâmetro Tipo Obrigatório Descrição
token string Sim Token de autenticação do usuário

Respostas

Sucesso

{
    "status": "success",
    "data": {
        "api_key": "chave_de_api_existente_aqui"
    }
}

Erros

{
    "status": "error",
    "message": "Token inválido"
}
{
    "status": "error",
    "message": "Chave API não encontrada"
}

3. Criar uma Carteira

Endpoint

POST https://gibrapay.online/v1/wallets/create

Requisição

fetch("https://gibrapay.online/v1/wallets/create", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({ "nome": "Minha Carteira", "token": "SEU_TOKEN_AQUI" })
})
.then(response => response.json())
.then(response => console.log(response))
.catch(error => console.log(error));

Parâmetros

Parâmetro Tipo Obrigatório Descrição
nome string Sim Nome da carteira
token string Sim Token de autenticação

Respostas

Sucesso

{
    "status": "success",
    "message": "Carteira criada com sucesso!",
    "data": { "wallet_id": "id_da_carteira" }
}

Erros

{
    "status": "error",
    "message": "Token inválido"
}
{
    "status": "error",
    "message": "Erro ao criar carteira"
}

4. Consultar Carteiras

Endpoint

GET https://gibrapay.online/v1/wallets?token=SEU_TOKEN_AQUI

Requisição

fetch("https://gibrapay.online/v1/wallets?token=SEU_TOKEN_AQUI", {
    method: "GET",
    headers: { "Content-Type": "application/json" }
})
.then(response => response.json())
.then(response => console.log(response))
.catch(error => console.log(error));

Parâmetros

Parâmetro Tipo Obrigatório Descrição
token string Sim Token de autenticação do usuário

Respostas

Sucesso

{
    "status": "success",
    "message": "Carteiras encontradas!",
    "data": [ { "id": "id_carteira", "nome": "Minha Carteira" } ]
}

Erros

{
    "status": "error",
    "message": "Token inválido"
}
{
    "status": "error",
    "message": "Erro ao buscar carteiras"
}

5. Consultar Carteira Específica

Endpoint

GET https://gibrapay.online/v1/wallet/{id}

Requisição

fetch("https://gibrapay.online/v1/wallet/id_da_carteira", {
    method: "GET",
    headers: { "Content-Type": "application/json" }
})
.then(response => response.json())
.then(response => console.log(response))
.catch(error => console.log(error));

Parâmetros

Parâmetro Tipo Obrigatório Descrição
id string Sim ID da carteira

Respostas

Sucesso

{
    "status": "success",
    "message": "Carteira encontrada!",
    "data": {
        "nome": "Minha Loja",
        "balance": "20.00",
        "statistics": {
            "daily": {
                "total": 0,
                "failed": 0,
                "complete": 0,
                "balance": 0
            },
            "weekly": {
                "total": 7,
                "failed": 6,
                "complete": 1,
                "balance": 20
            },
            "monthly": {
                "total": 7,
                "failed": 6,
                "complete": 1,
                "balance": 20
            },
            "semi-annual": {
                "total": 7,
                "failed": 6,
                "complete": 1,
                "balance": 20
            },
            "annual": {
                "total": 7,
                "failed": 6,
                "complete": 1,
                "balance": 20
            }
        }
    }
}

Erros

{
    "status": "error",
    "message": "ID de carteira inválido"
}
{
    "status": "error",
    "message": "Carteira não encontrada"
}

Operações Financeiras

Transferência para M-Pesa ou Emola

Permite realizar transferências para contas M-Pesa ou Emola.

Endpoint

POST https://gibrapay.online/v1/transfer

Headers

Header Valor Descrição
API-Key SUA_API_KEY Chave de API obtida previamente

Requisição

fetch("https://gibrapay.online/v1/transfer", {
    method: "POST",
    headers: {
        "Content-Type": "application/json",
        "API-Key": "SUA_API_KEY_AQUI"
    },
    body: JSON.stringify({
        "wallet_id": "4c8e3fab-70a2-4b19-a23e-7b4472565c14",
        "amount": 100.50,
        "phone_number": "849999999"  // Número de telefone do destinatário 84/85/86/87
    })
})
.then(response => response.json())
.then(response => console.log(response))
.catch(error => console.log(error));

Parâmetros

Parâmetro Tipo Obrigatório Descrição
wallet_id string Sim ID da carteira de origem
amount decimal Sim Valor a ser transferido
phone_number string Sim Número de telefone do destinatário (prefixos: 84/85/86/87)

Respostas

Sucesso

{
    "status": "success",
    "message": "Transferência realizada com sucesso!",
    "data": {
        "id": "14a4037d-cd3d-4bf6-bbc2-058c4c514136",
        "wallet_id": "95badd5a-e7e5-4e06-abdc-727ae7149429",
        "amount": "2.00",
        "number_phone": "867685290",
        "type": "transfer",
        "status": "complete",
        "at_created": "2025-04-10 07:03:19.041363"
    }
}

Erro

{
    "status": "error",
    "message": "Erro ao realizar transferência",
    "data": {
        "id": "b953ed63-4165-44e9-8eeb-0ee91b2903e1",
        "wallet_id": "95badd5a-e7e5-4e06-abdc-727ae7149429",
        "amount": "2.00",
        "number_phone": "852154364",
        "type": "transfer",
        "status": "failed",
        "at_created": "2025-04-10 06:54:47.14061"
    }
}

Levantamento para M-Pesa ou Emola

Permite realizar levantamentos para contas M-Pesa ou Emola.

Endpoint

POST https://gibrapay.online/v1/withdraw

Headers

Header Valor Descrição
API-Key SUA_API_KEY Chave de API obtida previamente

Requisição

fetch("https://gibrapay.online/v1/withdraw", {
    method: "POST",
    headers: {
        "Content-Type": "application/json",
        "API-Key": "SUA_API_KEY_AQUI"
    },
    body: JSON.stringify({
        "wallet_id": "4c8e3fab-70a2-4b19-a23e-7b4472565c14",
        "amount": 100.50,
        "phone_number": "849999999"  // Número de telefone do destinatário 84/85/86/87
    })
})
.then(response => response.json())
.then(response => console.log(response))
.catch(error => console.log(error));

Parâmetros

Parâmetro Tipo Obrigatório Descrição
wallet_id string Sim ID da carteira de origem
amount decimal Sim Valor a ser levantado
phone_number string Sim Número de telefone do destinatário (prefixos: 84/85/86/87)

Respostas

Sucesso

{
    "status": "success",
    "message": "Levantamento realizado com sucesso!",
    "data": {
        "id": "14a4037d-cd3d-4bf6-bbc2-058c4c514136",
        "wallet_id": "95badd5a-e7e5-4e06-abdc-727ae7149429",
        "amount": "20.00",
        "number_phone": "867685290",
        "type": "withdraw",
        "status": "complete",
        "at_created": "2025-04-10 07:03:19.041363"
    }
}

Consultar Transações de uma Carteira

Permite consultar todas as transações de uma carteira específica.

Endpoint

GET https://gibrapay.online/v1/transactions/{wallet_id}

Headers

Header Valor Descrição
API-Key SUA_API_KEY Chave de API obtida previamente

Requisição

fetch("https://gibrapay.online/v1/transactions/{wallet_id}", {
    method: "GET",
    headers: {
        "Content-Type": "application/json",
        "API-Key": "SUA_API_KEY_AQUI"
    }
})
.then(response => response.json())
.then(response => console.log(response))
.catch(error => console.log(error));

Parâmetros

Parâmetro Tipo Obrigatório Descrição
wallet_id string Sim ID da carteira (parte da URL)

Respostas

Sucesso

{
    "status": "success",
    "message": "Transações carregadas com sucesso.",
    "data": [
        {
            "id": "c0562b8e-2bed-4ef6-9e44-9464dfa3b8aa",
            "wallet_id": "95badd5a-e7e5-4e06-abdc-727ae7149429",
            "amount": "20.00",
            "number_phone": "862156443",
            "type": "transfer",
            "status": "failed",
            "at_created": "2025-04-07 12:40:19.507229"
        },
        {
            "id": "14a4037d-cd3d-4bf6-bbc2-058c4c514136",
            "wallet_id": "95badd5a-e7e5-4e06-abdc-727ae7149429",
            "amount": "2.00",
            "number_phone": "867685290",
            "type": "transfer",
            "status": "complete",
            "at_created": "2025-04-10 07:03:19.041363"
        }
        // mais transações...
    ]
}

Erro

{
    "status": "error",
    "message": "Carteira não encontrada"
}

Observações