Au-delà du format du fichier binaire (PDF, ODT, etc), une annexe se caractérise par un type logique, métier.
Lorsque vous souhaitez uploader une annexe via les services create/item or create/annex, il est obligatoire de spécifier un type pour chaque annexe mentionnée. De plus, ce type doit être actif. Les types inactifs existent aussi, caractérisant des annexes dans la base de données d'HubSessions, mais sont devenus obsolètes et ne peuvent plus être utilisés pour caractériser de nouvelles annexes à créer.
La liste de ces types peut s'obtenir via le service ask/annexTypes.
Type de requête
Requête HTTP GET
Données en entrée
Si vous attaquez un HubSessions mono-comité, il n'y a aucun paramètre à spécifier. Si vous attaquez un HubSessions multi-comités, vous devez spécifier, dans le paramètre committeeId, l'identifiant d'un comité précis. Si vous ne savez pas, c'est que vous avez probablement affaire à un HubSessions mono-comités.
Exemple de requête pour un site mono-comité:
<siteUrl>/ask/annexTypes
Exemple de requête pour un site multi-comités:
<siteUrl>/ask/annexTypes?committeeId=malonne
Données de retour
Bien qu'exprimées en XML, les données de retour ne se conforment pas au format de retour standardisé. Voici un exemple.
<?xml version="1.0" encoding="UTF-8"?>
<annexTypes type="list" count="7">
<e type="object" className="Object">
<title>Cahier spécial de charges</title>
<annexTypeId>csc</annexTypeId>
<state>active</state>
</e>
<e type="object" className="Object">
<title>Avis de marché</title>
<annexTypeId>adm</annexTypeId>
<state>active</state>
</e>
<e type="object" className="Object">
<title>Plan</title>
<annexTypeId>plan</annexTypeId>
<state>active</state>
</e>
<e type="object" className="Object">
<title>Photo</title>
<annexTypeId>photo</annexTypeId>
<state>active</state>
</e>
<e type="object" className="Object">
<title>Annexe "papier"</title>
<annexTypeId>papier</annexTypeId>
<state>active</state>
</e>
<e type="object" className="Object">
<title>Autre</title>
<annexTypeId>autre</annexTypeId>
<state>active</state>
</e>
<e type="object" className="Object">
<title>Etat de recouvrement</title>
<annexTypeId>er</annexTypeId>
<state>inactive</state>
</e>
</annexTypes>
C'est le contenu du tag annexTypeId qui doit être utilisé pour caractériser une annexe à créer via les services create/item or create/annex. Seul un type actif (tag state) peut y être spécifié. Dans l'exemple, vous remarquerez que le dernier type est inactif.