API Reference

Essa página te ajuda o CRUD dos conteúdos do seu chatbot

Documentação da API de Integração com Chatbots

Esta documentação fornece detalhes sobre como interagir com a API que gerencia os conteúdos e integrações para chatbots. Através desta API, é possível listar, criar, atualizar e deletar conteúdos, além de realizar outras ações que auxiliam na alimentação e gerenciamento de chatbots.

As seções a seguir detalham os endpoints disponíveis, os cabeçalhos necessários para cada solicitação, os corpos das solicitações (quando aplicável) e exemplos de uso.

Buscando todos os conteúdos (GET)

Endpoint

GET https://kodagpt.com.br/api/v1/embed/:chatbot_id/:from?/:to?

Cabeçalhos de Solicitação

A solicitação à API deve incluir os seguintes cabeçalhos:

  • Content-Type: application/json - O tipo de conteúdo do payload da solicitação.
  • API_KEY: "<API-Key>" - A chave secreta para autenticar a solicitação à API.

Dados na rota

A rota da API exige alguns dados:

  • chatbot_id (obrigatório): O ID do chatbot
  • from (opcional): O inicio da busca pelos conteúdos (um índice que começa em zero e vai até o quantidade de conteúdos salvos no chatbot)
  • to (opcional): O fim (posição) da quantidade de conteúdos

Obs.: O from e to são excelentes para paginações dos conteúdos.

Exemplo de requisição

const response = await fetch(`https://kodagpt.com.br/api/v1/embed/12a97d87-b8qa-4558-9d03-a0f4y4iu60bd7/0/10`, {
  method: 'GET',
  headers: {
    'API_KEY': '<API-Key>',
  }
});
if (!response.ok) {
  throw new Error(`HTTP error! status: ${response.status}`);
}
const data = await response.json();
console.log(data)

Criando um Novo Item (POST)

Endpoint

POST https://kodagpt.com.br/api/v1/embed

Cabeçalhos de Solicitação

A solicitação à API deve incluir os seguintes cabeçalhos:

  • Content-Type: application/json
  • API_KEY: "<API-Key>"

Corpo da Solicitação

Os parâmetros (body) para a solicitação são:

  • chatbot_id (string, obrigatório): Refere-se ao ID do chatbot com o qual você deseja interagir (encontrado na página de "Integrações" do chatbot).
  • type (string, obrigatório): Indica o tipo de conteúdo que está sendo salvo. É usado para fazer a filtragem na página de usuário. Os tipos existentes são: "free", "pdf", "site", "audio", "youtube", "csv" e "api".
  • title (string, obrigatório): Um título para o conteúdo a ser salvo.
  • link (string, opcional): Representa a url da origem do conteúdo.
  • sentences (array de string, obrigatório): Um array de strings para o conteúdo que está sendo salvo. O ideal é que as strings não tenham muitos caracteres (até 1000 é o ideal) para que as buscas dos conteúdos sejam mais eficientes.

Exemplo de requisição

const response = await fetch(`https://kodagpt.com.br/api/v1/embed`, {
  method: 'POST',
  body: JSON.stringify({
	"chatbot_id": "12a97d87-b8qa-4558-9d03-a0f4y4iu60bd7",
	"type": "site",
	"title": "André info 3",
	"link": "https://andreoliveiracunha.com.br",
	"sentences": ["André é um Engenheiro!"]
}),
  headers: {
    'Content-Type': 'application/json',
    'API_KEY': '<API-Key>',
  }
});
if (!response.ok) {
  throw new Error(`HTTP error! status: ${response.status}`);
}
const data = await response.json();
console.log(data)

Atualizando um Item Existente (PUT)

Endpoint

PUT https://kodagpt.com.br/api/v1/embed

Cabeçalhos de Solicitação

A solicitação à API deve incluir os seguintes cabeçalhos:

  • Content-Type: application/json
  • API_KEY: "<API-Key>"

Corpo da Solicitação

Os parâmetros (body) para a solicitação são:

  • chatbot_id (string, obrigatório): Refere-se ao ID do chatbot com o qual você deseja interagir (encontrado na página de "Integrações" do chatbot).
  • content_id (number, obrigatório): Refere-se ao ID do conteúdo a se atualizar.
  • type (string, obrigatório): Indica o tipo de conteúdo que está sendo salvo. É usado para fazer a filtragem na página de usuário. Os tipos existentes são: "free", "pdf", "site", "audio", "youtube", "csv" e "api".
  • title (string, obrigatório): Um título para o conteúdo a ser salvo.
  • link (string, opcional): Representa a url da origem do conteúdo.
  • sentences (array de string, obrigatório): Um array de strings para o conteúdo que está sendo salvo. O ideal é que as strings não tenham muitos caracteres (até 1000 é o ideal) para que as buscas dos conteúdos sejam mais eficientes.

Exemplo de requisição

const response = await fetch(`https://kodagpt.com.br/api/v1/embed`, {
  method: 'PUT',
  body: JSON.stringify({
	"content_id": 1962,
	"chatbot_id": "12a97d87-b8qa-4558-9d03-a0f4y4iu60bd7",
	"type": "free",
	"title": "Teste",
	"link": null,
	"sentences": ["Escrevendo um conteúdo teste3"]
}),
  headers: {
    'Content-Type': 'application/json',
    'API_KEY': '<API-Key>',
  }
});
if (!response.ok) {
  throw new Error(`HTTP error! status: ${response.status}`);
}
const data = await response.json();
console.log(data)

Deletando um Item (DELETE)

Endpoint

DELETE https://kodagpt.com.br/api/v1/embed/:chatbot_id/:content_id

Cabeçalhos de Solicitação

A solicitação à API deve incluir os seguintes cabeçalhos:

  • API_KEY: "<API-Key>"

Dados na rota

A rota da API exige alguns dados:

  • chatbot_id (obrigatório): O ID do chatbot
  • content_id (obrigatório): O ID do conteúdo

Exemplo de requisição

const response = await fetch(`https://kodagpt.com.br/api/v1/embed/12a97d87-b8qa-4558-9d03-a0f4y4iu60bd7/1968`, {
  method: 'DELETE',
  headers: {
    'API_KEY': '<API-Key>',
  }
});
if (!response.ok) {
  throw new Error(`HTTP error! status: ${response.status}`);
}
const data = await response.json();
console.log(data)

Considerações de Segurança

Nunca exponha sua chave de API em locais acessíveis ao público, como repositórios públicos no GitHub.
Limite as permissões da sua chave de API o quanto possível para reduzir o impacto potencial caso ela seja comprometida.
Sempre utilize HTTPS para garantir que as suas interações com a API sejam criptografadas e seguras.

Suporte

Se você encontrar qualquer problema ou tiver sugestões de melhoria, não hesite em entrar em contato conosco através do nosso email [email protected]