Pular para o conteúdo
Desenvolvedores

Uma API para cada mensagem, recebida e enviada.

Envie e agende a partir de seus próprios sistemas, receba todos os eventos de entrada por meio de webhooks e acesse as ferramentas que você já utiliza por meio de Zapier, Make e n8n.

Começar teste grátis

7 dias grátis · Sem cartão de crédito · Cancele a qualquer momento

The developers page in WaliChat, with API keys, webhooks, the API reference and the live tester

<Hello World/> Developers!

Uma única API REST para tudo o que a caixa de entrada faz.

  • 15+linguagens de código
  • Sem códigovia Zapier, Make e n8n
  • Webhookscada evento de entrada
  • Testador ao vivoexecutar chamadas dos documentos
+7 more in the docs
# Send a messagecurl -X POST https://api.wali.chat/v1/messages \  -H "Authorization: $WALI_TOKEN" \  -H "Content-Type: application/json" \  -d '{"phone": "+14155550142",       "message": "Your order shipped"}'# Send a file: same call, media body  -d '{"phone": "+14155550142",       "media": {"url": "https://acme.co/cat.pdf"}}'# Schedule it: same call, deliverAt  -d '{"phone": "+14155550142",       "message": "Doors open at 9:00",       "deliverAt": "2026-08-25T09:00:00Z"}'
// One tiny client for every callconst wali = (body) =>  fetch('https://api.wali.chat/v1/messages', {    method: 'POST',    headers: {      Authorization: process.env.WALI_TOKEN,      'Content-Type': 'application/json'    },    body: JSON.stringify(body)  })// Send a messageawait wali({ phone: '+14155550142',  message: 'Your order shipped' })// Send a fileawait wali({ phone: '+14155550142',  media: { url: 'https://acme.co/cat.pdf' } })// Schedule it for tomorrow at 9:00await wali({ phone: '+14155550142',  message: 'Doors open at 9:00',  deliverAt: '2026-08-25T09:00:00Z' })
import os, requestsdef wali(**body):    return requests.post(        "https://api.wali.chat/v1/messages",        headers={"Authorization":                 os.environ["WALI_TOKEN"]},        json=body)# Send a messagewali(phone="+14155550142",     message="Your order shipped")# Send a filewali(phone="+14155550142",     media={"url": "https://acme.co/cat.pdf"})# Schedule it for tomorrow at 9:00wali(phone="+14155550142",     message="Doors open at 9:00",     deliverAt="2026-08-25T09:00:00Z")
<?php // composer require guzzlehttp/guzzle$wali = new GuzzleHttp\Client([  'base_uri' => 'https://api.wali.chat/v1/',  'headers'  => [    'Authorization' => getenv('WALI_TOKEN')  ]]);// Send a message$wali->post('messages', ['json' => [  'phone'   => '+14155550142',  'message' => 'Your order shipped']]);// Send a file$wali->post('messages', ['json' => [  'phone' => '+14155550142',  'media' => ['url' => 'https://acme.co/cat.pdf']]]);// Schedule it for tomorrow at 9:00$wali->post('messages', ['json' => [  'phone'     => '+14155550142',  'message'   => 'Doors open at 9:00',  'deliverAt' => '2026-08-25T09:00:00Z']]);
// One helper for every callfunc wali(body string) {  req, _ := http.NewRequest("POST",    "https://api.wali.chat/v1/messages",    strings.NewReader(body))  req.Header.Set("Authorization",    os.Getenv("WALI_TOKEN"))  req.Header.Set("Content-Type",    "application/json")  http.DefaultClient.Do(req)}// Send a messagewali(`{"phone": "+14155550142",       "message": "Your order shipped"}`)// Send a filewali(`{"phone": "+14155550142",       "media": {"url": "https://acme.co/cat.pdf"}}`)// Schedule it for tomorrow at 9:00wali(`{"phone": "+14155550142",       "message": "Doors open at 9:00",       "deliverAt": "2026-08-25T09:00:00Z"}`)
require "net/http"; require "json"def wali(**body)  uri = URI("https://api.wali.chat/v1/messages")  Net::HTTP.post(uri, body.to_json,    "Authorization" => ENV["WALI_TOKEN"],    "Content-Type"  => "application/json")end# Send a messagewali(phone: "+14155550142",     message: "Your order shipped")# Send a filewali(phone: "+14155550142",     media: { url: "https://acme.co/cat.pdf" })# Schedule it for tomorrow at 9:00wali(phone: "+14155550142",     message: "Doors open at 9:00",     deliverAt: "2026-08-25T09:00:00Z")
// Java 11+, one helper for every callHttpClient http = HttpClient.newHttpClient();void wali(String body) throws Exception {  http.send(HttpRequest.newBuilder()    .uri(URI.create(      "https://api.wali.chat/v1/messages"))    .header("Authorization",      System.getenv("WALI_TOKEN"))    .header("Content-Type", "application/json")    .POST(BodyPublishers.ofString(body))    .build(), BodyHandlers.ofString());}// Send a messagewali("""  {"phone": "+14155550142",   "message": "Your order shipped"}""");// Send a filewali("""  {"phone": "+14155550142",   "media": {"url": "https://acme.co/cat.pdf"}}""");// Schedule it for tomorrow at 9:00wali("""  {"phone": "+14155550142",   "message": "Doors open at 9:00",   "deliverAt": "2026-08-25T09:00:00Z"}""");
// One client for every callvar http = new HttpClient();http.DefaultRequestHeaders.Add(  "Authorization",  Environment.GetEnvironmentVariable(    "WALI_TOKEN"));Task Wali(object body) =>  http.PostAsJsonAsync(    "https://api.wali.chat/v1/messages", body);// Send a messageawait Wali(new { phone = "+14155550142",  message = "Your order shipped" });// Send a fileawait Wali(new { phone = "+14155550142",  media = new { url = "https://acme.co/cat.pdf" } });// Schedule it for tomorrow at 9:00await Wali(new { phone = "+14155550142",  message = "Doors open at 9:00",  deliverAt = "2026-08-25T09:00:00Z" });
RESPONSE · 201
{"id": "6a1f…c7","status":"delivered" }
Agentes de IA e Flows

Seu turno da noite nunca acaba

Um agente de IA responde durante a noite. Você recebe as pistas quentes pela manhã.

Fluxo · depois do expediente23:40
"Você envia para Portugal?"Respostas do agente de IA
“Precisamos de 200 unidades até sexta-feira”Qualificado → atribuir a Vendas, 09:00

Pare de perder mensagens de WhatsApp hoje mesmo

Junte-se a mais de 5.000 equipes que já usam o WaliChat para crescer mais rápido.

Iniciar Teste Grátis AgoraSete dias por nossa conta · Nada a pagar antecipadamente · Conectado em minutos