OneSender Docs
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Script Auto Reply

Halaman ini berisi panduan membuat sistem Auto Reply sederhana.

Script ini menggunakan fitur webhook OneSender.

Script dapat diupload di shared hosting. Sebagai endpoint dari webhook.

Dapat mengirim pesan autoreply berupa:

  1. text
  2. gambar
  3. Button reply
  4. Button list

Pesan yang tidak disupport:

  1. Document
  2. Interactive Dev

Cara Install

1. Menyiapkan script

  1. Download file script dari member area. Script autoreply.

  2. Extract file autoresponse.zip. Script autoreply.

  3. Anda dapat rename folder dist dengan nama lain agar lebih aman. Misalnya autoreply-wa.

  4. Buka file config.php dan isi api key dan api url.

<?php

return [
    'api_url' => 'https://api-wa.my.id/api/v1/messages',
    'api_key' => 'YOUR_API_KEY',
    'case_sensitive' => false,
    'max_trigger_length' => 128,
    'trigger_match' => 'exact', // exact, contains
];
  1. Buka file bot.php lalu sesuaikan dengan konten yang Anda inginkan. Script autoreply.

2. Upload ke hosting

  1. Upload ke hosting Script autoreply. Upload folder script ke hosting Anda. Sebagai contoh, di sini saya menggunakan hosting cpanel. Sehingga url yang saya dapatkan menjadi https://domainsaya.com/autoreply-wa.

  2. Ubah webhook di dashboard OneSender. Script autoreply.

PS:

  • Anda dapat rename file bot.php dengan nama unik yang Anda inginkan.
  • Anda dapat menambah extra keamanan dengan validasi header.

Contoh Isi AutoReply

Kirim pesan text

/* Trigger pesan konten "/text" */
$bot->onMessage('/text', function($bot, $request) {

    /* setiap menerima pesan "/text", akan menjawab dengan isi "selamat pagi" */
    $bot->reply("Selamat pagi.");

});

Kirim pesan text dengan shortcode

$bot->onMessage('/api', function($bot, $request) {

    $raw    = file_get_contents('http://your-api/');
    $data   = json_decode($data, true); // array['name' => 'Ethan Hunt', 'skill' => 'Fishing']

    $bot->reply("Selamat pagi, {{name}}. Anda mahir {{skill}}", $data);
});

Kirim pesan gambar

$bot->onMessage('/image', function($bot, $request) {
    $bot->replyImage("https://i.postimg.cc/xTGP7ck2/dummy.jpg", "Caption gambar);
});

Kirim pesan Button

/** 
 * Kirim pesan button
 * - Gunakan key yang berbeda untuk tiap menu agar tidak overlapping
 *   dengan menu yang lain
 */

$bot->onMessage('/menu1', function($bot, $request) {
    $buttons        = [
        'menu1-1'   => 'Argentina', 
        'menu1-2'   => 'Senegal', 
    ];

    $header         = 'Kandidat Juara Piala Dunia';
    $footer         = 'Dikirim dengan OneSender';

    /* variabel untuk short code */
    $data           = ['nama' => 'Bos Gank'];

    $bot->replyButton(
        "Mana tim favorit kamu, {{nama}}?", 
        $buttons, 
        $data, 
        $header, 
        $footer
    );
    
});

Trigger alias

$bot->onMessage('/text', function($bot, $request) {
    $bot->reply("Selamat pagi.");
});

/**
 * Pesan dengan trigger `text` sama dengan `/text`. 
 * Tidak perlu membuat dua rule dengan isi yang sama. Cukup dengan membuat alias.
 */
$bot->alias('text', '/text'); 

AutoReply semua pesan

Method onAnyMessage akan membalas semua pesan yang masuk.

$bot->onAnyMessage(function($bot, $request) {
    $bot->reply("Terima kasih kami akan membalas secepatnya.");
});