respond-io
New
🚀 Pesan Bisnis TikTok sudah aktif! Ubah percakapan menjadi konversi dengan mudah. Pelajari Selengkapnya
arrow-icon

Beranda >

Saluran >
Saluran Khusus >
Mulai Cepat Saluran Kustom

Mulai Cepat Saluran Kustom

Avatar
JQ Lee
· 05 Nov 2024
4 menit baca

Integrasi ini memungkinkan tim Anda untuk mengobrol dengan pelanggan melalui Saluran pesan apa pun melalui implementasi khusus.

Menghubungkan Saluran Kustom

Langkah 1: Buka Pengaturan > Saluran

Langkah 2: Klik Tambahkan Saluran > Saluran Kustom > Hubungkan

Langkah 3: Masukkan URL Webhook tujuan tempat pesan keluar akan dikirim.

Langkah 4: Pilih jenis ID untuk Saluran > klik Berikutnya

Jenis ID digunakan untuk identifikasi pengguna dan digunakan untuk berkomunikasi dengan server integrasi khusus Anda.

Ada dua jenis ID yang tersedia:

  1. Nomor Telepon: Gunakan ini jika penyedia layanan pesan mengenali Kontak berdasarkan Nomor Telepon mereka.

    1. Format contoh: +60177872890

  2. ID Kustom: Gunakan ini jika penyedia layanan pesan mengenali Kontak berdasarkan ID yang dibuat khusus.

    1. Panjang karakter maksimum adalah 50.

    2. AZ,az,0-9,_,=,+,/dan@diperbolehkan.

Langkah 5: Dialog berikut akan memberikanID Saluran,Token API, danURL Webhookmisalnya

  1. ID Saluran:gfd8g7fd89dgfd

  2. Token API:aaaxczsadzxcasdacxzcasdaaaxczsadzxcasdacxzcasd

  3. Tautan webhook:https://app.respond.io/custom/channel/webhook/

    Menggunakan jenis ID Nomor Telepon memungkinkan Anda memulai percakapan dan mengirim pesan pertama ke Kontak.

Kirim Pesan ke respond.io

URL Webhookdigunakan untuk mengeposkanPesan,Gema Pesan, danTanda Terima Pesanke platform respond.io.

Kode yang disediakan akan memicu webhook pada respond.io, membuat Kontak jika perlu dan menyimpan pesan di bawah Kontak tersebut.

Contoh Pesan

curl -X POST \\  
  https://app.respond.io/custom/channel/webhook/ \\  
  -H 'otorisasi: Pembawa aaaxczsadzxcasdacxzcasdaaaxczsadzxcasdacxzcasd' \\  
  -H 'kontrol-cache: tanpa-cache' \\  
  -H 'tipe-konten: aplikasi/json' \\  
  -d '{  
  "channelId": "gfd8g7fd89dgfd",  
  "contactId": "+60177872890",  
  "events": \[  
    {  
      "jenis": "pesan",  
      "mId": "xcvzzxcxczxczxc",  
      "stempel waktu": 2132131321000,  
      "pesan": {  
        "jenis": "teks",  
        "teks": "Halo Dunia"  
      }  
    }  
  \],  
  "kontak": {  
    "namadepan": "John",  
    "namabelakang": "Doe",  
    "fotoprofil": "",  
    "kodenegara": "MY",  
    "email": "[email protected]",  
    "telepon": "+60177872890",  
    "bahasa": "en"  
  }  
}'

Contoh untuk Pesan Gema

curl -X POST \\  
  https://app.respond.io/custom/channel/webhook/ \\  
  -H 'otorisasi: Pembawa aaaxczsadzxcasdacxzcasdaaaxczsadzxcasdacxzcasd' \\  
  -H 'kontrol-cache: tanpa-cache' \\  
  -H 'tipe-konten: aplikasi/json' \\  
  -d '{  
  "channelId": "gfd8g7fd89dgfd",  
  "contactId": "+60177872890",  
  "events": \[  
    {  
      "jenis": "pesan\_echo",  
      "mId": "xcvzzxcxczxczxc",  
      "stempel waktu": 2132131321000,  
      "pesan": {  
        "jenis": "teks",  
        "teks": "Halo Dunia"  
      }  
    }  
  \],  
  "kontak": {  
    "namadepan": "John",  
    "namabelakang": "Doe",  
    "fotoprofil": "",  
    "kodenegara": "MY",  
    "email": "[email protected]",  
    "telepon": "+60177872890",  
    "bahasa": "en"  
  }  
}'

Contoh Tanda Terima Pesan

curl -X POST \\  
  https://app.respond.io/custom/channel/webhook/ \\  
  -H 'otorisasi: Pembawa aaaxczsadzxcasdacxzcasdaaaxczsadzxcasdacxzcasd' \\  
  -H 'kontrol-cache: tanpa-cache' \\  
  -H 'tipe-konten: aplikasi/json' \\  
  -d '{  
  "channelId": "gfd8g7fd89dgfd",  
  "contactId": "+60177872890",  
  "events": \[  
    {  
      "type": "message\_status",  
      "mId": "xcvzzxcxczxczxc",  
      "timestamp": 2132131321000,  
      "status": {  
        "value": "terkirim|terkirim|terbaca|gagal",  
        "message": "Kesalahan: Pengiriman gagal karena token tidak valid"  
      }  
  \]  
}'

