Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema con una API Rest de Sinch en PHP

Estas en el tema de Problema con una API Rest de Sinch en PHP en el foro de PHP en Foros del Web. Hola, soy muy nuevo usando cURL en PHP, quisiera usar esta API para enviar SMS pero cuando hago todas las pruebas me sale el siguiente ...
  #1 (permalink)  
Antiguo 25/02/2019, 09:50
 
Fecha de Ingreso: agosto-2006
Mensajes: 32
Antigüedad: 12 años, 9 meses
Puntos: 1
Pregunta Problema con una API Rest de Sinch en PHP

Hola, soy muy nuevo usando cURL en PHP, quisiera usar esta API para enviar SMS pero cuando hago todas las pruebas me sale el siguiente error:

> HTTP/1.1 400 Bad Request Content-Length: 0 X-Application-Context: application:production:8080

He revisado mi código y no entiendo que esta pasando realmente:

Código PHP:
$data=array('from' => '506712xxxx''to' => '50671xxxx''body' => 'Hola este es un mensaje de prueba' );
        
$ch curl_init();
        
curl_setopt($chCURLOPT_URL"https://sms.api.sinch.com/xms/v1/xxxxx/batches");
        
curl_setopt($chCURLOPT_RETURNTRANSFER1);
    
curl_setopt($chCURLOPT_POST1);
    
curl_setopt($chCURLOPT_CUSTOMREQUEST"POST");
    
curl_setopt($chCURLOPT_POSTFIELDShttp_build_query($data));
    
curl_setopt($chCURLOPT_HEADER1);
        
curl_setopt($chCURLOPT_HTTPHEADER, array(
        
"Authorization: Bearer xxxxxx",
        
"Content-Type: application/json",
      ));
    
$res curl_exec($ch);
    
print_r($res);
    if(
curl_errno($ch))
    {
        echo 
'Curl error: ' curl_error($ch);
    }
    
    
curl_close($ch); 
He revisado la documentación oficial y no se que estoy haciendo mal, la documentación oficial:

https://www.sinch.com/docs/sms/http-rest.html

Gracias de antemano
  #2 (permalink)  
Antiguo 25/02/2019, 18:21
 
Fecha de Ingreso: agosto-2006
Mensajes: 32
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: Problema con una API Rest de Sinch en PHP

Ya lo solucione:

Código PHP:
<?
$data
=array('from' => 'Oso''to' => array('57xx'), 'body' => 'Hola este es un mensaje de prueba' );
$ch curl_init();
curl_setopt($chCURLOPT_URL"https://sms.api.sinch.com/xms/v1/xxxx/batches");
    
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
curl_setopt($chCURLOPT_POSTtrue);
curl_setopt($chCURLOPT_CUSTOMREQUEST"POST");
curl_setopt($chCURLOPT_POSTFIELDS,  json_encode($data));
curl_setopt($chCURLOPT_HEADERtrue);
    
curl_setopt($chCURLOPT_HTTPHEADER, array(
    
"Authorization: Bearer xxxxx",
    
"Content-Type: application/json",
  ));
$res curl_exec($ch);
print_r($res);
//var_dump(curl_getinfo($ch));
if(curl_errno($ch))
{
    echo 
'Curl error: ' curl_error($ch);
}

curl_close($ch);
?>
-Agregue un array() adicional en "to"
-convertí a Json con la función json_encode
-Posdata: Las "xxx" eran la llave y el numero de cuenta



La zona horaria es GMT -6. Ahora son las 07:37.