Requête HTTP avec Indy Delphi XE7
Salut à tous
Je développe actuellement une application qui doit envoyer un SMS à la suite d'une opération, par l’intermédiaire d'un API du fournisseur.
Voici la documentation du fournisseur :
Citation:
Pour envoyer un SMS par intermédiaire de l’API, il vous faut lancer une requête HTTP vers l’adresse «
https://api.fastermessage.com/v1/sms/send », en spécifiant certains paramètres (texte à envoyer, numéro de téléphone, destinataire, expéditeur, etc.). L’API va vous retourner une réponse sur l’état de la requête soumise : une confirmation de réponse si tout s’est bien passé ou une erreur si elle n’a pas les options de configuration disponibles.
Les paramètres prisent en compte pour l’envoi de SMS via l’API sont :
X-API-KEY : ce paramètre est la clé d’authentification de l’API associée à votre compte. Il vous permet de vous identifier à travers la requête HTTP ;
text : c’est le message à envoyer. Une page SMS est de 160 caractères théoriques et de 153 caractères pratiques. Certains caractères sont comptés en double comme le caractère de retour chariot. Le nombre limité de page SMS que vous pouvez envoyer en une fois est 3 donc 459 caractères ;
from : c’est l’expéditeur du message. C’est un paramètre de type alphanumérique qui peut être un nom, un numéro de téléphone, etc. Les caractères spéciaux sont interdits. Il est d’au plus 11 caractères ;>>
to : c’est le destinataire du message. Il s’agit du numéro de téléphone de celui qui reçoit le SMS précédé de l’indicatif de son pays. Exemple : 22990909090
Voici mes lignes de codes :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| procedure TForm1.Button1Click(Sender: TObject);
var
ret : String;
Ts : TStringList;
begin
Ts := TStringList.Create;
try
Ts.Add('X-API-KEY=clé_authentification_API'); // qui est la clé d'authentification de l'API fournie par le fournisseur
Ts.Add('from=MH-SOFT');
Ts.Add('to=22994113773');
Ts.Add('text=Bonjour très chers clients');
ret:=IdHTTP1.Post('https://api.fastermessage.com/v1/sms/send/',Ts);
showmessage(ret);
finally
Ts.free;
end;
end; |
j'utilise Indy sous delphi XE7
Après exécution du code, le serveur m'envoie ce message: HTTP/1.1 401 Unauthorized
Suis bloqué depuis 01 semaine. j'attends vos aides. Merci