Vous êtes sur la page 1sur 54

API

DOCUMENTATION TECHNIQUE ODYSSEY

Juin 2015

Contacts

Pour ODYSSEY MESSAGING


Nom Fonction Tlphone E-mail
Stphane Aiguillon Dveloppeur.NET 01 44 88 83 60 s.aiguillon@odyssey-messaging.com
Franck GIL Chef de projet 04 99 77 12 47 f.gil@odyssey-messaging.com
SOMMAIRE
Prambule Version du document ............................................................................................................................. 4
I. Dfinition des Web Services ............................................................................................................................... 5
II. Utilisation des Web Services ............................................................................................................................... 7
1. .NET ............................................................................................................................................................... 7
2. PHP ................................................................................................................................................................ 8
3. JAVA .............................................................................................................................................................. 9
III. Lexique..........................................................................................................................................................12
IV. Spcificit de lemail .....................................................................................................................................14
1. Traitement des rponses (Bounce) ................................................................................................................14
2. Le Tracking email ..........................................................................................................................................17
V. Spcificit du SMS .............................................................................................................................................18
1. Le champ metteur .......................................................................................................................................18
2. Le corps du message .....................................................................................................................................18
3. Notes importantes ........................................................................................................................................20
4. La soumission par Web Services ....................................................................................................................20
5. Le traitement des rapports............................................................................................................................20
VI. Spcificit du courrier ....................................................................................................................................22
1. Format des documents .................................................................................................................................22
2. Format des listes ...........................................................................................................................................22
3. Notes importantes ........................................................................................................................................25
4. La soumission par Web Services ....................................................................................................................25
5. Le traitement des rapports............................................................................................................................25
VII. Scnarios dutilisation ...................................................................................................................................27
1. Lister vos documents hbergs .....................................................................................................................27
2. Hberger des fichiers ....................................................................................................................................27
3. Afficher le statut des oprations rcentes .....................................................................................................28
4. Annuler une opration ..................................................................................................................................28
5. Lancer une opration ....................................................................................................................................29
6. Raliser la prvisualisation dune opration .................................................................................................30
7. Grer les rapports dmission .......................................................................................................................31
8. Grer les fax reus.........................................................................................................................................31
9. Traiter les rapports des SMS ..................................................................................... Erreur ! Signet non dfini.
10. Traiter les rapports de Tracking Email ................................................................... Erreur ! Signet non dfini.

Confidentiel ODYSSEY 04/2014 Page 2 sur 54


Annexe 1 - Dfinition des structures de donnes ........................................................................................................34
Faxmode ...............................................................................................................................................................34
Recipient ...............................................................................................................................................................34
FileReference ........................................................................................................................................................34
HostedFileCollection .............................................................................................................................................35
KVP........................................................................................................................................................................35
Broadcast ..............................................................................................................................................................36
Broadcast2 ............................................................................................................................................................37
Broadcast3 ............................................................................................................................................................38
BroadcastReturn ...................................................................................................................................................38
GroupMember ......................................................................................................................................................39
JobData .................................................................................................................................................................39
JobDataEx..............................................................................................................................................................40
JobDataStats .........................................................................................................................................................40
ItemDetail .............................................................................................................................................................40
ItemDetail2 ...........................................................................................................................................................41
ItemDetail3 ...........................................................................................................................................................43
DeliveryItem ..........................................................................................................................................................43
DeliveryItem2 ........................................................................................................................................................44
DeliveryItem3 ........................................................................................................................................................44
Annexe 2 Liste des autres options ...........................................................................................................................46
Courrier .................................................................................................................................................................46
Annexe 3 liste des rsultats de transmissions..........................................................................................................47
Fax.........................................................................................................................................................................47
EMAIL ....................................................................................................................................................................47
SMS .......................................................................................................................................................................47
Vocal .....................................................................................................................................................................48
Courier ..................................................................................................................................................................48
Annexe 4 - Dfinition des points dentre ..................................................................................................................49

Confidentiel ODYSSEY 04/2014 Page 3 sur 54


Prambule Version du document

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 :

V3.3 date 04/2014


Si vous constatiez la moindre erreur ou une imprcision tant sur nos Web Services quau sein de ce guide
du dveloppeur, nhsitez pas nous communiquer linformation, soit via votre interlocuteur technique, ou
en nous envoyant un email (en prcisant le numro de version ci-dessus) :

support@odyssey-services.fr
Nous vous remercions pour votre contribution lamlioration des solutions que nous mettons
disposition de nos clients.

Confidentiel ODYSSEY 04/2014 Page 4 sur 54


I. Dfinition des Web Services

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 :

Dcouverte, pour permettre de rechercher et de localiser un service web particulier dans un


annuaire de services dcrivant le nom de la socit, l'objectif de chaque service, etc.

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.

Confidentiel ODYSSEY 04/2014 Page 5 sur 54


La couche invocation
Il existe deux grands standards de communication pour les Web Services, tous deux bass sur XML :

XML-RPC (XML Remote Procedure Call) , le plus ancien, fonctionnant sur un principe procdural et
sans gestion des tats.

SOAP (Simple Object Access Protocol), fonctionnant selon le modle objet.

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.

Confidentiel ODYSSEY 04/2014 Page 6 sur 54


II. Utilisation des Web Services

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.

a. Importer les Web Services

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 .

5. Cliquez sur le bouton Ajouter la Rfrence Web .

Confidentiel ODYSSEY 04/2014 Page 7 sur 54


b. Initialisation des Web Services

Lextrait de code suivant utilise le langage de programmation C#, il permet dinitialiser les Web Services :

Using fr.odyssey-services.www; //Utilisez le nom de la Rfrence Web

Service s = new Service();


s.CookieContainer = new System.Net.CookieContainer();
s.PreAuthenticate = true;
s.Timeout = 300000;
System.Net.NetworkCredential n =
new System.Net.NetworkCredential("votreIdentifiant",
"votreMotDePasse",
"msg.services");
s.Credentials = n;

c. Utilisation des 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.

a. Importer les Web Services

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.