Bidang

Keterangan

Validasi

idsaluran

ID Saluran Unik

Diperlukan. Bidang yang unik. Dihasilkan oleh respond.io.

idkontak

ID Kontak Unik

Diperlukan. ID kontak respond.io yang unik. Maksimal 50 karakter.

jenis acara

Jenis Acara

Diperlukan. Jenis yang tersedia: pesan, gema_pesan, dan status_pesan.

acara.mld

ID Pesan

Diperlukan. ID pesan unik. Maksimal 50 karakter.

peristiwa.stempel waktu

Waktu Epoch UNIX (milidetik)

Diperlukan. Waktu kejadian yang memicu panggilan balik.

peristiwa.jenis.pesan

Jenis Pesan

Diperlukan. Jenis pesan yang tersedia: teks, lampiran, lokasi, dan balasan cepat. Lihat bagian Jenis Pesan untuk contoh jenis pesan lainnya.

peristiwa.pesan.teks

Pesan teks

Diperlukan. Panjang maksimal 7.000 karakter.

peristiwa.status.nilai

Teks

Diperlukan jika event.type adalah message_status. Nilai status yang tersedia: terkirim, terkirim, terbaca, dan gagal.

acara.status.pesan

Teks

Diperlukan jika events.status.value gagal.

kontak.namadepan

Nama depan

Opsional. Maksimal 50 karakter.

kontak.namabelakang

Nama belakang

Opsional. Maksimal 50 karakter.

kontak.profilePic

URL Foto Profil

Opsional. Ukuran avatar tidak boleh lebih dari 100 kb. Direkomendasikan 720x720.

kontak.lokal

Kode Lokal

Opsional. Lihat di sini untuk daftar nilai.

kontak.kodenegara

Kode negara

Opsional. Kode negara 2 huruf - Kode ISO ALPHA-2.

kontak.zonawaktu

Zona waktu

Opsional. (min: -24) (maks: 24).

kontak.email

Alamat email

Opsional. Maksimal 50 karakter.

kontak.telepon

Nomor telepon

Opsional. Maksimal 18 karakter.

kontak.bahasa

Bahasa

Opsional. Standar ISO 639-1.

Respons - Sukses (Status HTTP → 200)

"OKE"

Menangani Pesan Keluar dari respond.io

respond.io akan memanggil titik akhir<API Base URL>/message

Pastikan Anda menerapkan kodePesan Keluarpada rute/pesanserver web Anda.

Berikut adalah contoh cURL dari respond.io yang memanggil titik akhir:

curl -X POST \\  
  /pesan \\  
  -H 'otorisasi: Pembawa aaaxczsadzxcasdacxzcasdaaaxczsadzxcasdacxzcasd' \\  
  -H 'kontrol-cache: tanpa-cache' \\  
  -H 'tipe-konten: aplikasi/json' \\  
  -d '{  
	"channelId": "gfd8g7fd89dgfd",  
	"contactId": "+60177872890",  
	"pesan": {  
		"tipe": "teks",  
		"teks": "Halo Dunia"  
	}  
}'

Respons - Sukses (Status HTTP → 200)

{  
	"ID m": "1640141607842"  
}

Autentikasi perlu dilakukan di titik akhir sebelum mengirim pesan ke Penyedia Layanan Pesan.

Berikut'contoh penggunaan middleware ekspres untuk tujuan ini:

const {validationResult} = memerlukan('express-validator');

const validateToken = (permintaan, res, selanjutnya) => {
    const apiToken = <>
    const bearerToken = permintaan.headers.otorisasi;

    jika (!bearerToken)
        kembalikan res.kirim(401)

    const token = bearerToken.substring(7, bearerToken.length);

    jika (apiToken !== token) {
        kembalikan res.kirim(401)
    }
    selanjutnya();
};

modul.ekspor = {
    validateToken
};

Kami'telah menyertakan contoh Saluran Kustom yang dapat Anda uji di server Anda. Lihat proyek GitHub kami di sini.

Tipe Pesan

Contoh untuk Teks

{  
  "type": "text",  
  "text": "Selamat datang di respond.io",  
}

Bidang

Keterangan

Validasi

jenis

Jenis Pesan

Diperlukan. teks

teks

Pesan teks

Diperlukan. Panjang maksimal 7.000 karakter.

Contoh untuk File Media

{  
  "jenis": "lampiran",  
  "lampiran": {  
    "jenis": "gambar|video|audio|berkas",  
    "url": "https://abc/japan.png",  
    "mimeType": "gambar/png",  
    "namaberkas":"logo perusahaan.png",  
    "deskripsi": "logo perusahaan terkini"  
  }  
}

Bidang

Keterangan

Validasi

jenis

Jenis Pesan

Diperlukan. lampiran.

lampiran.jenis

Tipe Lampiran

Diperlukan. Jenis lampiran yang tersedia: gambar, video, audio dan berkas.

