Mise à jour le 9 juillet 2018

F.A.Q.

1. Quelle est l’adresse de l’url ? Votre site ne donne qu’un morceau de l’url : api-boamp/annonces/search
L’adresse correcte est : api.dila.fr
Celle-ci résout automatiquement l’url http://api.dila.fr/opendata/swagger-ui.html

2. Quel langage peut-on utiliser avec l’API ?
Il s’agit d’une API restfull.
Par conséquent seul le protocole http est requis.
Tout langage de programmation web (java, php, Python, .Net,…) est utilisable pour notre API.

3. Sur quels champs d’une annonce peut-on faire des requêtes avec cette API ?
Documentation d’aide à l’interrogation de l’API BOAMP V230

4. Il y 3 API avec des noms de versions différentes : V230, V010, V110 ? A quoi cela correspond-t-il ?
Chaque version correspond à une période à laquelle une annonce a été passée. Le format de l’annonce est différent.

La V230 correspond aux annonces parues depuis le 1er mars 2015 : si vous recherchez une annonce parue à partir de cette date, votre requête doit utiliser cette version.

La V010 correspond aux annonces MAPA parues en 2006 et 2007.

La V110 correspond aux annonces hors MAPA parues en 2006 et 2007 et à toutes les annonces parues de 2008 à fin février 2015.
Si vous cherchez une annonce sur la période 2006 à février 2015, il se peut que les résultats soient erronés : ceci est dû aux nombreux changements qu’ont connus les formats d’annonce au fil du temps.
Pour cette raison, l’utilisation de la V010 et de la V110 n’est pas supportée par la DILA.
Nous vous recommandons de ne pas utiliser ces versions de l’API et de procéder au téléchargement des annonces de cette période en suivant le lien vers le site de téléchargement.

5. Je rencontre des problèmes avec les annonces utilisant l’API V010 ou V110
Les versions V010, V110 de l’API ne sont pas supportées par la DILA. Nous vous conseillons de télécharger les données relatives aux périodes antérieures à mars 2015 en suivant le lien vers le site de téléchargement

6. Que faut-il faire pour utiliser l’API ?
La démarche d’utilisation test est la suivante et s’effectue en deux phases :
Phase 1 : envoyer une requête (criterion) sur la base pour obtenir une liste de résultats
1

2

3

Résultat : liste d’avis, avec pour chacun son numéro et la version du schéma à utiliser.

Phase 2 : obtenir l’avis complet d’une annonce (ex16-101799), en choisissant le schéma (ici v230)

1

2

3

Résultat : l’avis

7. Sur une requête j’ai un retour 404
Si une annonce est analysée avec le mauvais schéma, l’api retourne une erreur 404.

8. Est-il possible d’obtenir en une seule fois l’ensemble des avis figurant dans la liste des résultats pour une même requête ?

L’exemple donné pour tester le mécanisme présente la façon d’obtenir l’annonce entière à partir de la liste de résultats affichés suite à une requête. Bien entendu, il est possible d’obtenir une liste d’annonces entières en une seule fois, sous réserve que celles-ci utilisent la même version du schéma de données.
En effet, chaque item de la liste de résultats contient la référence de l’annonce et le schéma de données à lui appliquer ; il convient de choisir l’API de « get » correspondant au schéma indiqué pour obtenir l’annonce au format XML. Il faut donc boucler sur la collation d’items renvoyés par la requête pour obtenir l’ensemble des annonces.

9. Est-il possible de télécharger les résultats de notre requête sous forme pdf ou autre ?

Les annonces renvoyées en réponses aux requêtes sont disponibles dans le seul format proposé.

10. Est-ce que les API développées ou en cours de développement permettent ou permettront de publier des annonces ?

Non, l’API BOAMP n’a pas vocation à permettre la publication d’annonces, il s’agit uniquement d’obtenir des annonces déjà publiées.

11. J’ai des problèmes de génération lorsque j’utilise l’exemple MAVEN avec mon serveur d’application

L’exemple donné est un client lourd en java.swing, il s’exécute naturellement sans avoir besoin de passer par un serveur d’application.
En dehors de cette précision, la DILA n’assure pas de support sur le projet exemple.

