WhatsApp adalah layanan pengiriman pesan yang digunakan oleh orang-orang diseluruh dunia. Dengan API Obrolan anda dapat secara terprogram menerima dan mengirim pesan Whatsapp menggunakan permintaan HTTP sederhana. Integrasikan WhatsApp dengan platform pemasaran atau bisnis apa pun, misalnya Woocommerce, Shopify, Autoresponder, CRM, ERP, dll.
Diartikel sebelumnya sudah membahas tentang materi SMS Gateway
menggunakan .whatsapp
penerapan pada pemrograman PHP, hanya saja di artikel ini kita menerapkan di aplikasi android.
Hal pertama yang Anda harus lakukan membuat akun Anda di Chat-Api . Gratis! Setelah itu, Anda akan diarahkan ke panel admin, tempat instance pribadi Anda akan dibuat.
Daftar Whatsapp ke Penyedia
Buka akun pribadi Anda dan dapatkan kode QR di sana. Selanjutnya, buka WhatsApp di ponsel Anda, pergi ke Pengaturan -> WhatsApp Web
-> Pindai kode QR
.
Menentukan Base URL API
Menentukan API URL
dan token,
Anda dapat mengambil pada penyedia Chat API Whatsapp
yang anda buat
Gambar diatas, Bagian Whatsapp ditandai dengan simbol pagar itu merupakan nama Intance
, Anda juga bisa merubah langsung bagian kolom disediakan di samping.
Bagian selajutnya ada API URL
dan token
digunakan untuk akses bagian sisi android, contoh methode GET
salah satu yang kita gunakan untuk URL API
lengkap yang kita gunakan pada android seperti berikut
https://eu60.chat-api.com/instance115263/sendMessage?token=jo85dccfnwq85fkl&phone=here_phone&body=here_message
Penerapan di Aplikasi Android
Anda membutuhkan tambahan gradle
untuk menghubungkan ke sisi server menggunakan retrofit
, yang harus anda tambahkan bagian dependencies
.
implementation 'com.squareup.retrofit2:retrofit:2.5.0'
implementation 'com.squareup.retrofit2:converter-gson:2.5.0'
implementation 'com.squareup.okhttp3:logging-interceptor:3.12.1'
Jika anda sudah menambahkan modul tersebut, anda tambahkan uses permission
dibagian AndroidManifest
<uses-permission android:name="android.permission.INTERNET"/>
Setelah itu anda buat class dengan mengikuti request JSON
dari penyedia API Whatsapp
, berikut adalah request
dari JSON
untuk action GET
Jika mengacu pada request JSON
diatas maka Anda harus buat model seperti berikut
public class Whatsapp {
private String id;
private boolean sent;
private String message;
private int queueNumber;
public Whatsapp(String id, boolean sent, String message, int queueNumber) {
this.id = id;
this.sent = sent;
this.message = message;
this.queueNumber = queueNumber;
}
public String getId() {
return id;
}
public boolean isSent() {
return sent;
}
public String getMessage() {
return message;
}
public int getQueueNumber() {
return queueNumber;
}
}
Selanjuatnya Anda buat class Data Provider
dengan menggunakan modul yang anda tambahkan berupa modul retrofit
, dibagian modul tersebut anda diharuskan memasukan BASE URL
yang Anda dapat di penyedia SMS Gateway Whatsapp
, anda bisa copy URL
tersebut kemudian anda bisa masukan seperti kode berikut.
public class DataProvider {
private DataService nService;
public DataProvider() {
OkHttpClient httpClient = new OkHttpClient();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl( "https://eu60.chat-api.com") //URL SMS GATEWAY WHATSAPP
.client(httpClient)
.addConverterFactory(GsonConverterFactory.create())
.build();
nService = retrofit.create(DataService.class);
}
public DataService getTService() {
return nService;
}
}
Selanjutnya anda buat interface Data Service
di bagian ini ada harus membuatkan tindakan sesuai dengan API
yang akan digunakan, dibagian ini tindakan yang digunakan GET
dengan request
memanggil dari class model yakni class Whatsapp
.
public interface DataService {
@GET("/instance115263/sendMessage")
Call<Whatsapp> send_messages(
@Query("token") String token,
@Query("phone") String phone,
@Query("body") String body
);
}
Tahap yang terakhir membuat class activity
utama dimana tempat memanggil class yang Anda buat sebelumnya, beserta di class ini sekaligus design
dari activity.
public class MainActivity extends AppCompatActivity {
private DataService nService;
private ProgressDialog prgDialog;
private BottomSheetBehavior mBottomSheetBehavior;
public MainActivity() {
DataProvider provider = new DataProvider();
nService = provider.getTService();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
}
private void init() {
View bottomSheet = findViewById(R.id.bottom_sheet);
mBottomSheetBehavior = BottomSheetBehavior.from(bottomSheet);
mBottomSheetBehavior.setHideable(true);
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_HIDDEN);
findViewById(R.id.fb_send_message).setOnClickListener(v -> {
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
});
findViewById(R.id.btn_send_messages).setOnClickListener(v -> {
send_messages();
});
}
private void send_messages() {
EditText etPhone = findViewById(R.id.et_phone);
EditText etMessages = findViewById(R.id.et_messages);
String phone = etPhone.getText().toString().trim();
String message = etMessages.getText().toString().trim();
if (!TextUtils.isEmpty(phone) || !TextUtils.isEmpty(message)) {
prgDialog = new ProgressDialog(this, R.style.MyAlertDialogStyle);
prgDialog.setMessage("Tunggu sebentar...!!!");
prgDialog.setCancelable(false);
prgDialog.show();
Call<Whatsapp> call = nService.send_messages(
getString(R.string.token),
"62" + phone.substring(1),
message);
call.enqueue(new Callback<Whatsapp>() {
@Override
public void onResponse(Call<Whatsapp> call, Response<Whatsapp> response) {
if (response.isSuccessful()) {
if(response.body().isSent()){
prgDialog.dismiss();
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_HIDDEN);
etPhone.setText("");
etMessages.setText("");
Toast.makeText(MainActivity.this, getString(R.string.pesan_berhasil_terkirim), Toast.LENGTH_LONG).show();
}else{
prgDialog.dismiss();
Toast.makeText(MainActivity.this, getString(R.string.pesan_gagal_dikirim), Toast.LENGTH_LONG).show();
}
}
}
@Override
public void onFailure(Call<Whatsapp> call, Throwable t) {
prgDialog.dismiss();
Log.e("ERRR", t.getMessage());
}
});
} else {
Toast.makeText(this, getString(R.string.inputan_belum_lengkap), Toast.LENGTH_SHORT).show();
}
}
}
Jika anda sudah mengikuti langkah-langkah sesuai artikel, berarti Anda sudah berhasil membuat aplikasi sms gateway whatsapp menggunakan android, demikian yang dapat saya sampaikan dari artikel ini semoga bermanfaat, untuk lebih lengkapnya anda bisa lihat langkah-langkah pembuatan di bagian video, jika ada yang ditanyakan silahkan di kolom komentar dibawah, selamat mencoba.