Portal do Parceiro

O Portal do Parceiro é onde você cria a sua conta de desenvolvedor, registra os apps que integram com a To Aqui Escola e gerencia as credenciais de cada um. Todo app começa no sandbox, um ambiente com dados de demonstração, e só acessa escolas reais depois de aprovado pela equipe To Aqui e liberado por cada cliente.

Do cadastro à produção

O caminho de uma integração nova tem seis etapas. As três primeiras você faz sozinho, em minutos; as demais dependem de aprovação.

  1. 1

    Crie a conta

    Cadastre-se no portal e confirme o e-mail. O acesso ao painel só é liberado depois da confirmação.

  2. 2

    Crie um app

    Cada integração é um app, com chaves, conexões, webhooks e logs próprios. O app nasce no status Sandbox.

  3. 3

    Teste no sandbox

    Na aba Credenciais, gere uma chave toaqui_test_… e chame a API com a escola de demonstração. Nada do que você faz ali chega à produção.

  4. 4

    Peça a aprovação para produção

    Na aba Visão geral, descreva como o app usa a API: quais dados lê e grava, com que frequência, quem são os usuários finais e como os dados de alunos são protegidos (LGPD). A equipe To Aqui revisa cada app e você recebe a decisão por e-mail.

  5. 5

    Peça acesso a cada cliente

    Aprovado o app, informe na aba Clientes o CNPJ de uma escola do cliente que contratou a sua integração. A equipe To Aqui confirma com o cliente e libera o acesso.

  6. 6

    Gere o token da conexão

    Com o acesso liberado, gere uma chave toaqui_live_… e o token da conexão com aquele cliente. A partir daí o app chama a API com os dados reais da escola.

Sandbox e produção

O sandbox é uma instância separada da To Aqui Escola, com banco de dados, filas e arquivos próprios, em https://sandbox.toakiescola.com.br. Chaves de teste só funcionam lá; chaves de produção só funcionam em produção. Os endpoints e o formato das respostas são os mesmos nos dois.

Sandbox Produção
Endereço da API https://sandbox.toakiescola.com.br/api/v1 https://toakiescola.com.br/api/v1
X-Partner toaqui_test_… toaqui_live_…, disponível após a aprovação do app
X-Client Slug de um dos clientes de teste do app, mostrado na aba Credenciais Slug do cliente, mostrado na aba Clientes
X-Authorization Token desse cliente de teste, mostrado na aba Credenciais Token da conexão com o cliente (toaqui_conn_…)
Dados Uma rede privada e uma pública (SEDUC) só do app, cada uma com uma escola cheia de dados de demonstração Somente os clientes que liberaram o app
Efeitos externos Nada sai do sandbox: e-mails, SMS, WhatsApp e push vão para a Caixa de saída; cobranças e assinaturas são simuladas. Só os webhooks chegam ao seu endpoint de teste Os mesmos de uma ação feita na própria To Aqui
Limite 60 requisições por minuto 300 requisições por minuto, ajustável por app na aprovação
Webhooks Endpoint de teste do app, para tudo o que acontece nos clientes de teste: chamadas à API, ações no sistema e rotinas automáticas Endpoint de produção do app
Sistema web Você entra como a rede de ensino (botão "Entrar no sandbox") e cadastra o que quiser, inclusive novos usuários —
  • Toda resposta traz o cabeçalho X-ToAqui-Environment (test ou live) e os cabeçalhos X-RateLimit-*. O limite é contado por app e por ambiente.
  • Na aba Credenciais, crie o cliente de teste da rede privada e/ou da rede pública (SEDUC). Cada um vem com uma escola, o Colégio Demonstração, com dados em todos os módulos da referência da API: turmas, alunos, responsáveis, professores, notas, frequência, diário, conselho de classe, ocorrências, fotos e os módulos de ERP (financeiro, CRM e RH só na rede privada).
  • O quadro Dados de teste de cada cliente traz um valor pronto para cada parâmetro dos endpoints (CNPJ, turma, matrícula, CPF, aula, nota…) e o ID de um registro de cada recurso endereçado por {id}.
  • Os clientes de teste são só do seu app: nenhum outro parceiro os vê, e os dados ficam como você deixou. Para voltar ao estado inicial, use "Recriar dados" — o cliente é apagado e criado de novo, com novo X-Client, X-Authorization e login.
  • No sandbox, pagamentos e assinaturas eletrônicas são simulados: o link de uma cobrança abre uma página onde você "paga" (PIX, boleto ou cartão), e o link de assinatura abre uma página onde você "assina". A escola recebe a confirmação como receberia em produção, e os webhooks correspondentes são enviados.
  • Uma chave de teste usada em produção recebe 403 com "code": "SANDBOX_HOST" e o endereço do sandbox.

Primeira chamada no sandbox

Com uma chave de teste e o slug e o token de um cliente de teste copiados da aba Credenciais, liste as escolas desse cliente no sandbox:

curl https://sandbox.toakiescola.com.br/api/v1/partners/schools/all \
  -H "X-Partner: toaqui_test_{sua_chave}" \
  -H "X-Client: {slug_do_cliente_de_teste}" \
  -H "X-Authorization: {token_do_cliente_de_teste}"

