Status pesan pembaruan webhook akan menjadi pengganti API message status untuk menjadikan status pembaruan secara real-time dan tidak memerlukan API hit untuk memperbaruinya.
Status pesan akan memiliki id dan stateid untuk memperbarui status pesan dan status pesan.
Contoh di bawah ini menunjukkan cara menyimpan status pesan ke mysql, anda dapat memodifikasi sesuai kebutuhan.
Anda perlu mengirim dari API untuk dapat menyimpannya. ini adalah contoh pengiriman API dengan menyimpan laporan ke mysql.
Anda dapat mendownload contoh tabel database disini.
API mengirim dan menyimpan laporan:
<?php
$conn = mysqli_connect("localhost","root","","db");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
exit();
}
$message = "test ya";
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.fonnte.com/send',
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' => '083120942579','message' => $message),
CURLOPT_HTTPHEADER => array(
'Authorization: TOKEN'
),
));
$response = curl_exec($curl);
curl_close($curl);
$res = json_decode($response,true);
var_dump($res);
foreach($res["id"] as $k=>$v){
$target = $res["target"][$k];
$status = $res["process"];
mysqli_query($conn,"INSERT INTO report (id,target,message,status) VALUES ('$v','$target','$message','$status')");
}
Kemudian gunakan contoh kode di bawah ini untuk memperbarui status dan status pesan ke mysql.
Webhook script :
<?php
header('Content-Type: application/json; charset=utf-8');
$conn = mysqli_connect("localhost","root","","db");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
exit();
}
$json = file_get_contents('php://input');
$data = json_decode($json, true);
$device = $data['device'];
$id = $data['id'];
$stateid = $data['stateid'];
$status= $data['status'];
$state = $data['state'];
//update status and state
if(isset($id) && isset($stateid)){
mysqli_query($conn,"UPDATE report SET status = '$status',state = '$state',stateid = '$stateid' WHERE id = '$id'");
}else if(isset($id) && !isset($stateid)){
mysqli_query($conn,"UPDATE report SET status = '$status' WHERE id = '$id'");
}else{
mysqli_query($conn,"UPDATE report SET state = '$state' WHERE stateid = '$stateid'");
}
Available parameter
- Perangkat - Nomor perangkat anda (bukan perangkat yang terhubung)
- Id - Id pesan
- Stateid - Pesannya dinyatakan
- Status - Status pesan
- Negara - Keadaan pesan