Confidentiel ODYSSEY 04/2014 Page 8 sur 54


b. Initialisation des Web Services

Lextrait de code suivant utilise le langage PHP, il permet dinitialiser les Web Services :

/* Importation de la librairie NuSoap 0.7.3 */


require_once("lib/nusoap.php");

$wsdl = 'http://ows.odyssey-services.fr/service.asmx?WSDL';
$user = 'msg.services\VotreIdentifiant';
$pass = 'VotreMotDepasse';
$param = array("username"=>$user,"password"=>$pass);

/* Creation du client NuSoap */


$client = new nusoap_client($wsdl,true);
$client->setCredentials($user,$pass);

c. Utilisation des 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 client de la faon suivante :

$client->call('NomDuPointEntre',&param1,$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 :

Sun Java SDK (Java EE 5 SDK Update 2).


Apache Axis version 1_4 : http://apache.mirrors.tds.net/ws/axis/1_4/.
Commons Codec 1.4 : http://commons.apache.org/downloads/download_codec.cgi.
Commons-HttpClient 3.1 : http://hc.apache.org/downloads.cgi.
Java Activation Framework jaf-1.1:

Confidentiel ODYSSEY 04/2014 Page 9 sur 54


http://java.sun.com/products/javabeans/jaf/downloads/index.html.
Java Mail API 1.4 : http://java.sun.com/products/javamail/downloads/index.html.
Les classe drives du Web Service dOdyssey Services service.jar .

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.

3) Lancez Eclipse, puis slectionnez ou crez un WorkSpace.

4) Crez un nouveau projet (File=>New=>Project).


Dans lassistant de cration slectionnez le type de projet Java Project , puis cliquez sur le
bouton Next .
Entrez OdysseyWS comme nom de projet, puis cliquez sur le bouton Next .
Allez sur longlet Libraries . Pour chaque composant requis cliquez sur le bouton Add External
JARS , puis slectionnez lemplacement du fichier JAR importer.
Voici la liste des fichiers JAR importer : activation.jar, axis.jar, axis-ant.jar, commons-codec-1.4.jar,
commons-discovery-0.2.jar, commons-httpclient-3.1.jar, commons-logging-1.0.4.jar, jaxrpc.jar,
log4j-1.2.8.jar, mail.jar, saaj.jar, service.jar, wsdl4j-1.5.1.jar. Une fois tous les fichiers JAR imports,
cliquez sur le bouton Finish .

5) Crez une nouvelle classe (File=>New=>Class).


Dans lassistant de cration de classes, entrez Demo comme nom et cochez la case public
static void main(String[] args) , puis cliquez sur le bouton Finish .

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 .

8) Crez un nouveau fichier (File=>New=>File).


Saisissez le chemin complet du dossier Odyssey et le nom de fichier suivant client-
config.wsdd (ex : C:\Odyssey\client-config.wsdd), puis cliquez sur le bouton OK .

Confidentiel ODYSSEY 04/2014 Page 10 sur 54


9) Saisissez le code suivant dans le fichier client-config.wsdd cr ltape prcdente, puis
sauvegardez le.

<?xml version="1.0" encoding="UTF-8"?>


<deployment name="defaultClientConfig" xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<globalConfiguration>
<parameter name="disablePrettyXML" value="true"/>
</globalConfiguration>
<transport name="http" pivot="java:org.apache.axis.transport.http.CommonsHTTPSender"/>
<transport name="https" pivot="java:org.apache.axis.transport.http.CommonsHTTPSender"/>
<transport name="local" pivot="java:org.apache.axis.transport.local.LocalSender"/>
<transport name="java" pivot="java:org.apache.axis.transport.java.JavaSender"/>
</deployment>

c. Initialisation des Web Services

Lextrait de code suivant utilise le langage JAVA, il permet dinitialiser les Web Services :

/* Importation de lAPI service.jar */


import net.odysseyservices.automatedui.*;
import net.odysseyservices.automatedui.holders.*;
import java.net.*;

public static net.odysseyservices.automatedui.ServiceSoap service;


String userid = "VotreIdentifiant@msg.services";
String password = "VotreMotDePasse";
String urlWS = "http://ows.odyssey-services.fr/service.asmx";

URL url = new URL(urlWS);


service = new ServiceLocator().getServiceSoap12(url);
((ServiceSoap12Stub)service).setUsername(username);
((ServiceSoap12Stub)service).setPassword(password);

d. Utilisation des 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.

Confidentiel ODYSSEY 04/2014 Page 11 sur 54


III. Lexique

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>)

Les NUMEROS DE TELEPHONE/FAX sont attendus au format Franais ou International. Un n Franais


valide est compos au plus de 10 chiffres, dont le premier chiffre est un 0, avec aucun sparateur entre les
chiffres. Un n International valide est compos dau moins 10 chiffres et ne comportent aucun sparateur
entre les chiffres. Il est de la forme suivante :
<INTL> <PRE> <n>
Ou :
<INTL> est le signe plus (+) ou 00

<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.

Confidentiel ODYSSEY 04/2014 Page 12 sur 54


Le format de liste par dfaut dOdyssey Services dtermine que lADRESSE doit se trouver dans la
premire colonne et le NOM dans la deuxime colonne. Dautres formats de liste peuvent tre pris en
compte sur demande.

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.

Confidentiel ODYSSEY 04/2014 Page 13 sur 54


IV. Spcificit de le-mail

Un Email est un message lectronique potentiellement compos de 3 parties :

Len tte ou lenveloppe qui contient le sujet, lmetteur et ladresse de retour.

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 :

From : adresse affiche comme tant celle de lmetteur.

E-sender : adresse utilise par le protocole SMTP dans la commande Mail From . Cette adresse
nest pas visible directement par le destinataire.

Reply-To : adresse de retour qui peut tre diffrente de ladresse de lmetteur.

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.

1. Traitement des rponses (Bounce)


a. Les diffrents types de rponses

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).

Confidentiel ODYSSEY 04/2014 Page 14 sur 54


