Не понимаю, что не так. Код является фрагментом кода непосредственно от поставщика услуг, но, похоже, он выполняется дважды.
// Define recipients
$recipients = ['##########'];
$url = "https://gatewayapi.com/rest/mtsms";
$api_token = "******";
$json = [
'sender' => 'Sende name',
'message' => 'message here',
'recipients' => [],
];
foreach ($recipients as $msisdn) {
$json['recipients'][] = ['msisdn' => $msisdn];
}
// time: 1587715200
print_r($json);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_HTTPHEADER, array("Content-Type: application/json"));
curl_setopt($ch,CURLOPT_USERPWD, $api_token.":");
curl_setopt($ch,CURLOPT_POSTFIELDS, json_encode($json));
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
print($result);
$json = json_decode($result);
print_r($json->ids);