Finalmente lo conseguí, mi servidor HTTP recibió el objeto, el único cambio que hice fue usar:
Código HTML:
'Content-Length:'.strlen($str_obj_json),
en vez de:
Código HTML:
'Content-Length: 395',
Este es el código completo para vuestro uso:
Código PHP:
<?php
$str_obj_json='{
"method":"SUBMIT","params":{
"batchType":"submit",
"batchId":"alvarons50",
"origAddr":"550",
"origTon":2,
"userData":"Movistar les desea un feliz dia",
"submits":
[
{
"messId":"mess127_001",
"destAddr":"51971855080"},
{
"messId":"mess127_002",
"destAddr":"51999040363"},
{
"messId":"mess127_003",
"destAddr":"51975293266"},
{
"messId":"mess127_004",
"destAddr":"51975375377"}
]
}
}';
$headers=array(
'Authorization: Basic dGVzdDp0ZXN0',
'Content-Length:'.strlen($str_obj_json),
'Content-Type: application/x-www-form-urlencoded',
'Connection: Keep-Alive',
'Accept: */*');
$ch = curl_init('http://10.10.237.8:21098/SMBULK/BATCH');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $str_obj_json);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER,$headers);
curl_setopt($ch, CURLOPT_HEADER, 1);
$http_status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$result = curl_exec($ch);
curl_close($ch);
echo '<pre>';
echo $result;
echo '<pre>';
echo $http_status;
?>
Mi siguiente reto es enviar ya no solo un mensaje de texto (userdata) a tantos numeros, sino subir un archivo.txt formateado de la siguiente manera:
Código HTML:
50496814517,"Le deseamos una feliz navidad"
50495450021,"Le deseamos un feliz cumpleaños"
50499945002,"Le deseamos una estancia muy placentera en nuestro pais"
50495439954,"Le agradecemos su visita a nuestro pais"