Dans le deuxime cas, un utilisateur va reprendre (recopier ou copier/coller) ladresse qui apparait comme
tant celle de lmetteur pour crer un nouvel email. Dans ce cas, lemail va tre rout vers ladresse FROM
(paramtre du compte).

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.

b. Analyse des rponses

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.

A lissu de cette analyse les emails seront classifis en 5 catgories :

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, ).

Antispam : Cette catgorie regroupe les emails ncessitant un enregistrement de lmetteur


pralable toute autorisation communiquer avec le destinataire (Mailinblack.com,).

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.

Confidentiel ODYSSEY 04/2014 Page 15 sur 54


d. Le traitement des rapports

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 Outcome indique le rsultat final de la transmission :


H :HardBounce,
F :Soft Bounce ou Antispam.

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 :

15001 => Adresse email incorrecte ou nom de domaine incorrect.


15002 => Erreur temporaire (Bote de rception pleine, )
15003 => Erreur SMTP permanante.
15004 => Erreur SMTP temporaire.
15005 => Expditeur bloqu.
15008 => Anti spam ncessitant une inscription de la part de lexpditeur.
15009 => Anti spam ncessitant une dsinscription de la part de lexpditeur.
15010 => Notification de virus.
15012 => Anti spam ncessitant une rponse email de la part de lexpditeur.
15013 => Ladresse du destinataire a chang.

Confidentiel ODYSSEY 04/2014 Page 16 sur 54


2. Le Tracking e-mail
Les protocoles utiliss par lemail ne permettent pas de confirmer si le message envoy a bien t
rceptionn et ouvert par le destinataire final. Cest pour cela, que nous avons mis en place la
fonctionnalit de Tracking email qui va permettre de remonter des informations pertinentes lexpditeur
(email ouvert, liens cliqus, ) sur lenvoi dun email.

a. Les diffrents types de Tracking

La plateforme dOdyssey Services propose 2 types de Tracking :

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.

c. Le traitement des rapports

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.

Confidentiel ODYSSEY 04/2014 Page 17 sur 54


V. Spcificit du SMS

Lenvoi de SMS est une version simplifie de lenvoi de Fax ou de mail :

Pas de gestion de multiples formats de documents, seuls les documents au format texte sont
accepts (.txt) ;

La gestion des listes est la mme ;

Pas de gestion dimages ni de Tracking ;

Pas de gestion de mode fin/standard ;

Les autres options (programmation, etc ) sutilisent de la mme manire.

1. Le champ metteur
Si votre paramtrage permet la personnalisation du champ metteur, celui-ci doit tre conforme aux
caractristiques suivantes :

Les caractres autoriss sont :


o Lettre minuscules : a z,
o Lettres majuscules : A Z,
o Chiffres : 0 9.

Pas despace ni ponctuation ni aucun autre caractre.

La longueur autorise : 11 lettres.

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.

a. SMS texte au format ASCII

Ce type de SMS permet dutiliser du texte alphanumrique au format ASCII. Il peut comporter jusqu 160
caractres par message.

Les caractres ASCII standards suivants sont accepts :

Confidentiel ODYSSEY 04/2014 Page 18 sur 54


!"#$%&'{}*+,-./:;<=>?@

0123456789

ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefghijklmnopqrstuvwxyz

Saut de ligne et espace

Ainsi que les caractres tendus (ANSI) suivants utiliser avec prcaution :

Table autorise en hexadcimal :

b. SMS texte au format Unicode

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.

Confidentiel ODYSSEY 04/2014 Page 19 sur 54


Les caractres Unicode seront envoys de manire transparente au destinataire. Il appartient donc au
terminal mobile de rception de les dcoder. Tous les terminaux mobiles ne sont pas en mesure
d'interprter l'ensemble des caractres Unicode, il se peut que le message ne soit pas affich correctement.

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.

4. La soumission par Web Services


Pour raliser un envoi de SMS, il faut utiliser le point dentre StartBroadcast avec :

au moins un destinataire adhoc ou une liste en rfrence,

au moins un document en rfrence,

jobtype SMS ou pas de jobtype selon votre paramtrage.

5. Le traitement des rapports


Le statut des envois peut tre demand de 2 manires :
Un statut temps rel avec la fonction getJobDetail, mme pendant lenvoi,

Un rapport format fichier peut tre tlcharg une fois que le job est termin, avec la fonction
GetReport.

Confidentiel ODYSSEY 04/2014 Page 20 sur 54


Le statut dun destinataire est lgrement diffrent du fax ou du mail. Dans le cas du SMS, le premier code
derreur indique sil a t transmis au rseau mobile (S), puis dans la positive nous indiquons une suite de
codes transmis par le rseau mobile.

Quand le SMS est bien reu par le destinataire, le code final est S.

En gnral, les codes seront donc : SBS qui signifie :

S pour transmis au rseau

B pour en cours

S pour transmis au mobile final.

Confidentiel ODYSSEY 04/2014 Page 21 sur 54


VI. Spcificit du courrier

1. Format des documents


La solution denvoi de courriers permet denvoyer un ou plusieurs documents multipages dans le mme
envoi. Seul le nombre total de page est limit en fonction du type denveloppe slectionn et du mode
dimpression (Recto ou Recto/Verso).

Impression Impression
Recto / Verso Recto

Enveloppe C6 8 pages 4 pages

Enveloppe C4 60 pages 30 pages

Les types de documents accepts par le systme sont les suivants :

Les fichiers PDF,

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.

2. Format des listes


La solution denvoi de courriers permet denvoyer les documents vers une ou plusieurs listes de
destinataires. Le nombre de destinataire est limit 30 000 pour un envoi.

Les types de listes acceptes par le systme sont les suivants :

Les fichiers textes au format CSV (sparateur ;) avec lextension .CSV ,

Les fichiers texte au format TAB (sparateur ) avec lextension .TAB .

Les adresses des destinataires doivent tre formates sur 7 champs (colonnes) :

1er champ => Identit du destinataire (Civilit, titre ou qualit, non, prnom).

2me champ => Complment didentification (appartement, escalier, couloir, tage).

