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_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxURL 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 doneTokens 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.
| HTTP | Código | Significado |
|---|---|---|
| 400 | validation_error | Campos ausentes ou inválidos |
| 401 | invalid_api_key | Chave ausente, inválida, expirada ou revogada |
| 403 | insufficient_scope | Chave sem escopo para este produto |
| 429 | rate_limited / quota_exceeded | Reduza a taxa ou faça upgrade do plano |
| 502 | upstream_error | Falha 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.