Para ir à produção, troque os três valores: a chave toaqui_live_…, o slug do cliente e o token da conexão, ambos mostrados na aba Clientes. O código da integração não muda.

Status do app

Chaves de teste funcionam em qualquer status, exceto quando o app está suspenso. Chaves de produção só funcionam com o app em Produção.

Sandbox

Status inicial. Só chaves de teste, só dados de demonstração.

Em análise

A equipe To Aqui está revisando o pedido de aprovação. Continue testando no sandbox enquanto isso.

Produção

Aprovado. O app pode gerar chaves toaqui_live_… e pedir acesso a clientes.

Recusado

A revisão foi recusada, com o motivo informado no portal. Ajuste o app e peça uma nova revisão.

Um app, ou a conta inteira do desenvolvedor, pode ser suspenso pela equipe To Aqui. Enquanto estiver suspenso, todas as chaves respondem 403, inclusive as de teste.

Chaves e tokens

1

Exibidos uma única vez

Chaves, tokens de conexão e o segredo de webhooks aparecem só no momento em que são gerados. A To Aqui guarda apenas um hash. Se perder um valor, gere outro.

2

Até 5 chaves por ambiente

Use chaves separadas por servidor ou ambiente seu (homologação, produção) e dê um nome a cada uma, para saber qual revogar se uma vazar.

3

Rotação sem indisponibilidade

Rotacionar gera uma chave nova e mantém a antiga funcionando por mais 24 horas, tempo para você publicar a troca. Revogar desativa a chave na hora.

4

Token de conexão

Existe um token por cliente conectado. Gerar um novo token invalida o anterior imediatamente. Remover a conexão revoga o acesso àquele cliente na hora.

5

Prefixos detectáveis

Os prefixos toaqui_test_, toaqui_live_ e toaqui_conn_ permitem que scanners de segredos identifiquem um valor vazado em um repositório. Nunca coloque credenciais no código do app.

6

Excluir o app

Revoga todas as chaves e conexões do app de uma vez. Não pode ser desfeito.

Erros de acesso

Além dos erros gerais da API, requisições feitas com chaves do portal podem receber:

Status Mensagem O que fazer
400 Missing required headers. Envie X-Client e X-Authorization junto com a chave.
401 Invalid or revoked API key. A chave foi digitada errado, revogada ou expirou após uma rotação. Gere uma nova.
401 Unauthorized. X-Client e X-Authorization não correspondem. Em produção, confira se o token é da conexão com esse cliente e se não foi substituído.
403 This app is still under review for production. … O app está Em análise. Use uma chave de teste até a aprovação.
403 This app is not approved for production. … Chave toaqui_live_ num app que não está em Produção. Peça a revisão no portal.
403 This app is suspended. … O app ou a conta foi suspenso. Fale com o suporte To Aqui.
429 Too Many Attempts. Limite por minuto excedido. Aguarde o tempo indicado em Retry-After.
503 The sandbox environment is unavailable. … O sandbox está em manutenção ou sendo recriado. Tente de novo em alguns minutos.
POST /v1/partner-portal/account-recovery

Recuperação de acesso (2FA)

Perdeu o aplicativo autenticador? Na tela de recuperação do Portal do Parceiro, uma das formas de provar que a conta é sua é chamar este endpoint a partir do servidor onde a sua integração guarda a chave do app. O portal mostra um desafio (rec_…); envie-o com a chave no cabeçalho X-Partner — só ele, sem X-Client nem X-Authorization. Assim a chave nunca passa pelo navegador.

  • A chave precisa ser de um app da mesma conta que está sendo recuperada.
  • Se a conta tem chaves de produção, use uma chave toaqui_live_.
  • Limite de 10 tentativas por minuto por IP. Depois da confirmação, volte ao portal para concluir a recuperação.

Códigos de resposta

200

Chave confirmada.

401

Chave inválida ou revogada.

403

O app da chave está suspenso ou não aprovado para produção.

422

Desafio inválido, expirado ou de outra conta — ou a conta exige uma chave de produção.

429

Muitas tentativas — aguarde um minuto.

Requisição POST
curl https://toakiescola.com.br/api/v1/partner-portal/account-recovery \
  -X POST \
  -H "X-Partner: toaqui_live_…" \
  -H "Content-Type: application/json" \
  -d '{"challenge":"rec_…"}'
Resposta
{
  "success": true,
  "message": "API key confirmed. Go back to the Portal do Parceiro to follow your recovery request."
}

Webhooks e logs

Webhooks

Cada app configura um endpoint de teste e um de produção, escolhe os eventos que quer receber (nenhum selecionado equivale a todos), envia eventos de teste e reenvia entregas. As entregas são assinadas no padrão Standard Webhooks.

Como validar a assinatura →

Logs de requisições

A aba Logs lista toda chamada feita com as chaves do app nos últimos 30 dias: método, caminho, status, duração, ambiente e IP, com filtros por ambiente, resultado e caminho. Corpos de requisição e resposta não são guardados.