MODULE FTP VERSION 1.1
Document: mobyt_module_ftp.pdf Version: 1.1 Auteur: Ignazio Ruiu Date dernière Rév.: 31/01/2011 Organisation: Mobyt France SARL Diffusion: Reservée Destinataires: programmeurs/developpeurs Mobyt France SARL 12 Bis Rue des Quatre Vents 13007 Marseille - France Tel. +33 04 95096581 Fax +33 04 91315076 E-mail: info@mobyt.fr Web: www.mobyt.fr Mobyt - messaging services 2
Index 1 PARAMETRES TECHNIQUES POUR LA CONNEXION...4 2 FONCTIONNEMENT...4 3 FICHIERS DE DONNEES ET FICHIERS COMMANDES...5 3.1 FORMATAGE...5 3.2 REMARQUES UTILES...7 3.3 LE FICHIER DE COMMANDES...7 4 TRANSFERT FICHIERS...7 5 LES RAPPORTS...8 5.1 STRUCTURE INTERNE D'UN FICHIER DE RAPPORT...8 3
1 PARAMETRES TECHNIQUES POUR LA CONNEXION [ INDEX ] Adresse passerelle FTP : smsftp.mobyt.fr Porte : 21 Durée d inactivité : 15 minutes 2 FONCTIONNEMENT [ INDEX ] La passerelle SMS de Mobyt France sert de support pour l envoi batch de messages SMS. L envoi s effectue en transférant un fichier de données et un fichier commandes dans l espace de spool associé au compte attribué à l'utilisateur. Les fichiers de données ainsi que les fichiers commandes doivent être réalisés suivant les indications figurant dans la section : FICHIERS DE DONNEES ET FICHIERS COMMANDES. A l heure actuelle la passerelle sert de support pour le fichier transfer via ftp. L'espace FTP d un compte habilité pour les envois batch possède les deux dossiers suivants : incoming/ Dossier à l intérieur duquel les fichiers de données et les fichiers commandes seront transférés, suivant les indications reportées dans la section: TRANSFERT FICHIERS reports/ Dossier à l intérieur duquel les fichiers relatifs aux rapports des envois préalablement effectués, seront enregistrés et sauvegardés. Le fichier devra être au format ASCII et au sein de celui-ci les fichiers seront structurés suivant les indications reportées dans la section : LES RAPPORTS 4
3 FICHIERS DE DONNEES ET FICHIERS COMMANDES [ INDEX ] Le fichier de données peut être au format ASCII ou au format xbase (dbiii). La passerelle reconnaît comme fichier ASCII tous les fichiers qui n ont pas l extension ".dbf". Ces derniers sont traités en tant que fichiers au format xbase. 3.1 FORMATAGE Chaque ligne du fichier contiendra un seul message. La ligne sera segmentée en champs. Fichier au format fixe, longueur de la ligne: 222 caractères, exclue la terminaison de ligne: LineFeed (0xA) Premier champ: nom: rcpt_num descr: numéro de téléphone du destinataire offset: 0 (non utilisé en format XBASE) longueur: 25 (non utilisé en format XBASE) format +CCOOOTTTTTTT... CC = country code, OOO = préfixe opérateur, TTTTTT.. = numéro portable INFO : (remplissage (padding) non utilisé en format XBASE) Le champ doit être aligné à gauche et rempli par la droite par des caractères ' ' (0x20) exemple : +333281234702 Deuxième champ: nom: from_str descr: id de l initiateur (celui qui envoie le message) offset: 25 (non utilisé en format XBASE) longueur: 25 (non utilisé en format XBASE) format: alphanumérique ou numéro au format international Ex. Alpha: Expéditeur Ex. Num : 00393211234567ou bien +393211234567 INFO: (remplissage non utilisé en format XBASE) Le champ doit être aligné à gauche et rempli par la droite par des caractères ' ' (0x20) En présence d expéditeur alphanumérique, la longueur du texte ne peut dépasser 11 caractères. En présence d expéditeur numérique, sa longueur ne peut dépasser 17 chiffres (ou bien 16 plus le caractère + au début) 5
Troisième champ: nom: body descr: corps du message offset: 50 (non utilisé en format XBASE) longueur: 160 (non utilisé en format XBASE) format: alphanumérique INFO : (remplissage non utilisé en format XBASE) Le champ doit être aligné à gauche et rempli par la droite par des caractères ' ' (0x20) Quatrième champ: nom: expire descr: validité, en heures, du message offset: 210 (non utilisé en format XBASE) longueur: 10 (non utilisé en format XBASE) format: ascii entier exemple: ignorer les guillemets "0000000048" INFO: (remplissage non utilisé en format XBASE) La valeur de expire n est pas garantie, sa validité change en fonction du fournisseur utilisé. La durée de vie d un message est par défaut de 48 heures. Le champ en question a été conservé en conformité avec les caractéristiques précédentes. Cinquième champ: nom: quality descr: qualité du message offset: 220 (non utilisé en format XBASE) longueur: 2 (non utilisé en formato XBASE) format: char (lowercase) exemples: ignorer l élision, 'h ' ou encore 'll' INFO: (remplissage non utilisé en format XBASE) Le champ doit être aligné à gauche et rempli par la droite par des caractères ' ' (0x20) Dans le cas où aucune valeur n est spécifiée, c est la valeur de défaut (exposée ci-dessous) qui sera utilisée. Valeurs possibles: (ignorer les espaces pour le format XBASE) l (lettre elle minuscule) Qualité Direct n Qualité Top ll (lettres elle minuscules) Qualité Low Cost 6
3.2 REMARQUES UTILES Pour la création du fichier ASCII, chaque record peut être créé selon le formatage suivant: C-like : record = "%-25s%-25s%-160s%010d%-2s\n", rcpt_num, from_str, body, expire, quality 3.3 LE FICHIER DE COMMANDES Le fichier de commandes peut être complètement vide. Une fois terminé le chargement des fichiers commandes, le système élaborera des fichiers de données et mettra en attente les messages présents dans ces fichiers. 4 TRANSFERT FICHIERS [ INDEX ] La séquence de transfert est très importante, il faut d abord transférer le fichier de données et ensuite le fichier commandes. Ce dernier est nécessaire pour signaler à la passerelle que le fichier de données a été transféré dans sa totalité. Le fichier commandes doit avoir le même nom que le fichier des données mais il faut y ajouter l extension ".do_send". Exemple : pour le fichier de données sms.txt, le fichier de commandes qui s y rapporte sera sms.txt.do_send 7
5 LES RAPPORTS Le fichier contenant le rapport de l envoi aura un nom ainsi formé: yyyymmdd-hhmmss-name.txt Exemple : 20041014-131022-sms.txt La date et l'heure reportées dans le nom du fichier indiquent la date et l heure d envoi. 5.1 STRUCTURE INTERNE D'UN FICHIER DE RAPPORT Chaque fichier de rapport sera structuré au moyen de lignes ainsi formées : TAG: DESCRIPTION Les différents TAG possibles sont les suivants : MSG Sa description contiendra un message générique. Exemple: MSG: begin OK Signifie qu un message a été correctement mis en attente. Sa description contiendra le numéro de la ligne correspondante. Exemple: OK at line 1 ERR Signifie que un message n a pas été correctement mis en attente. Sa description contiendra l erreur qui a été constatée, suivie du numéro de ligne correspondante. Exemple: ERR: KO 211 quota_abs reached at line 1 (no credit) INFO Sa description contiendra des informations relatives à l envoi qui vient d être effectué. Exemple: INFO: Processed 2 record(s) Le fichier de rapport sera formaté par défaut au moyen des TAG de la manière suivante : TAG -> MSG: TAG -> OK or ERR: TAG -> INFO: TAG -> MSG: 8
Fichier d'exemple: MSG: begin OK at line 1 OK at line 2 OK at line 3 OK at line 4 OK at line 5 INFO: Processed 5 record(s) MSG: end 9