Skip to content

Kirim Typing ​

POST /typing

Munculin indikator "mengetik..." atau "merekam audio..." di chat tujuan selama 5 detik. Panggil beberapa detik sebelum Kirim Pesan biar balasan kamu kerasa lebih manusiawi.

Detail Endpoint ​

  • Base URL: https://api-zate.azickri.com
  • Header: id, session-id, dan Content-Type: application/json
  • Syarat: sesi harus lagi nyambung (isConnected: true)
HeaderTipeWajibKeterangan
idstringYaid dari Buat Session.
session-idstringYasessionId dari Buat Session.

Request Body ​

KolomTipeWajibKeterangan
groupstringSalah satu*ID grup atau username grup publik.
userstringSalah satu*ID user Telegram.
usernamestringSalah satu*Username tujuan, boleh pakai @ atau link t.me.
phonestringSalah satu*Nomor HP format internasional. Cuma jalan kalau privasi orangnya ngizinin.
typestringTidakaudio buat "merekam audio...". Selain itu (atau kosong) jadi "mengetik...".

* Isi salah satu dari group, user, username, atau phone. Urutan prioritasnya sama kayak Kirim Pesan, tapi tanpa channel, soalnya channel nggak punya indikator mengetik.

Contoh Request ​

bash
curl -X POST "https://api-zate.azickri.com/typing" \
  -H "id: YOUR_ID" \
  -H "session-id: YOUR_SESSION_ID" \
  -H "Content-Type: application/json" \
  -d '{"username":"@azickri","type":"text"}'
javascript
import axios from 'axios';

const response = await axios.post(
  'https://api-zate.azickri.com/typing',
  {
    username: '@azickri',
    type: 'text',
  },
  {
    headers: {
      'id': 'YOUR_ID',
      'session-id': 'YOUR_SESSION_ID',
    },
  },
);

console.log(response.data);
javascript
const response = await fetch('https://api-zate.azickri.com/typing', {
  method: 'POST',
  headers: {
    'id': 'YOUR_ID',
    'session-id': 'YOUR_SESSION_ID',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    username: '@azickri',
    type: 'text',
  }),
});

const data = await response.json();
console.log(data);

Response ​

json
{
  "id": "68b3f0a2c1d4e5f6a7b8c9d0"
}
json
// Tujuan nggak diisi
{
  "statusCode": 400,
  "message": "invalid phone, username, user or group"
}

// Username atau ID nggak ketemu
{
  "statusCode": 400,
  "message": "chat not found"
}
json
{
  "statusCode": 404,
  "message": "session not found"
}
json
{
  "statusCode": 500,
  "message": "session not connected"
}
KolomTipeKeterangan
idstringID sesi.

Biar Kayak Manusia ​

Gabungin typing sama jeda sebelum kirim pesan:

javascript
const BASE_URL = 'https://api-zate.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 balasKayakManusia(username, text) {
  await fetch(`${BASE_URL}/typing`, {
    method: 'POST',
    headers,
    body: JSON.stringify({ username, type: 'text' }),
  });

  // Indikatornya tampil 5 detik, kirim pesan sebelum itu habis
  await sleep(3000);

  await fetch(`${BASE_URL}/message`, {
    method: 'POST',
    headers,
    body: JSON.stringify({ username, type: 'text', text }),
  });
}