3me champ => Complment gographique (rsidence, btiment, tour, entre).

Confidentiel ODYSSEY 04/2014 Page 22 sur 54


4me champ => Numro et libell de la voie.

5me champ => Lieu-dit ou Service particulier.

6me champ => Code postal et localit spars par un espace.

7me champ => Libell du pays (Exemple : France).

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 :

Afghanistan Botswana Djibouti


Afrique du Sud Bouvet Dominique
Albanie Brsil Egypte
Algrie Brunei Darussalam El Salvador
Allemagne Bulgarie Emirats Arabes Unis
Andorre Burkina Faso Equateur
Angola Burundi Erythre
Anguilla Camans Espagne
Antarctique Cambodge Estonie
Antigua et Barbuda Cameroun Etats-Unis
Antilles nerlandaises Canada Ethiopie
Arabie saoudite Cap-Vert Falkland
Argentine Centrafrique Fro
Armnie Chili Fidji
Aruba Chine Finlande
Australie Christmas France
Autriche Chypre Gabon
Azerbaidjan Cocos Gambie
Bahamas Colombie Gorgie
Bahrein Comores Gorgie Du Sud Et Les Iles
Bangladesh Congo Sandwich Du Sud
Barbade Congo, La Rpublique Ghana
Blarus Dmocratique Du Gibraltar
Belgique Cook Grce
Belize Core Grenade
Bnin Core Populaire Groenland
Bermudes Costa Rica Guadeloupe
Bhoutan Cte d'Ivoire Guam
Bolivie Croatie Guatemala
Bosnie-Herzgovine Cuba Guine
Danemark Guine-Bissau

Confidentiel ODYSSEY 04/2014 Page 23 sur 54


Guine quatoriale Malawi Prou
Guyana Maldives Philippines
Guyane franaise Mali Pitcairn
Hati Malte Pologne
Heard et Mc Donald Mariannes Septentrionales Polynsie franaise
Honduras Maroc Porto Rico
Hong-Kong Marshall Portugal
Hongrie Martinique Qatar
Iles Mineures des Etats-Unis Maurice Rpublique Slovaque
Iles Vierges Britanniques Mauritanie Rpublique Tchque
Iles Vierges des Etats-Unis Mayotte Rpublique Dominicaine
Inde Mexique Runion
Indonsie Micronsie Roumanie
Iran Moldavie Royaume-Uni
Iraq Monaco Russie
Irlande Mongolie Rwanda
Islande Montserrat Sahara occidental
Isral Mozambique Saint-Kitts-et-Nevis
Italie Myanmar Saint-Marin
Jamaque Namibie Saint-Pierre-et-Miquelon
Japon Nauru Saint-Vincent-et-les-Grenadines
Jordanie Npal Sainte-Hlne
Kazakhstan Nicaragua Sainte-Lucie
Kenya Niger Salomon
Kirghizistan Nigria Samoa
Kiribati Niou Samoa amricaines
Kowet Norfolk Sao Tom-et-Principe
Laos Norvge Sngal
Lesotho Nouvelle-Caldonie Serbie-et-Montngro
Lettonie Nouvelle-Zlande Seychelles
Liban Ocan Indien Sierra Leone
Libria Oman Singapour
Libye Ouganda Slovnie
Liechtenstein Ouzbekistan Somalie
Lituanie Pakistan Soudan
Luxembourg Palau Sri Lanka
Macao Palestinien Occup, Territoire Sude
Macdoine, L'ex-Rpublique Panama Suisse
Yougoslave De Papouasie-Nouvelle-Guine Suriname
Madagascar Paraguay Svalbard et le Jan Mayen
Malaisie Pays-Bas Swaziland

Confidentiel ODYSSEY 04/2014 Page 24 sur 54


Syrie Toklaou Uruguay
Tadjikistan Tonga Vanuatu
Tawan Trinit-et-Tobago Vatican
Tanzanie Tunisie Venezuela
Tchad Turkmnistan Viet Nam
Terres australes franaises Turks et Caiques Wallis et Futuna
Thalande Turquie Ymen
Timor-Leste Tuvalu Zambie
Togo Ukraine Zimbabwe

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.

La gestion du Multicanal (Courrier\Fax ou Courrier\Email) nest pas applicable. En effet, le processus


denvoi des courriers se fait sur lopration entire et non au niveau dun destinataire

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.

4. La soumission par Web Services


Pour raliser un envoi de courrier, il faut utiliser le point dentre StartBroadcast3 avec :

au moins une liste en rfrence (.tab ou .csv),

au moins un document en rfrence,

jobtype Courier ou pas de jobtype selon votre paramtrage.

5. Le traitement des rapports


Les demandes denvoi de courriers sont transmises un prestataire qui se charge de limpression, de la
mise sous pli, de laffranchissement et de la remise en poste.

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

Confidentiel ODYSSEY 04/2014 Page 25 sur 54


prestataire. Lheure de rception de cet accus permet de dfinir la date de rception du courrier par le
destinataire :

Affranchissement Affranchissement
STANDARD ECOPLI

Avant 14H J+1 J+3

Aprs 14H J+2 J+4

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 .

Tous les courriers remis en poste sont considrs comme envoys.

Confidentiel ODYSSEY 04/2014 Page 26 sur 54


VII. Scnarios dutilisation

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

2. Hberger des fichiers

Confidentiel ODYSSEY 04/2014 Page 27 sur 54


3. Afficher le statut des oprations rcentes

4. Annuler une opration

Confidentiel ODYSSEY 04/2014 Page 28 sur 54


5. Lancer une opration

Confidentiel ODYSSEY 04/2014 Page 29 sur 54


6. Raliser la prvisualisation dune opration

Confidentiel ODYSSEY 04/2014 Page 30 sur 54


7. Grer les rapports dmission

8. Grer les fax reus


Pour utiliser cette fonctionnalit, des prrequis sont ncessaires. En effet, vous devez demander auprs de
notre service client ou de votre commercial la cration dun ou plusieurs numros de fax. Une fois le ou les
numros crs et votre compte paramtr, vous pourrez utiliser le service de rception de fax.

