Bahasa Indonesia
Kirim Typing
POST/typingEndpoint ini dipakai buat kirim presence (apalah itu namanya, wkwk), yaitu indikator "sedang mengetik..." atau "sedang merekam audio..." di chat penerima. Bikin bot kamu kerasa lebih manusiawi, nggak tiba-tiba nyerocos.
Indikatornya tampil selama 5 detik, terus hilang sendiri.
Detail Endpoint
- Base URL:
https://api-zawa.azickri.com - Header:
id,session-id, danContent-Type: application/json - Syarat: sesi harus lagi nyambung (
isConnected: true)
Header
| Header | Tipe | Wajib | Keterangan |
|---|---|---|---|
id | string | Ya | id dari Buat Session. |
session-id | string | Ya | sessionId dari Buat Session. |
Request Body
| Kolom | Tipe | Wajib | Keterangan |
|---|---|---|---|
phone | string | Salah satu* | Nomor tujuan format internasional, contohnya 6281234567890. |
group | string | Salah satu* | ID grup, contohnya 120363000000000000@g.us. |
type | string | Tidak | text buat "sedang mengetik..." (bawaan), audio buat "sedang merekam audio...". |
* Isi salah satu dari phone atau group. Kalau dua-duanya diisi, yang dipakai group.
Contoh Request
bash
curl -X POST "https://api-zawa.azickri.com/typing" \
-H "id: YOUR_ID" \
-H "session-id: YOUR_SESSION_ID" \
-H "Content-Type: application/json" \
-d '{"phone":"6281234567890","type":"text"}'javascript
import axios from 'axios';
const response = await axios.post(
'https://api-zawa.azickri.com/typing',
{
phone: '6281234567890',
type: 'text',
},
{
headers: {
'id': 'YOUR_ID',
'session-id': 'YOUR_SESSION_ID',
},
},
);
console.log(response.data);javascript
const response = await fetch('https://api-zawa.azickri.com/typing', {
method: 'POST',
headers: {
'id': 'YOUR_ID',
'session-id': 'YOUR_SESSION_ID',
'Content-Type': 'application/json',
},
body: JSON.stringify({
phone: '6281234567890',
type: 'text',
}),
});
const data = await response.json();
console.log(data);Response
json
{
"id": "68b3f0a2c1d4e5f6a7b8c9d0"
}json
// Tujuan nggak diisi
{
"statusCode": 400,
"message": "invalid phone or group"
}
// Header kurang
{
"statusCode": 400,
"message": "invalid header"
}json
{
"statusCode": 404,
"message": "session not found"
}json
{
"statusCode": 500,
"message": "session not connected"
}| Kolom | Tipe | Keterangan |
|---|---|---|
id | string | ID sesi yang ngirim indikator. Ini bukan ID pesan. |
Resep: Balas Kayak Manusia
Kombinasiin sama Kirim Pesan biar balasan bot kamu nggak kerasa kayak robot:
javascript
const BASE_URL = 'https://api-zawa.azickri.com';
const headers = {
'id': 'YOUR_ID',
'session-id': 'YOUR_SESSION_ID',
'Content-Type': 'application/json',
};
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
async function replyLikeHuman(phone, text) {
// 1. Munculin "sedang mengetik..."
await fetch(`${BASE_URL}/typing`, {
method: 'POST',
headers,
body: JSON.stringify({ phone, type: 'text' }),
});
// 2. Pura-pura mikir sebentar (maksimal 5 detik, sesuai durasi indikator)
await sleep(Math.min(5000, 1000 + text.length * 50));
// 3. Kirim pesannya
await fetch(`${BASE_URL}/message`, {
method: 'POST',
headers,
body: JSON.stringify({ phone, type: 'text', text }),
});
}
await replyLikeHuman('6281234567890', 'Siap, pesanan kamu lagi diproses ya! 🙌');