Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Juin 2015
Contacts
Les Web Services donnent aux dveloppeurs un accs simple aux principales fonctionnalits offertes par la
plate-forme dOdyssey Services.
Ce guide du dveloppeur a pour vocation daider un client dans sa dmarche de cration dune interface,
entre son systme et la plate-forme dOdyssey Services.
Il est mis jour rgulirement, en fonction de lajout de nouvelles fonctionnalits par les quipes de
dveloppement dOdyssey Services.
Nhsitez pas demander votre interlocuteur technique la dernire mise jour de ce guide.
Vous avez actuellement entre les mains le numro de version :
support@odyssey-services.fr
Nous vous remercions pour votre contribution lamlioration des solutions que nous mettons
disposition de nos clients.
Les Web Services reprsentent un mcanisme de communication entre applications distantes travers le
rseau internet. Ils sont indpendants de tout langage de programmation et de toute plate-forme
d'excution.
En effet, ils utilisent le protocole HTTP comme moyen de transport. Ainsi, les communications s'effectuent
sur un support universel, matris et gnralement non filtr par les pare-feux. De plus, ils emploient une
syntaxe base sur la notation XML pour dcrire les appels de fonctions distantes et les donnes changes.
Grce aux Web Services, les applications peuvent tre vues comme un ensemble de services mtiers
structurs, dialoguant selon un standard. Le premier bnfice de ce dcoupage est la facilit de
maintenance de l'application, ainsi que l'interoprabilit permettant de modifier facilement un composant
(un service).
Les Web Services facilitent non seulement les changes entre les applications de l'entreprise mais surtout
permettent une ouverture vers les autres entreprises. Les premiers fournisseurs de Web Services sont ainsi
les fournisseurs de services en ligne (mto, bourse, planification d'itinraire, pages jaunes, etc.), mettant
disposition des dveloppeurs des API (Application Programmable Interface) payantes ou non, permettant
d'intgrer leur service au sein d'applications tierces.
Le fonctionnement des Web Services repose sur un modle en couches, dont les trois couches
fondamentales sont les suivantes :
Description, dont l'objectif est la description des interfaces (paramtres des fonctions, types de
donnes) des Web Services.
Invocation, visant dcrire la structure des messages changs par les applications.
La couche dcouverte
Le protocole standard le plus utilis pour la dcouverte de services est lUDDI (Universal Description
Discovery and Integration) dfini par l'OASIS. Il vise dcrire une manire standard de publier et
d'interroger les services web proposs par un rseau, gnralement au sein d'un service d'annuaire
recensant les Web Services de l'organisation.
La couche description
Le protocole standard le plus utilis pour la description de services est le WSDL (Web Service Description
Language). Cest un langage reposant sur la notation XML permettant de dcrire les Web Services. WSDL
permet ainsi de dcrire l'emplacement du Web Service ainsi que les oprations (mthodes, paramtres et
valeurs de retour) que le service propose.
XML-RPC (XML Remote Procedure Call) , le plus ancien, fonctionnant sur un principe procdural et
sans gestion des tats.
Quel que soit le standard utilis, le principe de programmation reste le mme. L'appel de mthode distante
est ralis grce une bibliothque cliente qui transmet la demande au fournisseur de services en utilisant
le langage XML. Au niveau du serveur, une bibliothque dcode la requte, le serveur fait ses traitements,
puis rpond grce cette mme bibliothque. Enfin, la bibliothque client dcode la rponse afin qu'elle
puisse tre utilise par l'application cliente.
Nous avons choisi dutiliser le standard SOAP pour la cration de nos Web Services. Il existe des
bibliothques SOAP pour de trs nombreux langages, dont Perl, C, C++, C#, Python, Java, Visual Basic/.NET,
PHP, Ruby, etc. SOAP supporte de nombreux types de donnes en tant que paramtres: entiers, dates,
boolens, chanes de caractres, structures, tableaux.
Dans ce chapitre, nous allons voir comment utiliser les Web Services avec les technologies .NET, PHP et
JAVA. Pour utiliser, puis importer les Web Services, vous devez possder un identifiant et un mot de passe
valides. Si ce nest pas le cas, contactez votre interlocuteur technique ou commercial avant de suivre les
instructions suivantes.
1. .NET
Dans cette partie, nous allons nous focaliser sur la technologie .NET et plus particulirement sur lAGL
(atelier de gnie logiciel) de Microsoft Visual Studio.
Pour importer un Web Service dans un projet sous Visual Studio (2005, 2008 ou 2010), vous devez tout
dabord crer une Rfrence Web :
1. La premire tape consiste ajouter une rfrence Web au projet. Cette tape est diffrente selon
la version de Visual Studio utilise :
a. Sous Visual Studio 2005 et 2008, dans le panneau Explorateur de solution faites un clic
droit sur le projet, puis slectionnez Ajouter une Rfrence Web .
b. Sous Visual Studio 2010, dans le panneau Explorateur de solution faites un clic droit sur
le projet, puis slectionnez Ajouter une Rfrence de Service . Dans la fentre qui
souvre, cliquez sur le bouton Avanc , puis cliquez sur le bonton Ajouter une
Rfrence Web dans la fentre suivante.
2. Dans la fentre qui souvre (Ajout dune Rfrence Web) entrez lURL suivante : http://ows.odyssey-
services.fr/Service.asmx, puis cliquez sur Go .
3. Une boite de dialogue vous demande de saisir votre identifiant et votre mot de passe. Vous devez
prfixer votre identifiant avec la chane de caractres suivante MSG\ . Par exemple pour
lutilisateur 1234.fgil, vous devez saisir MSG\1234.fgil.
4. La liste des points dentre du Web Services apparat. Il est possible de modifier le nom par dfault
de la rfrence web fr.odyssey-services.www .
Lextrait de code suivant utilise le langage de programmation C#, il permet dinitialiser les Web Services :
Une fois les Web Services initialiss, vous pouvez faire appel aux points dentre dtaills dans lannexe
Dfinition des points dentre en utilisant lobjet Service de la faon suivante :
s.NomDuPointEntree(param1,param2,);
Vous pouvez retrouver les sources dun projet illustrant les principales fonctionnalits de nos Web Services
ladresse suivante : http://www.odyssey-services.fr/Examples/CSharp.zip.
2. PHP
Dans cette partie, nous allons nous focaliser sur le langage de programmation PHP. Il existe de nombreuses
librairies permettant dutiliser le protocole SOAP, notamment une extension de PHP5 installer sur le
serveur PHP. Tous les dveloppeurs nont pas la totale libert sur leur serveur PHP et ne peuvent pas
forcment utiliser les dernires classes PHP5. Cest pour cela que nous avons dcid dillustrer lutilisation
de la librairie NuSoap.
NuSOAP est librairie base sur SOAPx4, dveloppe par NuSphere et Dietrich Ayala. Cest un ensemble de
classes PHP (aucune extension PHP nest requise) qui permet aux dveloppeurs de crer et de consommer
des Web Services bass sur le protocole SOAP. La version actuellement disponible de NuSoap est la 0.7.3.
Pour utiliser un Web Service avec la librairie NuSoap vous devez tlcharger la librairie puis linstaller dans
vos sources :
1. Le projet Nusoap est hberg par SourceForge. Vous pouvez le tlcharger ladresse suivante :
http://downloads.sourceforge.net/project/nusoap/nusoap/0.7.3/nusoap-
0.7.3.zip?use_mirror=switch.
2. Une fois le projet tlcharg sous forme dun fichier ZIP, dcompressez-le, puis placez le dossier
Lib dans larborescence de vos sources.
Lextrait de code suivant utilise le langage PHP, il permet dinitialiser les Web Services :
$wsdl = 'http://ows.odyssey-services.fr/service.asmx?WSDL';
$user = 'msg.services\VotreIdentifiant';
$pass = 'VotreMotDepasse';
$param = array("username"=>$user,"password"=>$pass);
Une fois les Web Services initialiss, vous pouvez faire appel aux points dentre dtaills dans lannexe
Dfinition des points dentre en utilisant lobjet client de la faon suivante :
$client->call('NomDuPointEntre',¶m1,$param2,)
Vous pouvez retrouver les sources illustrant lutilisation du point dentre StartBroadcast ladresse
suivante : http://www.odyssey-services.fr/Examples/PHP.zip.
3. JAVA
Dans cette partie, nous allons nous focaliser sur lenvironnement li la technologie JAVA. Pour accder
aux Web Services avec JAVA, il faut au pralable crer les classes drives du Web service (Proxy). Pour
vous viter la cration du Proxy, nous mettons votre disposition une librairie contenant les classes
drives sous forme dun fichier JAR (API) ladresse suivante : http://www.odyssey-
services.fr/Examples/service.jar.
Ce tutoriel va vous guider dans la cration dun projet JAVA accdant nos Web Services par le biais de
lAPI service.jar tlcharge prcdemment. Pour raliser ce tutoriel, nous avons utilis
lenvironnement de dveloppement Eclipse SDK 3.2.1 disponible ladresse suivante :
http://www.eclipse.org/downloads/.
a. Composants requis
Avant de commencer le dveloppement dune application utilisant les Web Services dOdyssey Services,
assurez vous de possder les prrequis suivant :
b. Cration du projet
Nous allons prsent dtailler les diffrentes tapes pour crer et configurer un projet Eclipse vierge prt
utiliser les Web Services laide de lAPI service.jar :
1) Crez un dossier Odyssey sur votre disque (ex : C:\Odyssey ). Installez les prrequis (Apache
Axis, Commons Codec, Commons-HttpClient, Java Activation Framework et Java Mail API) dans ce
dossier et dplacez aussi lAPI service.jar dans ce dossier.
2) Avant de lancer Eclipse, vrifiez que le chemin du rpertoire bin du JDK se trouve dans la
variable denvironement PATH.
6) Cliquez sur le bouton Run As dans la barre de menu. Dans la fentre de configuration,
slectionnez Java Application , puis cliquez sur le bouton ok .
7) Cliquez sur Run=>Open Run Dialog situ dans le menu. Dans la fentre de configuration,
ouvrir longlet ClassPath .
Slectionnez le champ User Entries , puis cliquez sur le bouton Advanced .
Dans la nouvelle fentre, slectionnez Add External Folders comme option avance et cliquez
sur le bouton OK .
Slectionnez le dossier Odyssey , cr ltape 1, puis cliquez sur le bouton OK .
Cliquez sur le bouton Apply dans la fentre prcdente et enfin sur le bouton Run .
Lextrait de code suivant utilise le langage JAVA, il permet dinitialiser les Web Services :
Une fois les Web Services initialiss, vous pouvez faire appel aux points dentre dtaills dans lannexe
Dfinition des points dentre en utilisant lobjet service de la faon suivante :
Service.NomDuPointEntree(param1,param2,);
Vous pouvez retrouver les sources dun projet illustrant les principales fonctionnalits de nos Web Services
ladresse suivante : http://www.odyssey-services.fr/Examples/Java.zip.
Un JOB est le terme qui dsigne une opration denvoi. Cest un ensemble de DOCUMENTS, envoy
une ou plusieurs LISTES de destinataires, avec un ensemble doptions. Quelques options sont accessibles
par l'intermdiaire des interfaces de programmation, telles que le site internet ou les Web Services.
D'autres options peuvent seulement tre modifies par le service client d'Odyssey Services.
La configuration de ces options peut aboutir la cration de JOB TYPES. Un type dopration permet la
configuration doptions telles que la dfinition particulire dalgorithmes de tentative, la faon de traiter les
documents, et d'autres scnarios peu courants. Une fois crs, les types dopration pourront tre utiliss
via les interfaces de programmation. La plupart des applications n'exigent pas l'utilisation de types
dopration.
Un DOCUMENT peut tre un fichier Office (.doc, .docx, .xls, .xlsx, .ppt, .pptx), un fichier Acrobat (.pdf), un
fichier HTML (.htm, .html), ou un fichier TIFF faxable (.tif, .tiff).
Une LISTE peut tre un fichier Excel (.xls, .xslx), un fichier dont les colonnes sont spares par des
tabulations (.tab, .txt), ou un fichier dont les colonnes sont spares par des points virgules (.csv).
Les DOCUMENTS slectionns lors dune opration denvoi sont transmis aux destinataires dfinits par
les LISTES slectionnes. Les destinataires se composent dune ADRESSE obligatoire et dun NOM
optionnel.
Les Web Services supportent deux formats dadresse, soit un numro de fax valide soit une adresse email.
Le systme dtecte automatiquement le type de ladresse en recherchant la prsence du caractre @.
Les adresses email peuvent se prsenter sous la forme utilisateur@fai.com ou bien sous la forme Nom de
lutilisateur <utilisateur@fai.com>. Les doubles quottes et les chevrons sont obligatoires pour utiliser la
deuxime forme. (Ex: f.gil@odyssey-services.fr ou Franck GIL <f.gil@odyssey-services.fr>)
<PRE> est le code international du pays de destination (1 pour les US, 33 la France etc. )
<N> est le numro local dans le pays de destination
Exemple : 00 33 4 88 00 67 00
Le NOM des destinataires peut tre une simple chane de caractres (Ex: Franck GIL ), ou bien une
chane de caractres complexe compose de plusieurs colonnes (Ex : Franck GIL 123 rue
Montpellier France ). Pour dterminer si le NOM est une chane de caractres simple ou
complexe le systme utilise le format de liste par dfaut dfini sur le compte utilisateur.
Les DOCUMENTS et les LISTES peuvent tre des fichiers hbergs HOSTED FILES ou des fichiers
locaux LOCAL FILES.
Les fichiers locaux (LOCAL FILES) sont stocks sur votre disque local. Ils doivent tre transfrs vers le
systme dOdyssey Services pour tre utiliss lors dun envoi. Vous devez spcifier lors du transfert le nom
complet du fichier, le contenu et le type MIME. Si le type MIME nest pas renseign, le systme associera
un type MIME en fonction de lextension du fichier. Par exemple, si le fichier possde lextension .html le
systme lui associera le type MIME text/html , si le fichier possde lextension .doc le sytme lui
associera le type MIME application/msword .
Les fichiers hbergs (HOSTED FILES) sont des fichiers que vous transfrez sur la plate-forme dOdyssey
Services, grce aux Web Services, et que vous pouvez utiliser lors de la cration dune opration denvoi.
Chaque client possde un espace de stockage qui lui est propre.
Vous pouvez aussi accder vos fichiers hbergs en utilisant les WEB FOLDERS disponible par
l'intermdiaire du protocole WEBDAV. Les WEB FOLDERS vous donnent accs plusieurs dossiers,
un dossier pour les documents hbergs, un dossier pour les listes hberges et un dossier pour les
rapports dmission.
Pour accder vos WEB FOLDERS partir dInternet Explorer vous devez utiliser la boite de dialogue
Ouvrir disponible dans le menu Fichier , puis saisir lurl de vos WEB FOLDERS et cocher la case
Ouvrir comme un dossier Web . Un nom d'utilisateur et un mot de passe sont exigs pour valider votre
connexion. Une fois ouverts, les dossiers se comportent comme des dossiers prsents sur votre disque
local.
Le protocole WEBDAV est un protocole standard internet (voir la RFC 4316). Il permet de simplifier la
gestion de fichiers stocks sur des serveurs distants, en donnant la possibilit aux utilisateurs de les
rcuprer, les dposer, les synchroniser et les publier simplement. De plus, il rend possible la lecture et
l'criture travers le web pour plusieurs utilisateurs simultans. Il saura grer les droits d'accs aux fichiers,
en verrouillant momentanment les fichiers dits.
Le ou les corps du message. Il peut y avoir un corps de message en HTML et un autre en texte
appel alternate. Ce dernier saffichera uniquement si le format du premier nest pas support par
la messagerie du destinataire.
Optionnellement une ou plusieurs pices attaches. Elles peuvent tre de nimporte quel format.
La plateforme dOdyssey Services permet de paramtrer 3 types dadresses email au niveau du compte ou
dun type dopration. Elles sont utiliss lors de lenvoi dun email :
E-sender : adresse utilise par le protocole SMTP dans la commande Mail From . Cette adresse
nest pas visible directement par le destinataire.
Ces adresses sont soumises quelques contraintes pour viter que les emails envoys par notre plateforme
soient bloqus par le serveur SMTP du destinataire.
Les adresses emails utilises pour les champs From et E-sender doivent avoir le mme nom de domaine
que le serveur SMTP en charge des envois. Pour le champ From nous prconisons les adresses du type
socit@ods1.net. Par contre, nous forons le champ E-sender avec ladresse bounce@ods1.net.
Ladresse email utilise pour le champ Reply-To est libre.Si la demande de configuration nest pas spcifie
lors de louverture du compte, la valeur du champ From sera utilise par dfaut.
Les retours occasionns par les oprations denvoi demails peuvent avoir 3 formes :
Reply-To du destinataire ;
Faux Reply dun destinataire direct ou indirect aprs que lemail ait t transfr ;
Bounce.
Dans le premier cas, le destinataire du mail clique sur rpondre, ladresse de destination de la rponse est
automatiquement renseigne avec les donnes prdfinies sur le compte (champ Reply-To).
Dans le dernier cas, lemail a t accept par le serveur SMTP du destinataire. Il est donc considr comme
envoy. Cependant, si, pour de multiples raisons lemail na pas t dlivr au destinataire final, le serveur
SMTP peut nous nous retourner un email asynchrone contenant la raison de lchec ladresse configure
au niveau du champ E-sender. Cet email est appel un Bounce.
Les rponses envoyes aux champs From et E-sender (bounce et faux reply) sont routes vers une adresse
unique. Cette adresse sera scanne intervalle rgulier par un programme de traitement automatique des
rponses.
Not bounce : Cette catgorie regroupe les faux Reply et les accuss de rception email. En effet,
certains serveurs SMTP nous retournent un accus de rception confirmant la bonne livraison de
lemail.
Info : Cette catgorie regroupe les emails dinformations retourns par le serveur SMTP ou le
logiciel de messagerie du client (ex :Out Of Office du destinataire, ).
Soft Bounce : Cette catgorie concerne les emails qui ne sont pas arrivs destination pour un
motif de refus temporaire (ex : la bote de rception du destinataire est pleine, un mauvais
fonctionnement temporaire du serveur SMTP du destinataire, lexpditeur est bloqu, ).
Hard Bounce : Cette catgorie concerne les emails qui ne sont pas arrivs destination pour un
motif de refus permanent (ex : adresse du destinataire incorrecte, domaine du destinataire
incorrect, ).
Les deux premires catgories concernent des emails qui ont bien t transmis aux destinataires finaux. Par
contre, un email faisant parties dune des trois dernires catgories est issu dun chec dtect de manire
asynchrone par le serveur SMTP du destinataire.
c. Configuration
Nous pouvons transfrer les emails de retour aprs les avoir classifis. Pour cela, la liste des catgories
transfrer doit nous tre communique ainsi quune adresse email vers laquelle les retours seront routs. Il
est aussi possible de nous transmettre une adresse email par catgorie.
Les retours sont receptionns de manires asynchrone, le statut des envois peut donc voluer au cour du
temps. Il est possible de suivre lvolution du statut en temps rel avec les fonctions getJobDetail5 et
getJobDetail6.
Ces deux fonctions retournent de nombreuses informations concernant un envoi (cf. Annexe). Nous allons
nous intreser la valeur des champs Outcome et Status.
Le champ Status donne plus de prcision sur la nature de lerreur. Dans le cas des Bounces la valeur du
champ peut varier entre 15000 et 15013 :
OpenTracking : Ce type de Tracking permet de savoir si le destinataire final ouvert lemail. En plus
de cette information, il retourne le nombre douverture ainsi que les dates de premire et dernire
ouverture.
ClickToTracking : Lutilisation de ce type de Tracking transforme tous les liens hypertextes ainsi que
les images pour les rendre trackable. Ce mcanisme permet de retourner, pour chaque lien et
chaque image, le nombre douverture/click ainsi que les dates de premire et dernire
ouverture/click.
b. Configuration
Il est possible dactiver un ou les deux types de Tracking au niveau dun compte ou dun type dopration. Il
faut en faire la demande lors de la cration du compte ou auprs de votre commercial.
Pour raliser une opration email utilisant la fonctionnalit de Tracking, il faut slectionner un type
dopration pour lequel la fonctionnalit de Tracking est configure. La slection du type dopration se fait
lors du lancement de lopration.
Les retours sont receptionns de manires asynchrone. Les informations de Tracking pour un envoi
peuvent donc voluer au cour du temps. Il est possible de suivre cette volution en temps rel avec les
fonctions getTrackingJobDetailAsDataSet et getTrackingJobDetailAsAFile.
Pas de gestion de multiples formats de documents, seuls les documents au format texte sont
accepts (.txt) ;
1. Le champ metteur
Si votre paramtrage permet la personnalisation du champ metteur, celui-ci doit tre conforme aux
caractristiques suivantes :
Le champ metteur doit au minimun comporter une lettre minuscule ou une lettre majuscule (les
numros de tlphone sont interdits).
2. Le corps du message
Plusieurs types de messages sont supports par linfrastructure SMS dOdyssey Services : ASCII, Unicode ou
binaire. Par dfaut, les comptes clients utilisent les SMS texte au format ASCII. Pour utiliser un autre type
de message, il faut en faire la demande lors de la cration du compte ou au prs de votre commercial.
Ce type de SMS permet dutiliser du texte alphanumrique au format ASCII. Il peut comporter jusqu 160
caractres par message.
0123456789
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
Ainsi que les caractres tendus (ANSI) suivants utiliser avec prcaution :
Ce type de SMS permet dutiliser du texte alphanumrique au format Unicode (UCS). Il permet dutiliser
tous les caractres non supports par le format prcdent. Lors de lenvoi chaque caractre sera encod
sur 2 octets ce qui limite la taille du message 70 caractres.
c. SMS binaire
Ce type de SMS permet de transmettre des donnes de manire transparente au terminal mobile. Il peut
comporter jusqu 140 octets de donnes binaires.
Pour envoyer un SMS binaire, vous devez crer un fichier contenant les donnes binaires envoyer et
spcifier lextension .txt .
Lenvoi russi dun message binaire au terminal mobile du destinataire nindique pas que l'appareil peut
interprter correctement le format et le contenu des donnes reus. Ceci est fortement tributaire des
fabricants terminaux mobiles et du modle.
3. Notes importantes
Le saut de ligne en fonction de son codage ( Unix/Dos) peut utiliser 1 ou 2 caractres. Les 2 formse de saut
de ligne tant gnralement supports par les tlphones.
Lencodage du fichier texte doit tre au format ANSI (ISO-8859-1) pour une meilleure garantie de service.
Le SMS naccepte aucune mise en forme (gras, soulign) ou image ou autre lment non texte.
Selon le paramtrage de votre compte, il peut tre ncessaire de renseigner le jobtype avec la valeur
SMS , cette information est normalement transmise avec les paramtres du compte.
Un rapport format fichier peut tre tlcharg une fois que le job est termin, avec la fonction
GetReport.
Quand le SMS est bien reu par le destinataire, le code final est S.
B pour en cours
Impression Impression
Recto / Verso Recto
Les fichiers gnrs par Word (version 1997-2003) avec lextension .DOC ,
Les fichiers gnrs par Excel (version 1997-2003) avec lextension .XLS . Ce type de fichier doit
tre utilis avec prcaution, notamment pour viter des envois involontaires sur un nombre de
page non maitris.
Les adresses des destinataires doivent tre formates sur 7 champs (colonnes) :
1er champ => Identit du destinataire (Civilit, titre ou qualit, non, prnom).
Les champs 1, 6 et 7 sont obligatoires et ne peuvent tre vides, dans le cas contraire ladresse sera
considre comme invalide. Les envois linternational sont accepts, le 7me champ doit donc toujours
contenir une des valeurs suivante :
La gestion des destinataires complmentaires (Adhocs) nest plus possible cause du format spcifique de
ladresse.
3. Notes importantes
Lors dun envoi de courrier, il est impossible de raliser un envoi de BAT ou une Prvisualisation.
La gestion des doublons (DEDUPE) et des listes de dsabonnes (DNS) ne peuvent tre prise en compte
dans le cas dun envoi de courrier.
Selon le paramtrage de votre compte, il peut tre ncessaire de renseigner le jobtype avec la valeur
Courrier , cette information est normalement transmise avec les paramtres du compte.
Un accus de prise en compte est transmis par le prestataire permettant de changer le statut de lopration
en Actif . Cet accus est transmis entre 15 et 30 minutes aprs le dpt dune demande denvoi chez le
Affranchissement Affranchissement
STANDARD ECOPLI
Pour information, le prestataire ralise trois oprations de remise en poste par jour (11h, 15h et 18h) tous
les jours ouvrs de la semaine (Lundi, Mardi, Mercredi, Jeudi et Vendredi). A lissue de cette remise en
poste, un accus de remise en poste nous est adress permettant de changer le statut de lopration en
Termin .
Dans ce chapitre, nous allons aborder les problmatiques les plus courantes aux quelle vous pourrez tre
confront lors de lutilisation des Web Services dOdyssey Services. Ces problmatiques sont dcrites sous
forme de schma indpendant de la technologie ou du langage de programmation utilis.
Pour les dveloppeurs JAVA, C# et PHP, il existe des projets de dmonstration illustrant le code source de la
plupart de ces diffrents scnarios. Pour les obtenir, contactez notre service technique ladresse
suivante :
support@odyssey-services.fr
1. Lister vos documents hbergs
Le scnario est diffrent en fonction du nombre de numro de fax que vous possdez :
Les dfinitions des structures de donnes sont dcrites en C#. Toutefois, le mode de communication des
Web Services est bas sur le langage XML, ce qui implique que ces structures peuvent tre utilises avec
nimporte quel autre langage et sur nimporte quelle plate-forme. La description des structures du Web
Services est disponible dans le fichier WSDL accessible ladresse suivante : http://ows.odyssey-
services.fr/Service.asmx?wsdl.
Faxmode
Cette numration est utilise pour spcifier la rsolution des fax lors dun envoi. La haute rsolusion
correspond approximativement du 200 x 200 dpi. La base rsolution correspond approximativement du
200 x 100 dpi. Quelques tlcopieurs plus anciens ne sont pas capables dassurer la rception de document
en haute rsolution.
Recipient
Comme dcrit dans le lexique ci-dessus, un destinataire se compose dune chane de caractres
correspondant son nom qui peut tre nul ou vide, et dune chane de caractres obligatoire pour son
adress. L'adresse doit tre un numro de fax ou une adresse email valide.
FileReference
Une FileReference dcrit un fichier transfrer vers la plate-forme dOdyssey Services, un fichier
tlcharger de la plate-forme dOdyssey Services, ou un fichier utiliser dans une opration denvoi.
name est une chane de caractres reprsentant le nom du fichier sans information sur le chemin
daccs.
contents reprsente le contenu binaire du fichier sous forme de tableau de Bytes. Le contenu ne
doit pas tre vide si le fichier nest pas hberg.
mimeType dfinit le type MIME du fichier sous forme de chane de caractres. Il nest pas
obligatoire. Cependant, si le type MIME du fichier est dfini, il sera utilis pour lenvoi demail.
Sinon, le systme affectera un type MIME en fonction de lextension du fichier.
attachToEmail est un boolen qui ne sert que pour les documents. Si le document est attach, il
sera ajout aux pices jointes des envois email. Sinon, le document ne sera utilis que pour les
envois fax et ne sera pas prsent dans les pices jointes des envois email.
HostedFileCollection
Dans le cas dune suppression ou dun tlchargement, chaque rfrence de documents ou de listes doit
tre une rfrence valide sur un document ou une liste hberg. Pour les transferts, le fichier ne doit pas
dj tre hberg, sinon il sera cras.
Les lments mimeType et attachToEmail sont ignors pour les oprations de transfert, de
tlchargent et de suppression de fichiers.
KVP
La structure de donnes KVP (key value pair) permet de simuler le mcanisme de clef-valeur. Le
Framework .Net permet dutiliser ce mcanisme via lobjet Dictionnary . Cependant, cet objet nest pas
srializable et ne pas tre transmis par les services web.
Value est une chane de caractre qui reprsente la valeur associe la clef.
La structure de donnes Broadcast permet de dfinir tous les paramtres dun envoi.
csid est une chane de caractres optionnelle dcrivant le numro de fax metteur. Si le
numro de lmetteur nest pas renseign le systme utilisera celui dfinit dans le type
dopration slectionn. Lutilisation abusive de faux numros de fax metteur peut entraner
la fermeture de votre compte utilisateur.
emailFrom dcrit une adresse email valide (cf. lexique) sous forme de chane de caractres.
Cette adresse est utilise pour les envois demail en tant quadresse email mettrice.
Lutilisation abusive de fauses adresses peut entraner la fermeture de votre compte utilisateur.
emailAltBody est une FileReference sur un fichier texte (.txt) qui sera utilise en tant que
corps demail alternatif pour les destinataires qui ne peuvent pas recevoir de messages au
format HTML. Vous ne pouvez slectionner de corps demail alternatif que si vous avez
slectionn un corps demail.
trackingID est une chane de caractres optionnelle permettant de dfinir une rfrence pour
lenvoi. Cette rfrence permet lutilisateur didentifier clairement lopration dans la
facturation ou bien lors dune recherche.
adhocs est un tableau de Recipient . Cela permet de dfinir des destinataires sans utiliser
de listes. Il est possible de combiner lutilisation de listes et de destinataires dits adhocs . Ce
type de destinataires ne peut tre utilis que pour les comptes utilisateurs qui utilisent le
format de liste par dfaut (en 1er colonne ladresse et en 2me colonne le nom).
memo est une chane de caractres utilise si vous effectuez un envoi avec une page de garde
stocke chez Odyssey Services. Cela Implique l'utilisation d'un type dopration spcifique.
faxMode utilise lnumration FaxMode pour dfinir la rsolution des fax envoyer.
applicationName est une chane de caractres optionnelle qui dcrit le nom de lapplication
qui ralise lenvoi. Ceci est trs utile pour retrouver les traces dun envoi ralis par une
application donne.
applicationArgs est un tableau de chane de caractres qui nest pas utilis pour le moment.
Broadcast2
La structure de donnes Broadcast2 hrite de la structure de donnes Broadcast . Elle possde trois
paramtres supplmentaires :
emailBounceTo dcrit une adresse email valide (cf. lexique) sous forme de chane de
caractres. Cette adresse est utilise pour les envois demails par le protocole SMTP dans la
commande Mail From . Cette adresse nest pas visible directement par le destinataire.
proof ce paramtre est utilis dans le cadre dun BAT. Il permet de spcifier ladresse utilise
pour envoyer le BAT.
Broadcast3
smsBody est une FileReference sur un fichier texte (.txt) qui sera utilis en tant que
message pour les envois de SMS. Ce paramtre nest pas encore utilis par cette version de la
plateforme.
dnsListName est un tableau de chane de caractre qui regroupe lensemble des listes de
dsabonnement (DNS LIST) utiliser pour lenvoi. Seul le nom de la liste est transmis, les listes
doivent tre dposes au pralable sur la plateforme par le service client.
whiteListName est un tableau de chane de caractre qui regroupe lensemble des listes de
numros autoriss (WHITE LIST) utiliser pour lenvoi. Seul le nom de la liste est transmis, les
listes doivent tre dposes au pralable sur la plateforme par le service client.
BroadcastReturn
outcome est un entier qui indique le rsultat de la cration de lopration. Sil est > 0
lopration est correctement initialise et il reprsente le numro de lopration. Sinon, une
erreur sest produite durant linitialisation de lopration.
messages est un tableau de chane de caractres qui dcrit les erreurs (si outcome <0).
GroupMember
Cette structure de donnes reprsente un utilisateur qui fait parti dun groupe de facturation (cas
particulier des revendeurs).
JobData
Une structure de donnes JobData est un DataSet qui regroupe un ensemble dinformations pour une
ou plusieurs oprations. Un DataSet est un objet spcifique la technologie Microsoft .Net qui peut tre
assimil un tableau dobjet srialisable en XML. Il reprsente un ensemble de donnes stock en
mmoire. Pour de plus amples informations, consultez le lien suivant : http://msdn.microsoft.com/en-
us/library/system.data.dataset.aspx.
Job est une chane de caractres de la forme JOBXXXXXXXX qui fait office didentifiant
unique pour lopration. Ex : pour lopration numro 1234 la valeur sera JOB00001234.
Type reprsente le nom du type dopration utilis pour effectuer lenvoi. Si aucun type
dopration na t associ lenvoi, la valeur sera Unspecified .
Sent est un entier qui indique le nombre de destinataires qui ont t joints.
Remaining cet entier est diffrent de 0 si lopration nest pas termine. Il indique le nombre
de destinataire quil reste joindre.
JobDataEx
Tout comme la structure de donnes prcdente, JobDataEx est un DataSet qui regroupe un ensemble
dinformations pour une ou plusieurs opration. Ces deux structures sont identiques lexception prs que
la deuxime possde 3 informations supplmentaires concernant lopration :
JobDataStats
Pour les dveloppeurs qui nutilisent pas la technologie de Microsoft, il existe une alternative lutilisation
des deux structures de donnes prcdentes. Une structure JobDataStats regroupe toutes les
informations, dune opration donne, dcrites dans les deux structures prcdentes.
ItemDetail
Une structure de donnes ItemDetail est un DataSet qui regroupe un ensemble dinformations sur un
ou plusieurs lments dune opration. Un lment reprsente un destinataire de lenvoi.
Item est un entier qui reprsente le numro de llment et plus prcisment sa position
dans la liste.
Fax si ladresse du destinataire est un numro de tlphone, ce champ est renseign. Dans le
cas dun destinataire mail ce champ est vide.
Email si ladresse du destinataire est une adresse email, ce champ est renseign. Dans le cas
dun destinataire fax ce champ est vide.
Pages indique le nombre de pages envoys pour les destinataires fax. Dans le cas dun
destinataire email, ce champ a la valeur 0.
Attempts correpond au nombre de tentatives qui ont t faites pour joindre le destinataire
ou avant de placer llment en erreur.
FaxBytes correspond la taile en Bytes du fax envoy. Dans le cas dun destinataire email, ce
champ a la valeur 0.
EmailBytes correspond la taile en Bytes du mail envoy. Dans le cas dun destinataire fax, ce
champ aura la valeur 0.
AnswerBack pour les destinataires fax, ce champ reprsente le numro de lquipement qui a
rpondu, et pour les destinataires email ce champ correspond au nom du serveur mail du
destinataire.
Calltime est un entier qui donne la dure de transmission du fax. Dans le cas dun destinataire
email, ce champ a la valeur 0.
CallAnalysis si llment nest pas envoy, ce champ donne une explication (en anglais) sur la
cause de lchec de la transmission. Si llment a bien t envoy, ce champ sera vide.
ItemDetail2
Tout comme la structure de donnes prcdente, ItemDetail2 est un DataSet qui regroupe un
ensemble dinformations sur un ou plusieurs lments dune opration. Ces deux structures sont
identiques lexception prs que la deuxime possde quelques informations supplmentaires concernant
le destinataire :
Item est un entier qui reprsente le numro de llment et plus prcisment sa position
dans la liste.
Disposition ce champ peut avoir deux valeurs : Sent pour indiquer que llment a
bien t envoy et Fail pour indiquer que llment na pas t envoy.
Email si ladresse du destinataire est une adresse email, ce champ est renseign. Dans le
cas dun destinataire fax ce champ est vide.
Pages indique le nombre de pages envoys pour les destinataires fax. Dans le cas dun
destinataire email, ce champ a la valeur 0.
FaxBytes correspond la taille en Bytes du fax envoy. Dans le cas dun destinataire
email, ce champ a la valeur 0.
EmailBytes correspond la taille en Bytes du mail envoy. Dans le cas dun destinataire
fax, ce champ aura la valeur 0.
Baudrate pour les destinataires fax, ce champ indique la vitesse de transmission. Dans le
cas dun destinataire email, ce champ a la valeur 0.
Calltime est un entier qui donne la dure de transmission du fax. Dans le cas dun
destinataire email, ce champ a la valeur 0.
CallAnalysis si llment nest pas envoy, ce champ donne une explication (en anglais)
sur la cause de lchec de la transmission. Si llment a bien t envoy, ce champ sera
vide.
ItemDetail3
Tout comme les deux structures de donnes prcdentes, ItemDetail3 est un DataSet qui regroupe un
ensemble dinformations sur un ou plusieurs lments dune opration. Cette structure est identique la
prcdente lexception prs quelle possde une information supplmentaire concernant le destinataire :
Status est un entier suprieur ou gal 0. En gnral, si le status est gal 0 le destinataire a
t joint avec succs, sinon il correpond un numro derreur interne Odyssey Services.
DeliveryItem
Pour les dveloppeurs qui nutilisent pas la technologie de Microsoft, DeliveryItem est une alternative
lutilisation de la structure de donnes ItemDetail .
DeliveryItem2
Pour les dveloppeurs qui nutilisent pas la technologie de Microsoft, DeliveryItem2 est une alternative
lutilisation de la structure de donnes ItemDetail2 .
DeliveryItem3
Pour les dveloppeurs qui nutilisent pas la technologie de Microsoft, DeliveryItem3 est une alternative
lutilisation de la structure de donnes ItemDetail3 .
La nouvelle structure Broadcast3 , qui permet de dclarer une opration sur la plateforme Odyssey
Service, intgre un nouvel attribut otherOptions permettant de spcifier des options de configuration
pour un envoi.
Cet attribut est un tableau de KVP qui permet de remplacer lobjet Dictionnary du framework .NET.
Il permet de dfinir des options de configuration pour un envoi sous la forme dune clef et dune valeur (cf.
structure de donnes KVP). Le nom des clef est totalement libre. Cependant, il xiste un certain nombre de
clef associes des actions prdfinies.
Les options seront catgorises par mdia, une partie gnrale permettra de prsenter les options qui
sappliquent lopration indpendament du mdia. Pour linstant uniquement des configurations pour le
mdia Courrier sont disponibles :
Courrier
Quel que soit le mdia le rsultat dune transmission est reprsent par une lettre qui peut prendre les
valeurs suivantes : S , A , B , C , D , E , F , G , H et Z . Le S indique que le
destinataire a bien reu le ou les documents de lenvoi, les autres valeurs indiquent quune erreur sest
produite. Chaque lettre une signification diffrente en fonction du mdia.
Fax
Rsultat Description
S Envoy
A Pas de rponse
B Ligne occupe
C Erreur oprateur
D Ce nest pas un fax qui a dcroch (voix, modem ?)
E Erreur systme
F Echec lors de la transmission
G Faux numro
H Interlocuteur a raccroch
Z Annul, bloqu ou dupliqu
EMAIL
Rsultat Description
S Envoy
A Erreur serveur distant
B Serveur distant temporairement indisponible
C Serveur distant injoignable
D B.A.L indisponible
E Erreur systme
F Soft Bounce - Antispam
G B.A.L invalide
H Hard Bounce
Z Annul, bloqu ou dupliqu
SMS
Rsultat Description
S Succs
A Crdit insuffisant
B En attente dinformation du mobile ou du rseau
C Message incorrect ou incompatible avec le mobile
D Destinataire injoignable
E Problme de souscription
F Statut inconnu
Vocal
Rsultat Description
S Succs
A Pas de rponse
B Ligne occupe
C N/A
D N/A
E N/A
F Echec lors de la transmission
G Faux numro
H N/A
Z Annul, bloqu ou dupliqu
Courier
Rsultat Description
S Envoy
A N/A
B N/A
C N/A
D N/A
E N/A
F N/A
G Adresse invalide
H N/A
Z Annul
La plupart des points dentre sont disponibles sous deux formes : nom (paramtres) ou nomRS
(paramtres). Le suffixe RS est souvent utilis pour les revendeurs. Les revendeurs sont des clients qui
peuvent grer et visualiser lactivit de plusieurs comptes. La liste complte des points dentre du Web
Services est dcrite dans le fichier ASMX accessible ladresse suivante : http://ows.odyssey-
services.fr/Service.asmx.
Les deux formes de points dentre se comportent de la mme faon, c'est--dire que les traitements et les
rsultats quils produisent sont identiques. La seule diffrence, consiste ajouter le numro de client dans
les paramtres pour toutes les utilisations des points dentre utilisant le suffixe RS (int CustomerNumber).
Pour les autres appels, sans le suffixe RS, le numro du client est dduit des informations de connexion aux
Web Services.
Tous les points dentre utilisant le suffixe RS vrifient la validit du numro de client pass en paramtre
ainsi que lautorisation de lutilisateur connect aux Web Services raliser des oprations pour ce client.
Nous allons documenter uniquement les points dentre dits classique , qui nutilisent pas le suffixe RS :
string[] CancelJob(string Job, string JobType) annule tous les lments de lopration passe en
paramtre qui ne sont pas encore envoys ou qui ne sont pas en cours denvoi. Si lopration a t
lance avec un type dopration spcifique, il faut passer son nom en paramtre. Le numro
dopration peut tre renseign sous sa forme complte (JOB00001234) ou sous la forme dun
entier simple (1234). Ce point dentre retourne un tableau de chane de caractres. Si lannulation
est un succs, une chane de caractres unique est retourne OK , sinon plusieurs chanes
dcrivant lerreur peuvent tre retournes.
FaxMode GetDefaultMode(string JobType) retourne la rsolution fax par dfaut dfinie dans le
type dopration pass en paramtre. Si le type dopration nest pas renseign, cest la rsolution
par dfaut du compte utilisateur qui est retourne.
GroupMember[] GetGroup() retourne lensemble des clients pour lesquels lutilisateur connect
aux Web Services peut gr ou visualiser leurs activits. Il nexiste pas de variante utilisant le suffixe
RS pour ce point dentre.
string[] GetLists() retourne un tableau de chane de caractres correspondant aux noms des listes
hberges sur le compte utilisateur.
FileReference GetPreview(string Job, string JobType) retourne une FileReference avec le nom
et le contenu de la prvisualisation, au format TIFF, correspondant lopration passe en
paramtre. Pour rcuprer le fichier de prvisualisation, il faut que lopration soit dans ltat
new job set up et quelle ait t cre par le point dentre startPreview . Si lopration a t
cre avec un type dopration spcifique, il faut passer son nom en paramtre. Le numro
dopration peut tre renseign sous sa forme complte (JOB00001234) ou sous la forme dun
entier simple (1234). Si une erreur survient, une exception est leve avec un message dcrivant la
nature de lerreur.
string[] GetReceivedFileNames(String folder) retourne la liste des noms de fichiers (fax reu)
contenus dans le dossier de rception fax pass en paramtre.
String[] GetReceivedFolders() retourne la liste des dossiers de rception fax dans lesquels les fax
reus par le service de rception dOdyssey Services sont stocks. Il existe un dossier diffrent par
numro de fax associ au compte utilisateur.
string[] GetReports() retourne la liste des noms de rapport dmission disponibles sur le compte
de lutilisateur.
JobData Status() retourne un rsum dinformations sur les oprations denvoi soumises par
lutilisateur durant les 7 derniers jours. Le rsum se prsente sous la forme de la structure de
donnes JobData prsente dans lannexe prcdente.
JobDataEx StatusEx() retourne un rsum dinformations sur les oprations denvoi soumises par
lutilisateur durant les 7 derniers jours. Le rsum se prsente sous la forme de la structure de
donnes JobDataEx prsente dans lannexe prcdente.
JobStats[] StatusEx2() retourne un rsum dinformations sur les oprations denvoi soumises
par lutilisateur durant les 7 derniers jours. Le rsum se prsente sous la forme dun tableau de
structures de donnes JobStats prsentes dans lannexe prcdente.
ItemDetail getJobDetail(string Job, string Type) retourne un rsum dinformations sur les
lments (destinataires) de lopration passe en paramtre. Le rsum se prsente sous la forme
de la structure de donnes ItemDetail prsente dans lannexe prcdente. Si lopration a t
cre avec un type dopration spcifique il faut passer son nom en paramtre. Le numro
dopration peut tre renseign sous sa forme complte (JOB00001234) ou sous la forme dun
entier simple (1234).