PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → API pour envoi de SMS
API pour envoi de SMS
Iniciado por laurent.gauthier, 01,dic. 2004 18:27 - 4 respuestas
Publicado el 01,diciembre 2004 - 18:27
Bonjour !

Je voudrais envoyer des SMS par le biais d'une API fourni par une société (MCTEL)
pour envoyer un message il me faut remplir une variable de type structure
j'ai donc déclarer une structure suivant les informations fournis par la société
mais lors de l'envoi du message j'ai une erreur d'exécution, on dirait que les types de données déclarés dans ma structure ne sont pas correct par rapport à ce qu'attends l'API.

Ma question est la suivante comment connaitre la variable de la strucutre en faute !

Si quelqu'un à la réponse je lui dis merci par avance.
Publicado el 02,diciembre 2004 - 11:23
regarde deja au niveau des chaines car dans les structures passées en
paramêtre à une API il faut la plupart du temps passer des chaines fixes

"Laurent G" <laurent.gauthier@infocom94.fr> a écrit dans le message de
news:41ade719@news.pcsoft.fr...


Bonjour !

Je voudrais envoyer des SMS par le biais d'une API fourni par une société

(MCTEL)
pour envoyer un message il me faut remplir une variable de type structure
j'ai donc déclarer une structure suivant les informations fournis par la

société
> mais lors de l'envoi du message j'ai une erreur d'exécution, on dirait que
les types de données déclarés dans ma structure ne sont pas correct par
rapport à ce qu'attends l'API.

Ma question est la suivante comment connaitre la variable de la strucutre

en faute !

Si quelqu'un à la réponse je lui dis merci par avance.

Publicado el 02,diciembre 2004 - 12:23
Voici la structure que j'ai déclaré mais j'ai toujours le même probleme plantage total de l'appli lors de l'appel de l'API.

SMSmessage est une structure
message_type est un entier sans signe sur 4 octets
msg_reference_number est un entier sans signe sur 4 octets
called_number est une chaîne fixe sur 20
caller_number est une chaîne fixe sur 20
alternate_number est une chaîne fixe sur 20
dest_port est un entier sans signe sur 2 octet
src_port est un entier sans signe sur 2 octet
msg_length est un entier sans signe sur 4 octets
msg_format est un entier sans signe sur 4 octets
msg_class est un entier sans signe sur 4 octets
msg_encoding est un entier sans signe sur 4 octets
msg_action est un entier sans signe sur 4 octets
msg_gsm_flags est un entier sans signe sur 4 octets
msg_options est un entier sans signe sur 4 octets
country est un entier sans signe sur 4 octets
carrier est une entier sans signe sur 4 octets
sms_state est un entier sans signe sur 4 octets
sms_error est un entier sans signe sur 4 octets
credit_cost est un entier sans signe sur 4 octets
posted_date est un entier sans signe sur 4 octets
transmitted_date est une chaîne fixe sur 18
deferred_date est un entier sans signe sur 4 octets
expiration_date est un entier sans signe sur 4 octets
sender_address est une chaîne fixe sur 50
msg_data est une chaîne fixe sur 500
FIN
Publicado el 02,diciembre 2004 - 13:24
que dit la doc de ton api ?
t'as pas un exemple en c pour qu'on ait une référence ?

A+
Adrien.
Publicado el 02,diciembre 2004 - 16:53
Voici comment est déclarer la structure en C

smsUInt32 unsigned long int
smsUInt16 unsigned short int

SMSFormat est de type enum en C et a des valeurs allant de 1 à 5
idem pour SMSEncoding,SMSMessageType et SMSState.

typedef smsUInt32 smsDateTime


typedef struct {
SMSMessageType message_type;
smsUInt32 msg_reference_number;
CHAR called_number[SMS_MESSAGE_NUMBER_MAX_LEN];
CHAR caller_number[SMS_MESSAGE_NUMBER_MAX_LEN];
CHAR alternate_number[SMS_MESSAGE_NUMBER_MAX_LEN];
smsUInt16 dest_port;
smsUInt16 src_port;
smsUInt32 msg_length;
SMSFormat msg_format;
smsUInt32 msg_class;
SMSEncoding msg_encoding;
smsUInt32 msg_action;
smsUInt32 msg_gsm_flags;
smsUInt32 msg_options;
smsUInt32 country;
smsUInt32 carrier;
SMSState sms_state;
smsUInt32 sms_error;
smsUInt32 credit_cost;
smsDateTime posted_date;
CHAR transmitted_date[SMS_MESSAGE_DATE_MAX_LEN];
smsDateTime deferred_date;
smsDateTime expiration_date;
CHAR sender_address[SMS_MESSAGE_SENDER_ADDRESS_MAX_LEN];
CHAR msg_data[SMS_MESSAGE_MSG_DATA_MAX_LEN];
} SMSMessage;

Voila si cela peut t'aider autre question lors de la déclaration de la structure dans windev est on obliger de rescepter le nom des variables.

Et peut on créer comme en C un type de donnée de type enum ?

Merci