curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/x-www-form-urlencoded")); $response = curl_exec($ch); curl_close($ch); var_dump($response);
string(332) "<?xml version="1.0" encoding="UTF-8"?>
<xml>
<messages recipientcount="1">
<message>
<to>00000000</to>
<messageid>FB2FF641</messageid>
<errortext>Success</errortext>
</message>
</messages>
</xml>"
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/x-www-form-urlencoded")); $response = curl_exec($ch); curl_close($ch); $output = $modx->getChunk('test', array( 'messageid' => (string)$response -> messages -> message -> messageid )); return $output;
This question has been answered by grogorio. See the first response.
$response = curl_exec($ch); curl_close($ch); $xml = simplexml_load_string($response); foreach ($xml->messages as $message) { //...do something }
{ $to = ($messages->message->to); $messageid = ($messages->message->messageid); $errortext = ($messages->message->errortext); $output .= $to.'<br>'.$messageid.'<br>'.$errortext; } return $output;
{ $output .= $modx->getChunk('test', $messages); }
[[+messages.message.to]]<br> [[+messages.message.errortext]]<br> [[+messages.message.messageid]]
First of all why application/x-www-form-urlencoded instead application/xml?I can't really give you a definitive answer as the curl connection script is supplied by the service provider. However if I use application/xml, the server responds with "Invalid credentials". [ed. note: grogorio last edited this post 5 years, 8 months ago.]
foreach ($xml->messages as $messages) { $output .= $modx->getChunk('test', array( 'to' => (string)$messages->message->to, 'messageid' => (string)$messages->message->messageid, 'errortext' => (string)$messages->message->errortext )); }
[[+to]]<br> [[+errortext]]<br> [[+messageid]]