12. Puis-je intégrer certains types d’annonces choisies directement sur mon site ?
Oui, vous pouvez intégrer sur votre site ou dans une application les annonces résultant de vos requêtes sur l’API BOAMP, dans le cadre des dispositions prévues par la licence ouverte 2.0 pour la réutilisation des données publiques.

13. J’ai constaté que dans les anciennes versions des articles, il y avait un champ "Classe". Je ne retrouve plus ce champ dans les annonces récentes. Existe-t-il toujours ?

Le champ Classe correspond à l’indexation CPF des annonces qui a été supprimée en avril 2016 (avec pour pendant la suppression de la recherche par domaine d’activité sur boamp.fr).

14. Les mots descripteurs sont-ils les seuls éléments permettant de trier les articles selon certains critères ?

Les mots descripteurs sont utilisés pour qualifier l’objet des prestations, mais pas l’activité du commanditaire du marché.

Concernant la description des prestations il est également possible d’utiliser la classe CPV qui est plus fine que les mots descripteurs, mais qui n’est pas renseignée dans toutes les annonces.

15. Où puis-je trouver une liste exhaustive des options de requêtes possibles ?

Liste des champs requêtables par Exalead et l’API boamp (Documentation d’aide à l’interrogation de l’API BOAMP V230)

16. Est-il possible par ailleurs d’effectuer une requête sur une plage de dates ou faut-il concaténer les dates l’une après l’autre ? Il est mentionné sur le site web que l’api utilise les critères de recherche Exalead, cela veut-il dire que des opérateurs comme before : et after : sont compatibles pour définir une plage de dates ?

La requête sur une plage de dates est effectivement possible en utilisant le critère dateparution.

Exemple : dateparution <2017/01/07 ET dateparution>2016/12/31

Autre exemple : date parution:2016/01/07

17. Est-il possible d’effectuer une requête par code cpv (sans avoir téléchargé au préalable les annonces) ?

Les codes CPV et les codes NUTS sont spécifiques aux annonces européennes, mais n’existent pas dans les annonces MAPA.

Ces champs ne sont pas requêtables par l’API.

18. J’aimerais commencer à utiliser l’API Boamp, notamment le endpoint : /api-boamp/annonces/search . Y-a-t-il possibilité de n’obtenir les résultats de la requête que pour une région ou date donnée ? Comment sont triées les données renvoyées ? Date de publication DESC ?

Il est effectivement possible de n’obtenir les résultats de la requête que pour une région ou date donnée en se basant respectivement sur les criterion suivant : numeroregion et dateparution.

Néanmoins, nous vous suggérons d’effectuer votre recherche par département avec le criterion numerodepartement

Les données renvoyées sont triées par date chronologique de publication.

19/ Sur une Requête Sharepoint nous avons un retour 404

Nous avons rejoué la même requête qui ramène 189 résultats :

-  117 annonces analysables avec le schéma v110
-  72 annonces analysables avec le schéma v230


Si une annonce est analysée avec le mauvais schéma, l’api retourne une erreur 404.

20. Existe-il un document présentant l’ensemble des données disponibles sur l’api v230 avec l’arborescence. En consultant plusieurs ID je m’aperçois que des données existent en fonction des ID et de la façon dont l’avis a été renseigné. Mon objectif étant d’avoir une exhaustivité au niveau des champs (ou données) disponibles pour l’API V230.

Vous pouvez consulter la documentation existante, qui présente l’ensemble des données (présentation du BOAMP, schéma BOAMP V230) accessible à partir ces pages : http://www.data.gouv.fr/fr/datasets/boamp/ et https://www.data.gouv.fr/fr/datasets/api-boamp-beta/ .
Concernant la présence ou l’absence de certaines données dans les annonces, il y a deux aspects :
1. Comme mentionné dans la documentation, les données présentes dans les annonces ont des spécificités selon le type d’annonce (par exemple les codes NUTS et les codes CPV sont spécifiques aux annonces européennes, mais n’existent pas dans les annonces MAPA)
2. Pour un type donné (les FNS par exemple), le caractère non obligatoire de certaines données implique que celle-ci peut être présente dans une annonce FNS ou pas.

