Checklist da primeira chamada

Resposta direta

Antes de considerar a primeira chamada pronta, confira os cinco itens: endpoint exato, Bearer presente, JSON válido, model verificado e status/resposta registrados.

Pré-requisitos e passos

  1. [ ] URL final: https://api.mandapi.com/v1/chat/completions.
  2. [ ] Header Authorization com Bearer e chave carregada fora do código.
  3. [ ] Content-Type JSON, model deepseek-v4-flash e messages mínimo.
  4. [ ] Status e corpo salvos sem credenciais; usage observado quando presente.

Exemplo copiável

curl -sS -o response.json -w 'HTTP %{http_code}
' \
  https://api.mandapi.com/v1/chat/completions \
  -H "Authorization: Bearer ${MANDAPI_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"model":"deepseek-v4-flash","messages":[{"role":"user","content":"ok"}]}'

Como conferir o resultado

O checklist reúne apenas fatos registrados; ele não aprova preço, Pix, todos os modelos ou SDKs oficiais.

← Voltar para API de IA no Brasil

Checklist consolidado da primeira chamada

Esta versão reúne o caminho mínimo para sair do zero e chegar a uma chamada verificável, mantendo os detalhes específicos nos guias originais.

1. Monte a URL sem duplicar /v1

Separe a base da rota no código. Confirme que existe apenas um segmento /v1 e evite normalizações automáticas escondidas.

const base = "https://api.mandapi.com/v1";
const endpoint = `${base}/chat/completions`;
console.log(endpoint);

2. Envie um JSON mínimo

Comece com um único model e uma mensagem de usuário. Só acrescente parâmetros depois de confirmar a compatibilidade necessária.

{
  "model": "COLE_UM_MODEL_ID_LISTADO_PELA_API",
  "messages": [
    {"role": "user", "content": "Responda apenas: ok"}
  ]
}

3. Autentique e valide headers

Regra do array messages

messages e uma lista ordenada de objetos; cada item tem role e content. Comece com um unico item user para reduzir variaveis e so acrescente historico quando o teste minimo ja passar.

6. Repita apenas falha de transporte

Diferencie timeout ou erro de transporte de uma resposta HTTP ja recebida. Se o servidor respondeu — mesmo com erro — pare e inspecione o corpo antes de reenviar. Limite as tentativas e registre o motivo de cada uma para evitar duplicacao silenciosa.

for (let attempt = 1; attempt <= 2; attempt += 1) {
  try {
    const response = await fetch("https://api.mandapi.com/v1/chat/completions", requestOptions);
    if (response.ok || response.status === 401) break;
  } catch (error) {
    if (attempt === 2) throw error;
  }
}

7. Congele um teste reproduzivel

Antes de producao, fixe endpoint, model e payload minimo, capture status e usage e guarde o artefato com timestamp. Adicione streaming ou tools como testes separados, cada um com sua propria captura.

Guias relacionados