OVH Community, votre nouvel espace communautaire.

Récupérer le statut du SMS en SOAPI


rpochot
02/07/2010, 16h35
En fait l'api envoie une list de SMS sous forme d'un array (meme si il n'y en a qu'un)
et chaque valeur de l'array est un objet smsHistory
Donc si on a un seul sms a connaitre

$result[0]->status

sinon il faut faire un foreach par exemple sur le $result

foreach ($result as $key => $val) {
$val->status;
$val->smsId;
etc...
}

Blackbird
16/06/2010, 23h51
Voici comment adapter la portion de code que j'ai posté précédemment, sinon cela ne marche pas ! Il y a peut-être d'autres moyens plus efficaces bien sûr...
Astuce : passer l'array en string grâce à la fonction serialize()


Code PHP:
if (preg_match("/stat:DELIVRD/i"serialize($result))) {
    echo 
'SMS transmis'// VRAI
} else {
    echo 
'SMS en attente...'// FAUX : tester autres états possibles?

Il faudrait maintenant dans la seconde partie tester les autres statuts possibles. Je ne les connais pas, à part je pense "waiting". Cela devrait pouvoir se trouver dans la doc...

Bonne nuit

quent157
15/06/2010, 22h48
Merci beaucoup pour ta réponse, j'essaye ça demain.

Blackbird
15/06/2010, 20h54
Salut :-)

Je n'ai pas encore trouvé mieux que ceci pour le moment...

Code PHP:
if (preg_match("#DELIVRD#""$result"))
{     echo 
'SMS reçu'// vrai }
else
{     echo 
'SMS en attente'// faux } 
NB: je ne suis pas très avancé non plus en PHP... avis aux pros ;-)

quent157
14/06/2010, 15h05
Bonjour,

malgrès de multiple tentatives, je n'arrive pas à récupérer le statut du SMS envoyé dans une variable en php.

Voici mes différentes tentatives mais elles renvoient toutes une valeur nulle:

Code PHP:

$result 
$soap->telephonySmsHistory ($session,$account$id_SMS); //OK

print_r($result); //fonctionne mais renvoie l'ensemble de l'historique
echo "Résultat:".$result->status//valeur nulle
echo "Résultat:".$result[1]; //erreur
echo "Résultat:".$result[status];  //valeur nulle
echo "Résultat:".$result['status']; //valeur nulle
echo "Résultat:".$result["status"]; //valeur nulle 
Merci d'avance pour votre aide, je débute en php.