Registro de Integrador

Registre sua aplicação (CRM, help desk, sistema de tickets) como integrador para receber credenciais de API.

Endpoint de Registro

cURL
curl -X POST https://api.ixblix.app/api/integrators/register \
  -H "Content-Type: application/json" \
  -d '{
    "name": "My CRM Platform",
    "hostname": "mycrm.example.com",
    "callbackUrl": "https://mycrm.example.com/ixblix/callback"
  }'

Campos da Requisição

CampoObrigatórioDescrição
nameSimNome de exibição do seu integrador.
hostnameSimHostname único para este integrador. Deve ser único entre todos os integradores.
callbackUrlSimURL para onde o ixblix envia as credenciais para verificação.
forceNãoSe true, permite substituir um registro de hostname já verificado. Padrão: false.
subscriptionIdNãoIdentificador de assinatura no formato {paymentProvider}:{id}. A parte id é opaca para a API e interpretada internamente pelo provedor de pagamento. Obrigatório quando o provedor de pagamento atribuído precisa de uma referência de assinatura.

Fluxo de Verificação via Callback

O registro acontece em três fases:

  1. Você chama POST /api/integrators/register com seus dados.
  2. O ixblix envia um desafio para seu callbackUrl:
    Payload do desafio
    {
      "challenge": "mycrm.example.com"
    }
    Seu endpoint deve responder com 200 OK e o payload de registro exato que você enviou na fase 1.
  3. O ixblix envia suas credenciais para o mesmo callbackUrl:
    Payload de credenciais
    {
      "event": "INTEGRATOR_CREDENTIALS",
      "integratorId": "int_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "accessToken": "ixblix_integrator_token_xxxxxxxxxxxx",
      "timestamp": "2026-01-15T10:30:00.000Z"
    }
    Seu endpoint deve ecoar o payload de credenciais de volta com 200 OK.

Armazene as credenciais com segurança — elas são usadas em todas as chamadas de API subsequentes.

Usando as Credenciais

Use as credenciais do integrador como HTTP Basic Auth:

cURL
curl https://api.ixblix.app/api/plans \
  -u "int_a1b2c3d4-...:ixblix_integrator_token_xxxx"

Exemplo de Handler

Handler Express
import express from 'express';
const app = express();
app.use(express.json());

// Payload de registro enviado na fase 1
const registrationPayload = {
  name: "My CRM Platform",
  hostname: "mycrm.example.com",
  callbackUrl: "https://mycrm.example.com/ixblix/callback",
};

app.post('/ixblix/callback', async (req, res) => {
  // Fase 2: responde ao desafio com o payload de registro original
  if (req.body?.challenge) {
    return res.status(200).json(registrationPayload);
  }

  // Fase 3: armazena as credenciais e as ecoa de volta
  if (req.body?.event === "INTEGRATOR_CREDENTIALS") {
    const { integratorId, accessToken } = req.body;
    await saveIntegratorCredentials({ integratorId, accessToken });
    return res.status(200).json(req.body);
  }

  res.status(200).json({ received: true });
});