[英]How to Send OTP to Multiple SMS Api?
我有一個 php 腳本,它允許我將 OTP 發送到 SMS Api; 但有時短信會延遲或未發送,所以我正在考慮在代碼中添加另一個 Api,所以現在 OTP 也被發送到 WhatsApp。
任何人都可以幫我修改代碼以在以下代碼中添加另一個 api 嗎?
$phone = preg_replace('/[^0-9]/', '', $phone);
$curl = curl_init();
$curl = curl_init();
$params = array(
'Username' => '030XXXXXX',
'Password' => 'XXXXXX',
'From' => 'XXXXXX',
'To' => $phone,
'Message' => $message,
);
$encoded_query = http_build_query($params);
curl_setopt($curl, CURLOPT_URL, 'https://connect.jazz.com/sendsms_url.html?' . $encoded_query);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($curl);
$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
$curl_error = curl_errno($curl);
curl_close($curl);
if($test_call) return $result;
if ($curl_error !== 0) {
return false;
}
if ($err) {
return false;
} else {
return true;
}
}
謝謝你
使用策略模式來實現您的 SMS 提供程序。 然后你可以用工作發送你的消息,當工作失敗時用另一種策略(像 WhatsApp 這樣的提供者)重試。
處理失敗情況的示例作業:
class SendExampleSmsJob implements ShouldQueue
{
use InteractsWithQueue, Queueable, SerializesModels;
public function handle()
{
// Process sending message ...
}
/**
* Handle a job failure.
*/
public function failed(Throwable $exception)
{
// dispatch another job to send Whatsapp message or something else
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.