21. J’éprouve des difficultés à comprendre le schéma et les données accessibles au niveau du modèle DECISION. Dans son modèle (V230) DECISION, l’API fait référence à un champ titulaireandRENSEIGNEMENT qui lui-même fait référence à un tableau « Inline Model 3 »
Ce tableau « Inline Model 3 » est quant à lui vide.

1) Après une mise en pratique sur la publication d’un avis d’attribution boamp-avis-17-57224, je consulte le résultat de l’API V230 et je me rends compte que des données sont accessibles via l’API dans le modèle DECISION / titulaireandRENSEIGNEMENT
2) Après consultation du fichier xsd de l’api v230, il semblerait que les champs de la catégorie titulaireandRENSEIGNEMENT soient « dépréciés »
Pourriez-vous me renseigner sur la structure des champs disponibles dans le module DECISION ?

La structure des champs disponibles dans le module DECISION est contenue dans le fichier xsd de l’API V230.
Vous trouvez la structure globale de ce module, et bien que les champs soient indiqués comme dépréciés, cela ne les empêche pas d’être utilisés.

22. Il y a 3 versions (v010, v110, et v230) que l’on peut spécifier dans la requête à l’api. Pour requêter à l’api, on spécifie la version par exemple pour la v010 : source_cat:0, mais pour la v230 il y a deux paramètres qui donnent des nombres de résultats différents : source-cat:2 et source_cat:3 . La V230 est-elle "splitée » en deux ?

Non. Pour filtrer les annonces au format v230, nous recommandons d’utiliser le critère suivant schema :v230 Et de faire la requête suivante : schema :v230 = (source_cat : 2 OR source_cat : 3).
Autre exemple : Si l’on veut connaitre toutes les annonces traitant à la fois de bois et d’acier depuis la version v230 (avril 2015), la requête sera la suivante : acier AND bois AND schema :v230

23. Est-il possible d’avoir un accès plus détaillé aux marchés

L’API renvoie les annonces publiées dans leur complétude ; il n’y a pas d’autres informations disponibles.
Pour plus d’information sur les marchés concernés, il faut vous adresser aux annonceurs eux-mêmes.

24. Dans le cadre de l’utilisation de l’api v230, pour certains éléments en réponse de la requête, le résultat proposé prend la forme suivante :
Procedure / Critere attribution / criterescctp

<?xml version="1.0" encoding="UTF-16"?>
<CRITERES_CCTP xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />

avec plus particulièrement le résultat suivant

="http://www.w3.org/2001/XMLSchema-instance"

De quoi s’agit-il ? Pour les autres champs des valeurs sont proposées alors que certains résultats prennent cette forme.

L’anomalie que vous avez relevée n’est pas liée à l’API.
Nous étudions la possibilité de corriger le problème dans une future version du schéma V230.

25. Je viens de faire un moteur de recherche qui doit appeler l’api cependant une erreur est presente : Warning : file_get_contents(http://api.dila.fr/opendata/api-boamp/annonces/search?criterion=jk) : failed to open stream : HTTP request failed ! HTTP/1.1 500 Internal Server Error in /var/www/html/ne/resultat.php on line 43
Rien n’a été trouvé. Je ne comprends pas pour quelle raison car celui- ci fonctionne correctement en prenant le lien suivant : http://api.dila.fr/opendata/api-boamp/annonces/search?criterion=jk

Il a un problème côté serveur avec l’utilisation de la fonction file_get_contents (erreur 500).
Par contre, l’utilisation de la fonction CURL fonctionne comme indiqué dans l’exemple suivant :

26. Je souhaite connaître les évolutions de l’API ou des schémas de données .Comment serais-je au courant des changements apportés ?

Si une nouvelle publication du schéma, de la documentation ou de l’API est réalisée nous communiquerons sur le site data.gouv.fr dans le forum de discussion associé à chacune des deux pages dédiées au BOAMP :

https://www.data.gouv.fr/fr/datasets/boamp/ et
https://www.data.gouv.fr/fr/datasets/api-boamp-beta/

Nous vous encourageons donc à vous abonner à ces pages afin de recevoir les alertes.


Et aussi dans cette rubrique