Pada 14 Januari 2024, Fonnte memperkenalkan token lain yang terutama digunakan untuk mengelola API perangkat.

Token akun ini akan memungkinkan anda mendapatkan semua informasi perangkat, termasuk berapa banyak yang terhubung, berapa total pesan yang diminta, informasi perangkat, dll.

Kegunaan lain dari token ini adalah untuk menambah perangkat, memperbarui perangkat, dan menghapus perangkat secara terprogram.

API perangkat banyak membantu dalam membangun dasbor terintegrasi anda sendiri!

Anda dapat menemukan token ini di menu pengaturan.

Image

API ini digunakan untuk mendapatkan informasi tentang perangkat anda

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.fonnte.com/device',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_HTTPHEADER => array(
    'Authorization: TOKEN'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Jika anda lebih suka melihat dipostman, lihat disini

TOKEN harus diisi dengan token anda sendiri. lihat disini bagaimana mendapatkan token.

hasil :

{
    "device": "6282227097005",
    "device_status": "connect",
    "expired": "18 November 2029",
    "messages": 16785,
    "name": "Fonnte admin",
    "package": "Reguler",
    "quota": "78",
    "status": true
}

Available JSON output

jika token salah, status respons akan salah

{
"reason": "token invalid",
"status": false
}

API ini digunakan untuk memperbarui perangkat anda yang ada melalui API

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.fonnte.com/update-device',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('name' => 'device name','webhook' => 'https://webhookurl.com','webhookconnect' => 'https://webhookurl.com','webhookstatus' => 'https://webhookurl.com','webhookchaining' => 'https://webhookurl.com','autoread' => 'false','personal' => 'false','group' => 'false','quick' => 'false','resend' => 'false','target' => '08123456789','countryCode' => '62'),
CURLOPT_HTTPHEADER => array(
'Authorization: TOKEN'
),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;


Parameter yang tersedia

Jika anda lebih suka melihat dipostman, lihat disini.

Tokennya adalah token perangkat. lihat disini bagaimana mendapatkan token.

Response

respon sukses

{
    "detail": "device updated!",
    "status": true
}

- perangkat tidak ditemukan: token tidak valid

{
    "reason": "device not found",
    "status": false
}

- mulai dengan url webhook: ada yang salah dengan url webhook anda

{
    "reason": "webhook url *",
    "status": false
}

API ini digunakan untuk menambahkan perangkat melalui API, sehingga aplikasi anda tidak perlu membuat secara manual di dashboard fonnte.

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.fonnte.com/add-device',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('name' => 'device name','device' => '08123456789','autoread' => 'false','personal' => 'false','group' => 'false'),
CURLOPT_HTTPHEADER => array(
'Authorization: TOKEN'
),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Parameter yang tersedia

Jika anda lebih suka melihat di postman, lihat disini.

Token tersebut bukan token perangkat! Tetapi account token.

Anda hanya dapat menambahkan hingga 10 perangkat gratis.

contoh : Anda membuat 10 perangkat gratis untuk klien anda, lalu 5 di antaranya memesan dan tidak lagi perangkat gratis. sehingga anda dapat menambahkan 5 perangkat gratis lagi.

Namun, anda hanya dapat menghubungkan 1 perangkat gratis dari semua perangkat gratis anda.

Response

respon sukses

{
    "autoread": "off",
    "device": "08123456789",
    "group": "off",
    "name": "device name",
    "personal": "off",
    "status": true,
    "token": "M@N!4Yr-Vs#CPtaopCkE"
}

jika pembuatan perangkat berhasil, anda bisa mendapatkan info dasar perangkat termasuk token.

- input tidak valid : ada yang salah dengan data anda

{
    "reason": "input invalid",
    "status": false
}

- pengguna tidak dikenal : token akun tidak valid/kosong

{
    "reason": "unknown user",
    "status": false
}

- terlalu banyak perangkat gratis : akun anda sudah memiliki 10 perangkat gratis

{
    "reason": "too much free device",
    "status": false
}

- perangkat sudah ada : nomor perangkat sudah ada, mungkin ada atau belum di akun anda

{
"reason": "device already exist",
"status": false
}

API ini digunakan untuk menghapus perangkat melalui API.

Sebelum melanjutkan, satu-satunya cara untuk menghapus perangkat adalah dengan memberikan kode OTP yang benar.