Le scnario est diffrent en fonction du nombre de numro de fax que vous possdez :

Confidentiel ODYSSEY 04/2014 Page 31 sur 54


a. Scnario pour un numro de fax

Confidentiel ODYSSEY 04/2014 Page 32 sur 54


b. Scnario pour n numros de fax

Confidentiel ODYSSEY 04/2014 Page 33 sur 54


Annexe 1 - Dfinition des structures de donnes

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

public enum Faxmode { low = 0, high = 1 };

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

public class Recipient


{
public String name;
public String address;
}

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

public class FileReference


{
public String name;
public byte [] contents;
public Boolean hosted;
public String mimeType;
public Boolean attachToEmail;
}

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.

Confidentiel ODYSSEY 04/2014 Page 34 sur 54


hosted est un boolen qui indique si le fichier est hberg sur la plate-forme dOdyssey Services
ou si le fichier est local.

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

public class HostedFileCollection


{
public FileReference[] documents;
public FileReference[] lists;
}

Une collection de FileReference dcrit un ensemble de listes et de documents transfrer,


tlcharger, ou supprimer de/vers lespace de stockage du compte utilisateur sur la plate-forme
dOdyssey Services.

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

public struct KVP


{
public string key;
public string value;
}

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.

Key est une chane de caractre qui reprsente le nom de la clef.

Value est une chane de caractre qui reprsente la valeur associe la clef.

Confidentiel ODYSSEY 04/2014 Page 35 sur 54


Broadcast

public class Broadcast


{
public String jobType;
public FileReference[] documents;
public FileReference[] lists;
public String csid;
public String emailFrom;
public String emailEnvelopeSender;
public FileReference emailBody;
public FileReference emailAltBody;
public String emailSubject;
public String trackingID;
public DateTime scheduledStartTime;
public Recipient[] adhocs;
public String memo;
public Faxmode faxMode;
public String applicationName;
public String applicationArgs;
}

La structure de donnes Broadcast permet de dfinir tous les paramtres dun envoi.

jobType reprsente le nom du type dopration pr-configur sous forme de chane de


caractres. Le type dopration utilis lors de lenvoi doit avoir t cr au pralable par nos
services. Pour utiliser le type dopration par dfaut, il ne faut pas renseigner cet lment ou
bien linitialiser avec la valeur NO_JTYPE .

documents est un tableau de FileReference dcrivant la liste des documents


transmettre.

lists est un tableau de FileReference dcrivant lensemble des listes de destinataires.


Toutes les listes doivent tre dans le format (ordre des colonnes) dfini lors de la cration de
votre compte. Il est possible de combiner plusieurs type de listes lors dun envoi( .txt, .xls, .xlsx,
.csv, .tab).

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.

emailEnvelopeSender similaire l emailFrom pour le format, cet lment permet de


configurer lemetteur SMTP. Tout comme pour ladresse mettrice, lutilisation abusive de
fauses adresses SMTP peut entraner la fermeture de votre compte utilisateur.

Confidentiel ODYSSEY 04/2014 Page 36 sur 54


emailBody est une FileReference sur un fichier texte (.txt) ou HTML (.htm, .html) qui sera
utilise en tant que corps demail pour les envois email. Si aucun document nest associ
lenvoi, le corps demail sera aussi utilis pour les envois fax, sinon le corps de mail nest pas
fax.

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.

emailSubject permet de dfinir le sujet de lemail sous forme de chane de caractres. Le


sujet de lemail est ignor pour les envois fax.

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.

scheduledStartTime offre la possibilit de programmer lenvoi une date et une heure


donnes.

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

public class Broadcast2 : Broadcast


{
public String emailReplyTo;
public String emailBounceTo;
public String proof;
}

La structure de donnes Broadcast2 hrite de la structure de donnes Broadcast . Elle possde trois
paramtres supplmentaires :

Confidentiel ODYSSEY 04/2014 Page 37 sur 54


emailReplyTo dcrit une adresse email valide (cf. lexique) sous forme de chane de
caractres. Cette adresse est utilise pour les envois demails en tant quadresse de rponse.

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

public class Broadcast3 : Broadcast2


{
public FileReference smsBody;
public KVP[] otherOptions;
public string[] dnsListName;
public string[] whiteListName;
}

La structure de donnes Broadcast3 hrite de la structure de donnes Broadcast2 qui elle-mme


hrite de la structure de donne Broadcast . Uniquement les nouveaux attributs seront dtaills. Cette
structure permet de dfinir tous les paramtres dun envoi.

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.

otherOptions est un tableau de KVP qui permet de remplacer lobjet Dictionnary du


framework .NET. Cet attribut permet de dfinir des variables systmes qui seront insres dans
le fichier de configuration de lopration. Le nom des clef est totalement libre. Cependant, il
xiste un certain nombre de clef associes des actions prdfinies. Vous retrouverez la listes
de ces clefs dans lannexe suivante.

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

public class BroadcastReturn


{
public int outcome;
public String[] messages;
}

Confidentiel ODYSSEY 04/2014 Page 38 sur 54


Lorsque vous soumettez une opration denvoi la plate-forme dOdyssey Services, vous rcuprez une
structure BroadcastReturn qui vous informe sur la validit de lopration.

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

public class GroupMember


{
public int CustomerNumber;
public String CompanyName;
}

Cette structure de donnes reprsente un utilisateur qui fait parti dun groupe de facturation (cas
particulier des revendeurs).

CustomerNumber reprsente le numro du client sous forme dentier dans le systme


dOdyssey Services.

CompanyName est une chane de caractres qui dcrit le nom de la socit.

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.

Date correspond la date et lheure de la dernire modification effectue sur lopration ou


la date et lheure de lancement si lopration a t programme.

Type reprsente le nom du type dopration utilis pour effectuer lenvoi. Si aucun type
dopration na t associ lenvoi, la valeur sera Unspecified .

Status indique le statut de lopration: Setting up , Active , Tabulating Results ,


Finished , etc.

