PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WEBDEV 2024 → Script Php
Script Php
Started by Mustapha AZZOUZ, Jan., 25 2022 9:25 AM - 3 replies
Registered member
31 messages
Posted on January, 25 2022 - 9:25 AM
Bonjour tout le monde

besoin d'exécuter un script en php
si quelqu'un peut m'aider
Merci d'avance

lien du code
https://bulksms.ma/api

send_sms("06XXXXXXXXX", "Mon Message", "MySenderID");
 
function send_sms($num, $texte, $emetteur) {
    $url = 'https://bulksms.ma/developer/sms/send';
 
    $fields_string = 'token=test_gshuPaZoeEG6ovbc8M79w0Qy&tel=' . $num . '&message=' . urlencode($texte). '&shortcode=' . $emetteur;
    
    $ch = curl_init();
 
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
 
    $result = curl_exec($ch);
 
    curl_close($ch);
    return $result;
}



Mon code Webdev
MonBuffer est un Buffer
MonBuffer = PHPExecute("/php/mon_script.php", "num=06123456789&texte='mon message'&emetteur=0678945666", VRAI)


Merci
Registered member
393 messages
Popularité : +13 (13 votes)
Posted on January, 25 2022 - 10:02 AM
Bonjour,

Au vu du code assez simpliste de la fonction PHP, je pense que vous avez mieux compte de retranscrire la fonction send_sms directement en WLangage plutôt que de passer par un PHPExecute.

Procedure send_sms(sNumero est une chaine, sTexte est une chaine, sEmetteur est une chaine)
req est une HTTPRequête
res est une httpRéponse

req..URL = "https://bulksms.ma/developer/sms/send"
req..Méthode = httpPost
req..ContentType = typeMimeFormulaireSimple

HTTPCréeFormulaire("FORM")
HTTPAjouteParamètre("FORM","token", "test_token")
HTTPAjouteParamètre("FORM","tel", sNumero)
HTTPAjouteParamètre("FORM","message", sTexte)
HTTPAjouteParamètre("FORM","shortcode", sEmetteur)

res = HTTPEnvoieFormulaire("FORM", req)

SI PartieEntière(res..CodeEtat / 100) = 2 ALORS // Filtre tous les retours en 2xx = 200, 201, 206, etc.
RENVOYER res..Contenu
FIN

RENVOYER ""
FIN


(Code non-testé & non-débuggué)
Registered member
31 messages
Posted on January, 25 2022 - 11:49 AM
ça marche
Merci infiniment
Posted on September, 27 2022 - 10:07 AM
Bonjour,

Je me permet de répondre sur ce post, car la solution donnée a résolue en parti mon souci.

Je dois utiliser un API pour déclencher l'envoi d'un mail par un fournisseur de mailling, le script fournit est en PHP et ce poste m'a permis de le transformer en wlangage. L'envoi fonctionne bien.

Mon souci est que je doit insérer des variable pour personnaliser le mail. dans le script php, ils utilisent un array, mais en wlangage la fonction httpAjouteParamètre n'accepte pas de tableau. j'ai essayé avec une simple chaine mais ça ne passe pas non plus.

Voici le code PHP d'origine:
<?php
//Ci-dessous, la variable "$recipientEmailAddress" contient l'adresse eMail du destinataire du message.
$recipientEmailAddress="adresseEmailDestinataire";
//Ci-dessous, la variable "$customTagsList" contient le tableau des variables de personnalisation simples.
$customTagsList=array(
'URL_UUID'=>"URL_UUID_value"
);
$customFields=http_build_query(
array(
'userAccessToken'=>"XXXXXXXXXX",
'campaignAccessToken'=>"YYYYYYYYYYY",
'recipientEmailAddress'=>"$recipientEmailAddress",
'customTagsList'=>$customTagsList
)
);
//Ci-dessous, la variable "$url" contient l'adresse de l'API transactionnelle.
$url="https://api.etarget-emailing.com/callMe";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $customFields);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, True);
//La variable facultative "$response" contient la réponse du serveur spécifiant la réussite ou l'échec de l'envoi.
$response = curl_exec($curl);
curl_close($curl);
echo "Réponse API : $response";
?>


et le code que j'ai pu faire en wlangage:
Procedure EnvoiMail($Destinataire est une chaîne, $URL_UUID est une chaîne)
// Identifiant de la campagne de mailing
$userAccessToken est une chaîne = "XXXXXXXXXX"
$campaignAccessToken est une chaîne = "YYYYYYYYYYY"
$customTagsList est une chaîne = $URL_UUID
//$customTagsList est un tableau de chaine = [$URL_UUID]


req est une httpRequête
res est une httpRéponse

req..URL = "https://api.etarget-emailing.com/callMe"
req..Méthode = httpPost
req..ContentType = typeMimeFormulaireSimple

HTTPCréeFormulaire("FORM")
HTTPAjouteParamètre("FORM","userAccessToken",$userAccessToken)
HTTPAjouteParamètre("FORM","campaignAccessToken",$campaignAccessToken)
HTTPAjouteParamètre("FORM","recipientEmailAddress",$Destinataire)
HTTPAjouteParamètre("FORM","customTagsList",$customTagsList)


res = HTTPEnvoieFormulaire("FORM",req)

SI PartieEntière(res..CodeEtat/100) = 2 ALORS// Filtre tous les retours en 2xx = 200, 201, 206, etc.
RENVOYER res..Contenu
FIN



Si quelqu'un a une idée ?
Merci d'avance