Kode OTP dikirimkan ke nomor whatsapp pada menu pengaturan.

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.fonnte.com/delete-device',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('otp' => ''),
CURLOPT_HTTPHEADER => array(
'Authorization: TOKEN'
),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Ada 2 langkah untuk menggunakan API ini :

  1. Minta OTPnya
  2. Kirimkan OTPnya

untuk request OTP bisa menggunakan kode curl diatas, dengan nilai otp kosong.

Setelah anda mendapatkan kode OTP, masukkan kode OTP tersebut sebagai nilai otp.

Jika anda lebih suka melihat di postman, lihat disini.

Tokennya adalah token perangkat. lihat disini bagaimana mendapatkan token.

Response

respon sukses

{
    "detail": "device 08123456789 successfully deleted",
    "status": true
}

- perangkat tidak valid: token tidak valid

{
    "reason": "invalid device",
    "status": false
}

- harap tunggu x detik sebelum meminta otp baru : tunggu 10 menit sebelum meminta otp baru

{
    "reason": "please wait x seconds before requesting new otp",
    "status": false
}

- otp belum diminta : anda tidak mengikuti prosedur, buat permintaan terlebih dahulu.

{
    "reason": "otp haven't requested",
    "status": false
}

- penghapusan gagal. coba lagi dalam x detik: otp tidak valid beberapa kali

{
    "reason": "delete failed. try again in x seconds",
    "status": false
}

- OTP salah : kode OTP salah

{
"reason": "incorrect OTP",
"status": false
}

API ini sudah tidak digunakan lagi. gunakan webhook get status sebagai gantinya.

Ini adalah ID pesan yang anda dapatkan saat mengirim pesan melalui API atau riwayat pesan fonnte

Kode untuk memeriksa status pesan melalui API

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.fonnte.com/status',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => array('id' => '2'),
  CURLOPT_HTTPHEADER => array(
    'Authorization: TOKEN'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Parameter yang tersedia

Jika anda lebih suka melihat di postman, lihat disini.

TOKEN harus diisi dengan token anda sendiri. lihat disini bagaimana cara mendapatkan token.

Idealnya anda harus melakukan pengecekan setelah jangka waktu tertentu, misal : 5 menit, untuk memastikan pesan anda sudah diproses, terutama ketika anda mengirim beberapa target dengan penundaan yang lama

Anda mungkin menemukan statusnya adalah

Anda tidak dapat memeriksa banyak ID, gunakan loop jika anda perlu memeriksa banyak ID.

Response

respon sukses

{
    "id": 2,
    "message_status": "sent",
    "status": true
}

- id diperlukan : memerlukan id

{
    "reason": "id required",
    "status": false
}

- token tidak valid : token tidak valid

{
    "reason": "id required",
    "status": false
}

Periksa apakah nomor terdaftar di whatsapp.

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.fonnte.com/validate',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => array(
'target' => '08123456789,08987654321',
'countryCode' => '62'
),
  CURLOPT_HTTPHEADER => array(
    'Authorization: TOKEN'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Parameter yang tersedia

Jika anda lebih suka melihatnya di postman, lihat disini.

Pengecekan beberapa nomor dapat dilakukan dengan menggunakan koma.

TOKEN harus diisi dengan token anda sendiri. lihat disini bagaimana mendapatkan token.

Anda tidak dapat memeriksa lebih dari 500 nomor sekaligus.

Menjalankan API ini secara bersamaan mungkin merusak pemeriksaan sebelumnya.

Response

respon sukses

{
    "not_registered": [],
    "registered": [],
    "status": true
}

Nomor yang terdaftar dan tidak terdaftar akan dicantumkan dalam array

- Target diperlukan : target kosong

{
    "reason": "target required",
    "status": false
}

- Target tidak valid : target tidak valid

{
    "reason": "target invalid",
    "status": false
}

-Token tidak valid : token tidak valid

{
    "reason": "token invalid",
    "status": false
}

- Perangkat terputus : perangkat harus terhubung untuk menggunakan API ini

{
"reason": "device disconnected",
"status": false
}

API ini memungkinkan pemindaian perangkat di luar fonnte.

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.fonnte.com/qr',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => array(
    'type' => 'qr',
    'whatsapp' => '628123456789'
  ),
  CURLOPT_HTTPHEADER => array(
    'Authorization: TOKEN'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Jika anda lebih suka melihat di postman, lihat disini.

TOKEN harus diisi dengan token anda sendiri. lihat disini bagaimana mendapatkan token.

Jika perangkat anda belum terhubung ke fonnte, anda akan mendapatkan respons ini

{
"status": true,
"url": "iVBORw0KGgoAAAANSUhEUgAAARQAAAEUCAYAA..."
}

Kemudian anda dapat menggunakan url dari respons untuk ditampilkan di gambar tag src.

<img src="data:image/png;base64,<?= $qr?>">	

Misalnya menggunakan php curl :

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.fonnte.com/qr',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => array(
    'type' => 'qr',
    'whatsapp' => '628123456789'
  ),
  CURLOPT_HTTPHEADER => array(
    'Authorization: TOKEN'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
$res = json_decode($response, true);
if (isset($res['url']) && strlen($res['url']) > 0) {
  $qr = $res['url'];
?>
  <img src="data:image/png;base64,<?= $qr ?>">
<?php
} else if (isset($res['code']) && strlen($res['code']) > 0) {
  echo $res["code"];
} else {
  echo $res["reason"];
} ?>

Parameter yang tersedia

Jika perangkat anda sudah terhubung, responsnya adalah

{
    "reason": "device already connect",
    "status": false
}

Jika entah bagaimana token anda tidak valid

{
"reason": "token invalid",
"status": false
}

API ini akan memperbarui semua grup WhatsApp yang anda ikuti, baik anda admin atau bukan.

API ini hanya boleh dipanggil sekali: saat anda bergabung dengan grup baru atau belum pernah memanggil API ini.

Menyalahgunakan API ini dapat menyebabkan larangan nomor whatsapp.

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.fonnte.com/fetch-group',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => array(
'Authorization: TOKEN'
),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Jika anda lebih suka melihat di postman, lihat disini.