Total est un entier qui reprsente le nombre total de destinataires.

Sent est un entier qui indique le nombre de destinataires qui ont t joints.

Confidentiel ODYSSEY 04/2014 Page 39 sur 54


Failed reprsente le nombre de destinataires qui nont pas t joints.

Retries indique le nombre de destinataires pour lesquels il y a eu plusieurs tentatives.

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 :

FirstList reprsente le nom de la premire liste utilise pour raliser lenvoi.

FirstDoc correspond au nom du premier document de lenvoi.

TrackingID est une chane de caractres optionnelle, dfinissant la rfrence utilisateur de


lenvoi. Cette rfrence permet lutilisateur didentifier clairement lopration dans la
facturation ou bien lors dune recherche.

JobDataStats

public class JobStats


{
public String Job;
public String Date;
public String JobType;
public String Status;
public int Total;
public int Sent;
public int Failed;
public int Retries;
public int Remaining;
public String FirstList;
public String FirstDoc;
}

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.

Confidentiel ODYSSEY 04/2014 Page 40 sur 54


OutCome reprsente le rsultat final de la transmission. Ce champ 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,
SMS, Email, ).

Recipient indique le nom du destinataire tel que dfini 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.

FinishDate reprsente la date laquelle la dernire tentative sest termine.

FinishTime indique lheure laquelle la dernire tentative sest termine.

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.

UD1 reprsente le premier champ de personnalisation issu de la liste.

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 :

Confidentiel ODYSSEY 04/2014 Page 41 sur 54


Job reprsente le numro de lopration sous la forme suivante : JOBxxxxxxxx.

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.

Recipient indique le nom du destinataire tel que dfini 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 correspond au nombre de tentatives qui ont t faites pour joindre le


destinataire ou avant de placer llment en erreur.
FirstDateTime reprsente la date et lheure laquelle la premire tentative a dbut.

FinishDateTime reprsente la date et lheure laquelle la dernire tentative sest


termine.

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.

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.

Baudrate pour les destinataires fax, ce champ indique la vitesse de transmission. Dans le
cas dun destinataire email, ce champ a la valeur 0.

FaxResCode reprsente un numro derreur interne.

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.

Confidentiel ODYSSEY 04/2014 Page 42 sur 54


OutCome reprsente le rsultat final de la transmission. Ce champ 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, SMS, Email, voir lannexe 3).

Outcomes indique le rsultat de chaque tentative.

UD1 reprsente le premier champ de personnalisation issu de la liste.

UD2 reprsente le deuxime champ de personnalisation issu de la liste.

UD3 reprsente le troisime champ de personnalisation issu de la liste.

UD4 reprsente le quatrime champ de personnalisation issu de la liste.

UD5 reprsente le cinquime champ de personnalisation issu de la liste.

TID est une chane de caractres optionnelle dfinissant la rfrence utilisateur de


lenvoi. Cette rfrence permet lutilisateur didentifier clairement lopration dans la
facturation ou bien lors dune recherche.

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

public class DeliveryItem


{
public String Job;
public String Item;
public String Outcome;
public String Recipient;
public String Fax;
public String Email;
public String Pages;
public String Attempts;
public String FinishDate;
public String FinishTime;
public String FaxBytes;
public String EmailBytes;
public String AnswerBack;
public String Calltime;
public String UD1;

Confidentiel ODYSSEY 04/2014 Page 43 sur 54


public String CallAnalysis;
}

Pour les dveloppeurs qui nutilisent pas la technologie de Microsoft, DeliveryItem est une alternative
lutilisation de la structure de donnes ItemDetail .

DeliveryItem2

public class DeliveryItem2


{
public Int32 Job;
public Int32 Item;
public String Disposition;
public String Recipient;
public String Fax;
public String Email;
public Int32 Pages;
public Int32 Attempts;
public String FirstDateTime;
public String FinishDateTime;
public Int32 FaxBytes;
public Int32 EmailBytes;
public Int32 BaudRate;
public Int32 FaxResCode;
public String AnswerBack;
public String Calltime;
public String Outcome;
public String Outcomes;
public String UD1;
public String UD2;
public String UD3;
public String UD4;
public String UD5;
public String CallAnalysis;
public String TID;
}

Pour les dveloppeurs qui nutilisent pas la technologie de Microsoft, DeliveryItem2 est une alternative
lutilisation de la structure de donnes ItemDetail2 .

DeliveryItem3

public class DeliveryItem3


{
public Int32 Job;
public Int32 Item;
public String Disposition;
public String Recipient;
public String Fax;
public String Email;
public Int32 Pages;
public Int32 Attempts;
public String FirstDateTime;
public String FinishDateTime;
public Int32 FaxBytes;

Confidentiel ODYSSEY 04/2014 Page 44 sur 54


public Int32 EmailBytes;
public Int32 BaudRate;
public Int32 FaxResCode;
public String AnswerBack;
public String Calltime;
public String Outcome;
public String Outcomes;
public String UD1;
public String UD2;
public String UD3;
public String UD4;
public String UD5;
public String CallAnalysis;
public String TID;
public Int32 Status;
}

Pour les dveloppeurs qui nutilisent pas la technologie de Microsoft, DeliveryItem3 est une alternative
lutilisation de la structure de donnes ItemDetail3 .

Confidentiel ODYSSEY 04/2014 Page 45 sur 54


Annexe 2 Liste des autres options

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

Voici la liste de configurations correspondantes au mdia Courrier :

ODS_MAIL_ENVELOPPE : cette clef permet de spcifier le format de lenveloppe dans laquelle


sera envoy le courrier. Cette clef accepte les valeurs suivantes :
o 1 pour les enveloppes au format C6,
o 2 pour les enveloppes au format C4.

ODS_MAIL_STAMP : cette clef permet de spcifier la catgorie daffranchissement qui sera


utilise pour envoyer le courrier. Cette clef accepte les valeurs suivantes :
1 pour laffranchissement Standard,
2 pour laffranchissement Economique,
3 pour laffranchissement Lettre recommande (LRE),
4 pour laffranchissement Lettre recommande avec accus de rception (LRE
AR).