lampiran.url

URL

Diperlukan. Maksimal 2.000 karakter. Pastikan itu adalah tautan publik sehingga pengguna atau kontak dapat melihat kontennya.

lampiran.mimeType

Tipe Mime dari Lampiran

Opsional

lampiran.namafile

Nama berkas

Opsional. Nama File harus menyertakan ekstensi. Maksimal 256 karakter (termasuk ekstensi file). Mengirim file tanpa ekstensi atau dengan ekstensi yang salah dapat menyebabkan kontak atau pengguna tidak dapat membuka file tersebut.

lampiran.deskripsi

Deskripsi Berkas

Opsional. Maksimal 256 karakter. Hanya berlaku untuk attachment.type = image.

Pastikan bahwa URL lampiran tidak diunduh secara paksa oleh browser. Header respons HTTP's Content-Disposition seharusnya memiliki nilai default, yaitu inline.

Contoh untuk Lokasi

{  
  "type": "location",  
  "latitude": 0.123456,  
  "longitude": -0.1234,  
  "address": "Sky Suites, Jalan P. Ramlee, Kuala Lumpur, 50250 Kuala Lumpur, Wilayah Persekutuan Kuala Lumpur"  
}

Bidang

Keterangan

Validasi

jenis

Jenis Pesan

Diperlukan. lokasi.

lintang

Koordinat

Diperlukan. Lintang (±90°) dalam rentang yang valid.

garis bujur

Koordinat

Diperlukan. Bujur (±180°) dalam rentang yang valid.

alamat

Lokasi Alamat

Opsional. Maksimal 256 karakter.

Contoh untuk Balasan Cepat

{  
  "type": "quick\_reply",  
  "title": "Pilih bahasa yang Anda inginkan",    
  "replies": \[  
    "Melayu",  
    "Inggris"  
  \]  
}

Bidang

Keterangan

Validasi

jenis

Jenis Pesan

Diperlukan. balasan cepat.

judul

Judul Balasan Cepat

Diperlukan. Maksimal 256 karakter.

balasan

Teks Balasan

Diperlukan. Maksimal 10 balasan dengan maksimal 256 karakter untuk tiap balasan.

Kode Kesalahan

Kesalahan (Status HTTP → 4xx)

Konfigurasi Saluran

Langkah 1: Klik Pengaturan > Saluran

Langkah 2: Temukan Saluran Kustom > klik Kelola

Langkah 3: Di halaman Konfigurasi Saluran Kustom Anda akan melihat konfigurasi berikut:

  • Ikon Saluran - Unggah gambar yang berfungsi sebagai ikon untuk Saluran Kustom Anda.

  • Nama Saluran - Nama Saluran dapat diubah dan digunakan secara internal untuk mengidentifikasi Saluran.

  • URL webhook untuk pesan keluar — URL webhook untuk pesan keluar ke Saluran ini.

  • URL webhook untuk pesan masuk — URL webhook untuk pesan masuk ke Saluran ini.

  • Jenis ID — Ini digunakan untuk identifikasi pengguna dan digunakan untuk berkomunikasi dengan server integrasi khusus Anda.

  • ID Saluran — ID Saluran Unik untuk mengidentifikasi Saluran Kustom Anda.

  • Token API — Pengidentifikasi unik yang digunakan untuk mengautentikasi pengguna untuk mengakses API.

Langkah 4: Klik Simpan Perubahan untuk memperbarui konfigurasi Saluran Kustom.

FAQ dan Pemecahan Masalah

Bisakah saya menghubungkan obrolan dari platform lain menggunakan Saluran Kustom?

Ya kamu bisa. Berikut tiga langkah yang harus diikuti:

  1. Di respond.io, masukkan URL webhook tujuan dari platform lain ke dalam kolom URL webhook untuk pesan masuk .

  2. Pada platform lain, siapkan URL webhook yang menunjuk ke respond.io, yang memungkinkan Kontak mengirimkan pesan kembali kepada Anda.

  3. Anda'akan memerlukan Server Integrasi Kustom untuk menginterpretasikan API dari respond.io dan platform lainnya, yang memungkinkan pertukaran pesan di antara keduanya.

Pastikan untuk mengonfirmasi dengan platform lain bahwa dua langkah pertama dapat dilakukan.

FAQ untuk Webhook Saluran Kustom

Mengapa webhook mengembalikan status 200 meskipun pesan gagal terkirim ke respond.io?

Saat menghubungkan Saluran Kustom, pesan yang dikirim ke respond.io melalui webhook akan selalu segera mengembalikan kode status 200, terlepas dari apakah pesan tersebut berhasil diteruskan ke respond.io. Hal ini karena sifat webhook yang dirancang untuk mengembalikan respons langsung tanpa memverifikasi keberhasilan pengiriman pesan.

Bagikan artikel ini
Telegram
Facebook
Linkedin
Twitter

Artikel terkait 👩‍💻

Ikhtisar Saluran Kustom
Dapatkan gambaran umum tentang Saluran Kustom dan kemampuannya.

Tidak dapat menemukan yang Anda cari? 🔎