API de Chatbot com IA
Crie as suas integrações de chatbot com IA usando a nossa API REST. Envie mensagens e receba respostas de IA inteligentes para qualquer plataforma, aplicação ou solução à medida.
Crie o que quiser com IA
A nossa API REST permite integrar funções de chatbot com IA em qualquer aplicação
curl -X POST https://asyntai.com/api/v1/chat/ \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"message": "Qual é o vosso horário?"}'
API REST simples
Um único endpoint para enviar mensagens e receber respostas de IA. Use cURL, Python, JavaScript ou qualquer linguagem capaz de fazer pedidos HTTP. Sem SDK complexos.
{
"success": true,
"response": "Estamos abertos de segunda a sexta,
das 9h às 18h. Como posso ajudar?",
"session_id": "abc123"
}
Respostas inteligentes
A IA conhece bem o seu negócio. Baseia-se no seu site, nos seus documentos e nas suas instruções para dar respostas exatas e adequadas a cada pergunta.
{
"message": "Qual foi a minha última pergunta?",
"session_id": "user_12345"
}
# A IA lembra-se da conversa
Memória da conversa
Use identificadores de sessão para manter o contexto. A IA lembra-se das mensagens anteriores e responde de forma coerente ao longo de várias interações.
Feita para programadores
Tudo o que precisa para integrar funções de chatbot com IA nas suas aplicações
Desenho RESTful
Uma API REST clara e intuitiva que segue as boas práticas. Fácil de perceber, de integrar e de manter.
Autenticação simples
Autenticação segura por chave da API. Coloque a chave no cabeçalho e já pode fazer pedidos.
Tempos de resposta curtos
Otimizada para a velocidade. Respostas de IA em milissegundos, não em segundos.
Gestão de sessões
Acompanhamento de conversas integrado com identificadores de sessão. Mantenha o contexto ao longo de várias mensagens sem esforço.
Multilingue
A IA deteta o idioma do utilizador e responde nesse idioma. Sirva um público global sem trabalho extra.
Segura e fiável
Cifragem HTTPS, limite de pedidos e 99,9 % de disponibilidade. A sua integração é segura e está sempre acessível.
Como funciona
Comece com a API de Chatbot com IA em três passos simples
Registe-se e obtenha a chave da API
Crie a sua conta e gere a chave da API no painel. A sua IA usará automaticamente os conteúdos do seu site.
Faça o primeiro pedido
Envie um pedido POST com a sua mensagem para o nosso endpoint de chat. A IA processa-o e devolve uma resposta inteligente.
Integre em qualquer lado
Use a API na sua aplicação móvel, no seu site, nas ferramentas internas ou em qualquer plataforma própria. As possibilidades são abertas.
Casos de uso
A API de Chatbot com IA é versátil e pode dar apoio com IA em qualquer plataforma ou aplicação que imagine.
- ✓ Aplicações móveis (iOS, Android, React Native)
- ✓ Aplicações web à medida
- ✓ Ferramentas de apoio internas
- ✓ Assistentes de voz e sistemas IVR
- ✓ Bots do Slack, bots do Discord e mais
import requests
response = requests.post(
"https://asyntai.com/api/v1/chat/",
headers={"Authorization": "Bearer API_KEY"},
json={"message": "Olá!"}
)
print(response.json()["response"])
Porquê a nossa API
Crie integrações de chatbot com IA poderosas com o mínimo esforço
Lance mais depressa
Poupe meses de desenvolvimento de IA. Integre a nossa API e tenha funções de chatbot inteligente na sua aplicação já hoje.
Sempre atualizada
Atualize o conhecimento da sua IA quando quiser no painel. Não é preciso alterar a API quando o seu negócio evolui.
Económica
Pague apenas o que usar. Sem custos de infraestrutura, sem custos de treino de IA, sem encargos de manutenção.
Perguntas frequentes
Tudo o que precisa de saber sobre a API de Chatbot com IA
O seu primeiro pedido
Um único POST devolve uma resposta de IA baseada na sua base de conhecimento. Sem SDK para instalar.
curl -X POST https://asyntai.com/api/v1/chat/ \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"message": "Enviam para Portugal?"}'
# 200 OK
{
"success": true,
"response": "Sim, enviamos para Portugal em 3-5 dias.",
"session_id": "api_1042_87"
}
Antes do primeiro pedido, acrescente conteúdos à sua base de conhecimento. A API responde a partir da sua documentação, dos seus preços e das suas condições. Com a base vazia as respostas ficam genéricas.
Autenticação
Cada pedido leva a chave da API num cabeçalho. São aceites duas formas de cabeçalho, com o mesmo comportamento. Escolha uma. Gere a chave em Definições → API.
Apenas cabeçalhos. A chave nunca é lida da cadeia de consulta. Uma chave num endereço acaba nos registos do servidor, nos registos de proxy, no histórico do navegador e nos cabeçalhos Referer. Por isso esse método não é suportado.
# Opção A - token bearer
Authorization: Bearer YOUR_API_KEY
# Opção B - cabeçalho próprio
X-API-Key: YOUR_API_KEY
O endpoint de chat
POST https://asyntai.com/api/v1/chat/
Corpo do pedido
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
message | string | obrigatório | A mensagem do utilizador. Um valor vazio devolve um erro 400. |
session_id | string | opcional | O seu identificador para uma conversa. Envie o mesmo valor outra vez para manter o contexto. Se o omitir, a conta usa uma única sessão partilhada. |
website_id | integer | opcional | Qual dos seus agentes deve responder. Se o omitir, é usado o site principal ou o primeiro da conta. |
Corpo da resposta
| Campo | Tipo | Descrição |
|---|---|---|
success | boolean | true quando a IA produziu uma resposta. |
response | string | O texto da resposta. |
session_id | string | A sessão em que esta mensagem foi registada. Devolva-a no pedido seguinte. |
Memória da conversa
Passe um session_id estável e as últimas 10 mensagens dessa conversa são fornecidas como contexto, de modo que uma pergunta seguinte como "e quanto custa isso?" é bem entendida. Use um session_id diferente por utilizador final. Se o omitir, todas as chamadas da conta partilham um único fio, o que quase nunca se pretende em produção.
// primeiro pedido
{ "message": "Enviam para Portugal?", "session_id": "user-8842" }
// segundo pedido - mesmo session_id, por isso "isso" é entendido
{ "message": "Quanto custa isso?", "session_id": "user-8842" }
Exemplos de integração
Copie, cole, substitua a chave.
const res = await fetch('https://asyntai.com/api/v1/chat/', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
message: 'Enviam para Portugal?',
session_id: 'user-8842'
})
});
const data = await res.json();
if (!data.success) throw new Error(data.error);
console.log(data.response);
// Nunca exponha a chave da API no código do navegador. Chame isto a partir do
// seu servidor ou de uma função edge e encaminhe o resultado.
import requests
resp = requests.post(
"https://asyntai.com/api/v1/chat/",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={
"message": "Enviam para Portugal?",
"session_id": "user-8842",
},
timeout=30,
)
data = resp.json()
if not data["success"]:
raise RuntimeError(data["error"])
print(data["response"])
$ch = curl_init('https://asyntai.com/api/v1/chat/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer YOUR_API_KEY',
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'message' => 'Enviam para Portugal?',
'session_id' => 'user-8842',
]),
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
if (empty($data['success'])) {
throw new Exception($data['error']);
}
echo $data['response'];
const ASYNTAI_KEY = process.env.ASYNTAI_API_KEY;
export async function ask(message, sessionId) {
const res = await fetch('https://asyntai.com/api/v1/chat/', {
method: 'POST',
headers: {
'X-API-Key': ASYNTAI_KEY,
'Content-Type': 'application/json'
},
body: JSON.stringify({ message, session_id: sessionId })
});
if (res.status === 429) throw new Error('Limite mensal de mensagens atingido');
const data = await res.json();
if (!data.success) throw new Error(data.error);
return data.response;
}
curl -X POST https://asyntai.com/api/v1/chat/ \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"message": "Enviam para Portugal?",
"session_id": "user-8842"
}'
Respostas de erro
Cada falha devolve {"success": false, "error": "..."} com um destes códigos de estado.
| Status | Significado | O que fazer |
|---|---|---|
400 | Corpo JSON inválido, falta message, ou um website_id que não pertence à sua conta. | Corrija os dados enviados. O texto de error indica o problema. |
401 | Sem chave da API, ou a chave não corresponde a nenhuma conta. | Verifique o nome do cabeçalho e se a chave foi gerada de novo. |
403 | A conta usa o plano Free. O acesso à API exige Starter, Standard ou Pro. | Mudar de plano. |
429 | Limite mensal de mensagens atingido. O corpo inclui ainda "limit_reached": true. | Abrande e mude de plano, ou aguarde o período de faturação seguinte. |
503 | O serviço de IA não conseguiu responder a este pedido. | Tente de novo após uma espera. O erro é passageiro. |
Verifique success, não apenas o código de estado. Trate o 429 de forma explícita se enviar muitos pedidos, caso contrário um limite atingido parece uma falha qualquer aos seus utilizadores.
Referência completa dos endpoints
URL base https://asyntai.com/api/v1/. Todos os endpoints usam a mesma autenticação.
Chat
| Método | Caminho | Função |
|---|---|---|
| POST | /chat/ | Enviar uma mensagem e receber uma resposta de IA. |
Sites e agentes
| Método | Caminho | Função |
|---|---|---|
| GETPOST | /websites/ | Listar os seus agentes, ou criar um e iniciar a análise. |
| GET | /websites/{id}/ | Detalhes de um agente. |
| GETPATCH | /websites/{id}/settings/ | Ler ou alterar as definições do widget. |
| GETPUT | /websites/{id}/instructions/ | Ler ou substituir as instruções da IA. |
Base de conhecimento
| Método | Caminho | Função |
|---|---|---|
| GET | /knowledge/ | Listar tudo aquilo em que a IA se pode apoiar. |
| POST | /knowledge/text/ | Acrescentar texto simples. |
| POST | /knowledge/url/ | Acrescentar uma página por endereço. |
| POST | /knowledge/spreadsheet/ | Acrescentar uma folha de cálculo. |
| GETDELETE | /knowledge/{context_id}/ | Ler ou remover um item. |
| POSTPUT | /knowledge/{context_id}/tags/ | Gerir as etiquetas de um item. |
Conversas e dados
| Método | Caminho | Função |
|---|---|---|
| GET | /conversations/ | Conversas anteriores. |
| GET | /sessions/ | Sessões com o número de mensagens. |
| GET | /leads/ | Contactos recolhidos pelo chatbot. |
| GET | /account/ | Plano, utilização e limites. |
Webhooks
| Método | Caminho | Função |
|---|---|---|
| GETPOST | /webhooks/ | Listar ou registar um webhook. |
| DELETE | /webhooks/{webhook_id}/ | Remover um webhook. |
Requisitos e limites
| Item | Detalhe |
|---|---|
| Plano | O acesso à API exige um plano pago: Starter, Standard ou Pro. As contas Free recebem um erro 403. |
| Quota de mensagens | As mensagens da API contam para a mesma quota mensal das conversas do widget. Consulte o valor atual com GET /api/v1/account/. |
| Profundidade do histórico | São fornecidas como contexto até 10 mensagens anteriores por session_id. |
| Transporte | Apenas HTTPS. Corpos de pedido e resposta em JSON. |
| Substituição da chave | Gere a chave de novo em Definições → API. A chave anterior deixa de funcionar de imediato. |
Pronto para criar com IA?
Crie uma conta gratuita e teste o chatbot no painel. Depois escolha um plano pago para obter a chave da API.