NoOneToTalk para Partners

Leve o Kibo para o seu produto

Integre o Kibo Chat — um companheiro de IA emocionalmente inteligente via REST API simples — e o Kibo Call — conversas de voz em tempo real via WebRTC — com chaves de API por partner, rastreamento de consumo e quotas.

Autenticação

Toda requisição deve incluir sua chave de API de partner como Bearer token. As chaves são emitidas por partner, com escopos de produto (kibo.chat, kibo.call) e exibidas apenas uma vez na criação — guarde-as em um gerenciador de segredos e mantenha-as no servidor.

Authorization: Bearer nott_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

URL base: https://noonetotalk.com/api/v1 · JSON de entrada e saída · limites de taxa e quotas mensais por plano (429 com Retry-After ao exceder).

Kibo Chat — POST /chat

Envie uma mensagem do usuário final e receba uma resposta em texto ou voz (MP3 em base64). As conversas são stateful por user_id: o Kibo lembra o contexto entre requisições. Seus user IDs são isolados por partner e nunca colidem com os de outros partners.

curl https://noonetotalk.com/api/v1/chat \
  -H "Authorization: Bearer $NOTT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "user_id": "usr_842", "message": "I had a rough day...", "audio": false }'

Resposta — texto

{
  "type": "text",
  "response": "I'm here for you. Want to tell me what happened?",
  "session_key": "..."
}

Resposta — áudio ("audio": true)

{
  "type": "audio",
  "response": "<base64 MP3>",
  "text": "I'm here for you. Want to tell me what happened?",
  "mime_type": "audio/mpeg",
  "session_key": "..."
}

As respostas podem levar alguns segundos (LLM + TTS opcional) — use timeout de pelo menos 120s.

Kibo Call — POST /call/tokens

Conversa de voz em tempo real com latência subsegundo e turn-taking natural, via WebRTC com o SDK ElevenLabs (web, iOS, Android, React Native). Seu servidor pede um token de curta duração; o cliente conecta direto — nenhum media passa pelos seus servidores.

curl -X POST https://noonetotalk.com/api/v1/call/tokens \
  -H "Authorization: Bearer $NOTT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "user_id": "usr_842" }'

Resposta:

{
  "token": "<ephemeral WebRTC token>",
  "agent_id": "...",
  "expires_in": 300,
  "nott_ref": "ptn_12__usr_842"
}

Cliente (exemplo web — SDKs também para React Native, Swift, Kotlin):

import { Conversation } from "@elevenlabs/client";

// 1. Get a token from YOUR backend (never expose your NOTT API key client-side)
const { token, nott_ref } = await fetch("/your-backend/kibo-call-token")
  .then((r) => r.json());

// 2. Start the real-time voice session (WebRTC)
const conversation = await Conversation.startSession({
  conversationToken: token,
  connectionType: "webrtc",
  overrides: { dynamicVariables: { nott_ref } }, // required for billing attribution
});

// ... conversation.endSession() when done

Tokens são de uso único e expiram em minutos — solicite um por chamada. Calls são cobradas por minutos conectados. Sem WebRTC do seu lado? Use Kibo Chat com "audio": true como fallback de voz request–response.

Consumo — GET /usage

Consulta self-service do mês atual (?month=YYYY-MM para histórico).

{
  "month": "2026-07",
  "chat": { "messages": 12480, "audio_replies": 3120, "quota": 50000 },
  "call": { "tokens_issued": 950, "minutes": 1830.5, "quota_minutes": 5000 }
}

Erros

Erros seguem o formato { "error": { "code", "message" } }. Repita apenas 502/timeouts, com backoff exponencial.

HTTPCódigoSignificado
400validation_errorCampos ausentes ou inválidos
401invalid_api_keyChave ausente, inválida, expirada ou revogada
403insufficient_scopeChave sem escopo para este produto
429rate_limited / quota_exceededReduza a taxa ou faça upgrade do plano
502upstream_errorFalha temporária no backend de IA — tente de novo com backoff

Boas práticas

Mantenha a chave de API apenas no servidor — clientes devem falar com seu backend. Use user_ids estáveis e pseudônimos (sem e-mails ou PII): eles definem a memória da conversa. O Kibo é um companheiro de apoio emocional, não um dispositivo médico — ofereça sua própria UX de escalonamento de crise quando exigido pela sua jurisdição.

Pronto para construir com o Kibo?

Já tem uma chave? Teste ao vivo no API Playground. Caso contrário, solicite uma chave trial com quotas incluídas — sem compromisso.