ODS_MAIL_PRINT_BOTH_SIDED : cette clef permet dactiver limpression du courrier en mode


Recto / Verso. Cette clef accepte les valeurs suivantes :
True pour limpression en mode Recto / Verso,
False pour limpression en mode Recto.

ODS_MAIL_PRINT_COLOR : cette clef permet dactiver limpression du courrier en couleur.


Cette clef accepte les valeurs suivantes :
True pour limpression en couleur,
False pour limpression en noir et blanc.

Confidentiel ODYSSEY 04/2014 Page 46 sur 54


Annexe 3 liste des rsultats de transmissions

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

Confidentiel ODYSSEY 04/2014 Page 47 sur 54


G Erreur sans raison connue
H Erreur mobile
Z Annul, bloqu ou dupliqu

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

Confidentiel ODYSSEY 04/2014 Page 48 sur 54


Annexe 4 - Dfinition des points dentre

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[] ApprovePreview(string Job, string JobType) dmarre lopration passe en paramtre.


Pour dmarer lopration, il faut quelle 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). Ce point dentre
retourne un tableau de chane de caractres. Si le dmarrage de lopration est un succs, une
chane de caractres unique est retourne OK , sinon plusieurs chanes dcrivant lerreur
peuvent tre retournes.

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.

string[] DeleteFilesFromFolders(HostedFileCollection Files) supprime toutes les listes et les


documents spcifis dans la collection passe en paramtre. Tous les fichiers doivent correspondre
des fichiers hbergs sur la plate-forme dOdyssey Services. Ce point dentre retourne un
tableau de chane de caractres. Si la suppression est un succs, une chane de caractres unique
est retourne OK , sinon plusieurs chanes dcrivant lerreur peuvent tre retournes.

string[] DeleteFilesFromReceivedFolder(string folder, string[] names) supprime tous les fichiers


spcifis du dossier de rception fax pass en paramtre. Tous les fichiers doivent correspondre
des fichiers prsents dans le dossier. Ce point dentre retourne un tableau de chane de
caractres. Si la suppression est un succs, une chane de caractres unique est retourne OK ,
sinon plusieurs chanes dcrivant lerreur peuvent tre retournes.

Confidentiel ODYSSEY 04/2014 Page 49 sur 54


string[] DeleteFilesFromReportFolder(string[] names) supprime tous les rapports dmission
passs en paramtre. Tous ces rapports dmission doivent correspondre des rapports existants.
Ce point dentre retourne un tableau de chane de caractres. Si la suppression est un succs, une
chane de caractres unique est retourne OK , sinon plusieurs chanes dcrivant lerreur
peuvent tre retournes.

FileReference[] DownloadFilesFromFolders(HostedFileCollection Files) retourne un tableau de


FileReference reprsentant les documents et listes tlcharger. Pour dfinir les listes et
documents tlcharger, vous devez utiliser une structure de donnes HostedFileCollection et
dfinir pour chaque fichier son nom et le fait quil soit hberg. Tous les fichiers doivent
correspondre des fichiers hbergs sur la plate-forme dOdyssey Services. Pour chaque fichier,
son nom et son contenu sont retourns. Si une erreur survient, une exception est leve avec un
message dcrivant la nature de lerreur.

FileReference[] DownloadFilesFromReceivedFolders(string folder, string[] names) retourne un


tableau de FileReference reprsentant les fichiers spcifis du dossier de rception fax pass en
paramtre. Tous les fichiers doivent correspondre des fichiers prsents dans le dossier. Pour
chaque fichier, son nom et son contenu sont retourns. Si une erreur survient, une exception est
leve avec un message dcrivant la nature de lerreur.

int GetCustomerNumber() retourne le numro de client de lutilisateur connect aux Web


Wervices. Il nexiste pas de variante utilisant le suffixe RS pour ce point dentre.

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.

string[] GetDocuments() retourne un tableau de chane de caractres correspondant aux noms


des documents hbergs sur le compte utilisateur.

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.

System.Data.DataSet GetInboundFaxActivity(DateTime fromDateTime, DateTime toDateTime)


retourne un DataSet contenant un ensemble dinformations sur les fax reus durant la priode
passe en paramtre.

string[] GetJobTypeDocs(string JobType) retourne un tableau de chane de caractres


correspondant aux noms des documents hbergs qui sont associs au type dopration pass en
paramtre.

string[] GetJobTypeLists(string JobType) retourne un tableau de chane de caractres


correspondant aux noms des listes hberges qui sont associes au type dopration pass en
paramtre.

Confidentiel ODYSSEY 04/2014 Page 50 sur 54


string[] GetJobTypes() retourne un tableau de chane de caractres correspondant aux noms des
types dopration dfinis sur le compte utilisateur. Si aucun type dopration nest dclar sur le
compte client, le tableau est vide.

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.

int GetRecentJobsCount() retourne le nombre dopration denvoi soumises par lutilisateur


durant les 7 derniers jours.

System.Data.DataSet GetRecentJobsPaged(int startRow, int maxRows, string sortString)


retourne un ensemble dinformations sur les oprations denvoi soumises par lutilisateur durant
les 7 derniers jours. Il est possible de trier la liste doprations en utilisant le paramtre
sortString et de ne retourner quune partie des oprations en utilisant les paramtres
startRow et maxRows , par exemple pour retourner les 50 premires oprations => startRow
= 0 et maxRows = 50.

FileReference GetReport(string Job) retourne une FileReference avec le nom et le contenu du


rapport dmission final correspondant lopration passe en paramtre. Pour rcuprer un
rapport dmission, il faut que lopration soit termine. 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.

FileReference GetReportFile(string reportFile) retourne une FileReference avec le nom et le


contenu du rapport dmission final correspondant au nom de rapport pass en paramtre. Le
rapport demission doit tre disponible sur le compte de lutilisateur.

string[] GetReports() retourne la liste des noms de rapport dmission disponibles sur le compte
de lutilisateur.

System.Data.DataSet GetTrackingJobDetailAsDataSet(string Job, string Type) retourne un


