Pular para o conteúdo principal

Criar Webhook da Subconta

Este endpoint permite cadastrar automaticamente a primeira URL de Webhook para uma subconta recém-criada.

Regra de Uso Único

Esta rota foi desenhada exclusivamente para a configuração inicial (setup) da subconta. Ela permite salvar apenas o primeiro webhook. Caso a subconta já possua um webhook configurado, a API retornará um erro.


Endpoint​

  • Método: POST
URL do Endpoint
https://api.xgateglobal.com/webhook/subaccount

Requisição​

Headers Obrigatórios​

HeaderValorDescrição
AuthorizationBearer <seu_token>Token JWT de autenticação da Subconta.

Corpo da Requisição (Body)​

ParâmetroTipoValidaçãoDescrição
namestringObrigatórioUm nome de identificação interno para o webhook (ex: "Primeiro Webhook").
externalWebhookUrlstringObrigatórioA URL completa do seu servidor que irá receber os dados enviados pela XGate via POST.

Exemplo de Payload​

{
"externalWebhookUrl": "https://sua-empresa.com/api/webhooks/subaccount/xgate",
"name": "Primeiro Webhook"
}

Respostas (Responses)​

Sucesso (200 OK)​

A URL de notificação foi registrada e já está ativa para a subconta.

{
"message": "Primeiro Webhook cadastrado com sucesso"
}

Erros Comuns​

StatusMensagemMotivo Provável
400Bad Request• Essa funcionalidade não está disponível para a sua Conta: A conta que fez a requisição não é uma subconta válida para este fluxo.

• Essa funcionalidade permite salvar somente o primeiro webhook da sua conta: A subconta já possui um webhook cadastrado. Esta rota só funciona quando a lista de webhooks está vazia.
401Unauthorized• Token inválido ou expirado.
• Header inválido ou não informado.
• IP não permitido.
500Internal Server ErrorErro interno de servidor. Entrar em contato com o suporte.

Como usar​

Casos de Uso Comuns​

  1. Automação de Setup (Onboarding): Quando a sua Conta Principal (Master) cria uma subconta para um novo cliente corporativo, você pode programar o seu sistema para, logo em seguida, já fazer o login na subconta recém-criada e acionar este endpoint. Isso garante que a subconta já nasça pronta para notificar o seu gateway interno sobre os pagamentos, sem a necessidade de operação manual no painel.

Integração​

Abaixo, um exemplo simples de como implementar essa chamada utilizando Node.js. Lembre-se de utilizar as credenciais da subconta para obter o token de autorização.

O exemplo de integração utiliza a biblioteca Axios para realizar a requisição HTTP.

Instalando Axios:

npm install axios

Exemplo Javascript:

const axios = require("axios");

(async () => {
// ATENÇÃO: Use o e-mail e senha da SUBCONTA para gerar o token desta ação
const emailSubconta = "admin@subconta.com";
const passwordSubconta = "••••••";

try {
const url_api = "https://api.xgateglobal.com";

// 1. Obter token de autenticação da Subconta
const login = await axios.post(`${url_api}/auth/token`, {
email: emailSubconta,
password: passwordSubconta
});

// 2. Configurar o primeiro webhook
const webhookData = {
externalWebhookUrl: "https://api.sua-empresa.com/webhooks/xgate/subconta-1",
name: "Webhook Principal - Subconta 1"
};

const { data } = await axios.post(`${url_api}/webhook/subaccount`, webhookData, {
headers: {
"Authorization": `Bearer ${login.data.token}`,
"Content-Type": "application/json"
}
});

console.log("Resposta:", data);
// Esperado: { message: 'Primeiro Webhook cadastrado com sucesso' }

} catch (error) {
console.error("Erro ao cadastrar webhook:", error.response ? JSON.stringify(error.response.data, null, 2) : error.message);
}
})();