Hello! I usualy got to send a sms up to 400 - 500 customers once a month, I'm doing a php curl code like this:
while ( $row = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC)) {
$fullName = $row['NOME'];
$firstName = explode(" ", $fullName)[0];
$msg = "[CHPR] " . $firstName . ", lembramos que o seu boleto com vencimento em " . $row['DTVENC'] . " já está disponível em seu e-mail e no portal. Se preferir, use o código de barras a seguir para realizar o pagamento, caso ainda não o tenha feito:\n" . $row['IPTE'] . "\n- Att, Colégio Suíço-Brasileiro.";
$serie = $serie == 254 ? 0 : $serie + 1;
$row['TEL1'] = formatPhoneNumber($row['TEL1']);
$payload = [
"NumUsu" => "user_name",
"Senha" => "password",
"SeuNum1" => 'V'.$row['DTVENC'],
"SeuNum2" => "WebApp",
"Serie" => (string)$serie,
"Celular" => $row['TEL1'],
"Mensagem" => $msg,
];
$options = [
"method" => "POST",
"payload" => http_build_query($payload),
];
$options["header"] = "Content-length: ".strlen($options["payload"]);
$context = stream_context_create(["http" => $options]);
//POST PARA O SERVICO DE SMS!!
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "url",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query($payload),
CURLOPT_TIMEOUT => 600,
]);
$response = curl_exec($curl);
if ($response === false) {
$error = error_get_last();
echo "An error occurred: " . $error['message'];
}
curl_close($curl);
It sends the message to about 350 - 380 numbers and then it does timeout. Any ideias on how could i solve this ? Thanks!