rsum dinformations (contenant les informations de Tracking) sur les lments (destinataires) de

Confidentiel ODYSSEY 04/2014 Page 51 sur 54


lopration passe en paramtre. Le rsum se prsente sous la forme dun DataSet. 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).

FileReference GetTrackingJobDetailAsAFile(string Job, string Type, string fileFormat) retourne


un rsum dinformations (contenant les informations de Tracking) sur les lments (destinataires)
de lopration passe en paramtre. Le rsum se prsente sous la forme dun fichier dont le
format est pass en paramtre (.csv ou .tab). 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).

BroadcastReturn StartBroadcast(Broadcast b) initialise et dmarre lopration dcrite par la


structure de donnes Broadcast passe en paramtre. Ce point dentre retourne une structure
de donnes BroadcastReturn dcrite dans lannexe prcdente.

BroadcastReturn StartBroadcast2(Broadcast2 b) initialise et dmarre lopration dcrite par la


structure de donnes Broadcast2 passe en paramtre. Ce point dentre retourne une
structure de donnes BroadcastReturn dcrite dans la partie structure de donnes.

BroadcastReturn StartBroadcast3(Broadcast3 b) initialise et dmarre lopration dcrite par la


structure de donnes Broadcast3 passe en paramtre. Ce point dentre retourne une
structure de donnes BroadcastReturn dcrite dans la partie structure de donnes.

BroadcastReturn StartHtmlMerge(Broadcast b) obsolte.

BroadcastReturn StartPreview(Broadcast b) est identique au point dentre StartBroadcast


lexception prs que lopration nest pas dmarre directement, mais entre dans une phase de
prvisualisation. Une fois la prvisualisation termine, le dmarrage de lopration peut se faire
gce au point dentre ApprovePreview . La prvisualisation consiste gnrer un fichier TIFF
qui sert daperu des documents qui seront envoys au premier destinataire de la liste.

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.

JobDataEx StatusForJob(string Job, string JobType) retourne un rsum dinformations sur


lopration passe en paramtre. Le rsum se prsente sous la forme de la structure de donnes
JobDataEx prsente dans lannexe prcdente. Si lopration a t cre avec un type

Confidentiel ODYSSEY 04/2014 Page 52 sur 54


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).

JobStats StatusForJob2(string JobNumber, string JobType) retourne un rsum dinformations


sur lopration passe en paramtre. Le rsum se prsente sous la forme de la structure de
donnes JobStats 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).
string[] UploadFilesToFolders(HostedFileCollection c) transfre toutes les listes et tous les
documents de la collection passe en paramtre, vers lespace de stockage de lutilisateur dans la
plate-forme dOdyssey Services. Pour dfinir les listes et documents transfrer, vous devez utiliser
une structure de donnes HostedFileCollection et dfinir pour chaque fichier son nom, son
contenu et son type MIME. Ce point dentre retourne un tableau de chane de caractres. Si le
transfert est un succs, une chane de caractres unique est retourne OK , sinon plusieurs
chanes dcrivant lerreur peuvent tre retournes.

ItemDetail2 getItemDetailByDates(DateTime startDateTime, DateTime endDateTime, string TID,


bool filterFailed ) retourne un rsum dinformations sur les lments (destinataires)
correspondants aux critres de recherche passs en paramtre. Le rsum se prsente sous la
forme de la structure de donnes ItemDetail2 prsente dans lannexe prcdente. Il est
possible de rechercher les lments qui ont t envoys sur une priode dfinit par les paramtres
startDateTime et endDateTime , ou qui font partis des envois dont le rfrence utilisateur
est gale au paramtre TID , ou qui sont non-joint en utilisant le paramtre filterFailed .
Attention : Ce point dentre est trs consomateur en ressource systme, il doit tre utilis avec
prcaution (frquence dappel suprieure 5 minutes).

DeliveryItem2[] getItemDetailByDates2(DateTime startDateTime, DateTime endDateTime, string


TID, bool filterFailed ) ce point dentre est identique au point dentre prcdent. Cependant, le
rsum se prsente sous la forme dun tableau de structures de donnes DeliveryDetail2
prsentes dans lannexe prcdente. Attention : Ce point dentre est trs consomateur en
ressource systme, il doit tre utilis avec prcaution (frquence dappel suprieure 5 minutes).

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).

ItemDetail getJobDetail2(string Job, string Type, bool orderByDisposition, bool filterFailed ) ce


point dentre est identique au point dentre prcdent. Cependant, il offre des options de filtrage
et de tri supplmentaires. Le paramtre filterFailed permet de filtrer les lments en
retournant uniquement les destinataires non-joints. Le paramtre orderByDisposition permet
de trier les lment par leur rsultat.

DeliveryItem[] getJobDetail3(string Job, string Type, bool orderByDisposition, bool filterFailed )


ce point dentre est identique au point dentre prcdent. Cependant, le rsum se prsente

Confidentiel ODYSSEY 04/2014 Page 53 sur 54


sous la forme dun tableau de structures de donnes DeliveryDetail prsentes dans lannexe
prcdente.

DeliveryItem2[] getJobDetail4(string Job, string Type, bool orderByDisposition, bool filterFailed )


ce point dentre est identique au point dentre prcdent. Cependant, le rsum se prsente
sous la forme dun tableau de structures de donnes DeliveryDetail2 prsentes dans lannexe
prcdente.

ItemDetail3 getJobDetail5(string Job, string Type, bool orderByDisposition, bool filterFailed ) ce


point dentre est identique au point dentre prcdent. Cependant, le rsum se prsente sous la
forme de la structure de donnes ItemDetail3 prsente dans lannexe prcdente.

DeliveryItem3[] getJobDetail6(string Job, string Type, bool orderByDisposition, bool filterFailed )


ce point dentre est identique au point dentre prcdent. Cependant, le rsum se prsente
sous la forme dun tableau de structures de donnes DeliveryDetail3 prsentes dans lannexe
prcdente.

Confidentiel ODYSSEY 04/2014 Page 54 sur 54