TOKEN harus diisi dengan token anda sendiri. lihat bagaimana cara mendapatkan token.

Response

respon sukses

{
    "detail": "update whatsapp group list finished",
    "status": true
}

-Token tidak valid : token tidak valid

{
    "detail": "token invalid",
    "status": false
}

- Tidak dapat mengambil dengan perangkat yang terputus : Perangkat anda terputus, sambungkan perangkat anda sebelum melanjutkan

{
    "detail": "cannot fetch with disconnected device",
    "status": false
}

- Gagal mengambil daftar grup whatsapp : Ada yang salah dengan nomor whatsapp anda atau server sedang bermasalah.

{
    "detail": "failed to fetch whatsapp group list",
    "status": false
}

- Gagal memperbarui : Ada yang salah, kemungkinan besar kesalahan fonnte. silahkan hubungi admin untuk penyelidikan lebih lanjut

{
"detail": "failed to update",
"status": false
}

API ini akan mendapatkan semua grup whatsapp anda yang sebelumnya diperbarui.

Jika pembaruan API, daftar grup whatsapp belum pernah dipanggil, API ini akan selalu menghasilkan false.

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.fonnte.com/get-whatsapp-group',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_HTTPHEADER => array(
    'Authorization: TOKEN'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Jika anda lebih suka melihat di postman, lihat disini.

TOKEN harus diisi dengan token anda sendiri. Lihat cara mendapatkan token.

Response

respon sukses

{ 
    "data": [
        {
            "id": "xxx@g.us",
            "name": "Group name 1"
        },
        {
            "id": "xxx-xxx@g.us",
            "name": "Group name 2"
        },
        {
            "id": "xxx@g.us",
            "name": "Group name 3"
        }
    ],
    "status": true
}

- Token tidak valid : token tidak valid

{
    "detail": "token invalid",
    "status": false
}

- Gagal mendapatkan grup whatsapp : Ada yang salah dengan data grup.

{
    "detail": "failed to get whatsapp group",
    "status": false
}

- Anda belum memiliki grup whatsapp : Mungkin anda belum pernah memanggil API perbarui daftar grup whatsapp atau anda sebenarnya belum bergabung dengan grup mana pun.

{
"detail": "you have no whatsapp group yet",
"status": false
}
Made with in Indonesia