Langsung ke konten utama
Topik ini menjelaskan tipe pesan dan format data yang dapat dikirim oleh Bot, serta format data untuk pesan yang diterima oleh Bot.

Mengirim pesan dengan Bot

Tipe pesan

Anda dapat mengirim pesan Bot dengan dua cara: memanggil API atau menggunakan Webhook. Tipe pesan dan format data yang didukung berbeda tergantung metode yang digunakan.
Kami menyarankan Anda mengirim pesan dengan memanggil API.

Metode 1: Panggil sebuah API

Penting

  • Pesan Bot dalam obrolan satu lawan satu antara pengguna dan Bot: mendukung pengiriman dan penerimaan gambar, pesan suara, dan file.
  • Pesan Bot dalam obrolan grup: Bot dapat mengirim gambar, pesan suara, video, dan file. Namun, pengguna tidak dapat @ Bot untuk mengirim pesan suara, video, atau file ke Bot di dalam obrolan grup.

API yang tersedia

Format data

  • Message template key: pengidentifikasi unik yang digunakan saat developer mengirim pesan. Ini memungkinkan kode untuk dengan cepat mereferensikan templat pesan yang telah ditentukan sebelumnya.
  • Message template parameters: data aktual yang digunakan untuk menggantikan placeholder yang telah ditentukan sebelumnya dalam templat pesan. Misalnya, ketika message template key adalah sampleText, Anda perlu mengatur nilai bidang content.
  • Contoh: contoh HTTP berikut menunjukkan bagaimana Bot aplikasi internal mengirim pesan text ke sebuah grup:
    • Message template key: "msgKey" : "sampleText"
    • Message template parameters: "msgParam" : "{\"content\":\"DingTalk, tempat kemajuan terjadi\"}"
Untuk informasi selengkapnya, lihat Mengirim pesan obrolan grup dengan Bot.

Sintaks Markdown yang didukung

Catatan tambahan tentang sintaks Markdown untuk tipe pesan sampleMarkdown.

Metode 2: Gunakan Webhook

Webhook hanya didukung dalam obrolan grup.
Untuk informasi tentang mengirim pesan via Webhook, lihat Bot membalas dan mengirim pesan dan Membuat Bot kustom.

Pesan text

Tipe ini tidak mendukung @ Orang.

Pesan markdown

Saat ini hanya sebagian sintaks Markdown yang didukung. Elemen yang didukung dicantumkan di bawah:

Pesan ActionCard

  • ActionCard lompatan seluruh kartu
  • ActionCard lompatan independen

Pesan FeedCard

Tipe ini tidak mendukung @ Orang.
Untuk melewati balasan ke grup, gunakan format berikut:

Menerima pesan dengan Bot

Ketika pengguna @ Bot grup atau mengirim pesan langsung ke Bot, DingTalk meneruskan pesan yang diterima ke layanan callback Bot yang telah dikonfigurasi oleh developer.

Isi pesan

Contoh berikut menggunakan tipe pesan text. Jika Anda menggunakan callback HTTP, DingTalk mengirimkan pesan dengan permintaan POST.

Tipe pesan

Bot saat ini dapat menerima pesan dengan tipe berikut: text, suara, gambar, file, video, dan Teks Kaya. Bidang untuk setiap tipe pesan dijelaskan di bawah. Selain bidang tipe pesan dan isi pesan, parameter lainnya sama seperti pada tabel di atas.

Pesan text

Pesan Teks Kaya

Pesan gambar

Pesan suara

Dalam percakapan Obrolan Grup, Bot tidak mendukung penerimaan pesan suara ketika anggota grup @ Bot.

Pesan video

Dalam percakapan Obrolan Grup, Bot tidak mendukung penerimaan pesan video ketika anggota grup @ Bot.

Pesan file

Dalam percakapan Obrolan Grup, Bot tidak mendukung penerimaan pesan file ketika anggota grup @ Bot.

Konten terkait

Jika Anda memilih mode HTTP sebagai mode penerimaan pesan saat membuat Bot aplikasi internal, parameter header HTTP yang ditunjukkan di bawah disertakan bersama isi pesan saat Bot menerima pesan:
Anda harus memverifikasi timestamp dan sign di header untuk memastikan bahwa permintaan adalah permintaan sah dari DingTalk dan untuk mencegah pihak ketiga menyamar sebagai DingTalk dalam memanggil layanan HTTPS Anda. Aturan verifikasinya adalah sebagai berikut:
  • Jika selisih antara timestamp dan stempel waktu sistem saat ini lebih besar dari 1 jam, permintaan dianggap tidak sah.
  • Jika sign tidak cocok dengan nilai tanda tangan yang Anda hitung, permintaan dianggap tidak sah.
Sebuah permintaan dianggap sah hanya ketika timestamp dan sign berhasil melewati verifikasi. Gunakan algoritma HmacSHA256 untuk menghitung tanda tangan, lalu enkode dengan Base64 untuk mendapatkan nilai tanda tangan akhir. Contoh:

Kode error

Ketika penggunaan Webhook atau Stream Bot melebihi kuota, perilaku berikut terjadi:

Perilaku error

Percakapan Obrolan Grup
Percakapan Pesan Langsung

Deskripsi error

Dokumen terkait

  • Mengirim pesan obrolan grup dengan Bot perusahaan
  • Mengirim pesan satu lawan satu dengan Bot perusahaan
  • Mengirim pesan obrolan grup dengan Bot kustom
  • Mengirim pesan obrolan grup dengan Bot templat grup