Recherchez le résumé GSA eLibrary sur gsaelibrary.gsa.gov. Envoyez un mot-clé comme radar, ou une URL searchResults.do. La réponse est { results, pagination }. Chaque ligne est un schedule, un SIN ou un contrat.
Une ligne SIN est soit la catégorie, soit un sous-groupe de ce SIN. Sur une catégorie, name est le titre, par exemple Purchasing of New Electronic Equipment, et sin est le code, par exemple 33411. Sur un sous-groupe, name est le libellé du lien, par exemple Airborne Radar Equipment, sin reste le code parent, et url contient subcategoryCode.
Une ligne contrat porte le nom du contractant, le numéro de contrat et une URL contractorInfo.do qui inclut déjà le nom. Passez cette URL à /v2/gsaelibrary/contract. Le numéro seul, par exemple GS-07F-0239T, est accepté par l'endpoint contrat et renvoie aujourd'hui 404, car GSA attend le nom que la recherche place dans l'URL.
GET et POST utilisent les mêmes paramètres. Les exemples sont en GET.
GET https://api.piloterr.com/v2/gsaelibrary/search?query=radar
Pour radar, le résumé contient le Multiple Award Schedule, des SIN comme 334515, des sous-groupes comme Airborne Radar Equipment, et le contrat US RADAR INC / GS-07F-0239T.
| Paramètre |
Obligatoire |
Exemple |
query |
oui |
radar |
query est obligatoire. Une valeur vide renvoie 400. Une URL hors de gsaelibrary.gsa.gov renvoie 400. Sur ce domaine, l'URL doit être une recherche (searchResults.do ou searchText=).
eLibrary renvoie tout le résumé en une fois. pagination.page vaut 1. pagination.next vaut null. pagination.total_results est le nombre de lignes. pagination.total_pages vaut 1 s'il y a des lignes, sinon 0. pagination.per_page reprend ce nombre.
Il n'y a pas de page suivante à demander. Les URL sont uniques. Le même code sin peut revenir sur plusieurs sous-groupes, chacun avec son URL et son libellé.
| Champ |
Type |
Sens |
results[].result_type |
string |
schedule, sin ou contract |
results[].name |
string |
Titre du schedule, titre du SIN, libellé de sous-groupe ou nom du contractant |
results[].url |
string |
URL eLibrary absolue |
results[].contract_number |
string ou null |
Numéro de contrat |
results[].schedule_number |
string ou null |
Code schedule, par exemple MAS |
results[].schedule_name |
string ou null |
Titre du schedule |
results[].sin |
string ou null |
Code SIN. Sur un sous-groupe, c'est le SIN parent |
results[].category |
string ou null |
Grande catégorie, par exemple Contractors |
results[].description |
string ou null |
Texte de périmètre quand la ligne en affiche un |
pagination.page |
integer |
1 |
pagination.next |
null |
Pas de page suivante |
pagination.total_results |
integer |
Nombre de lignes |
pagination.total_pages |
integer |
1 ou 0 |
pagination.per_page |
integer ou null |
Lignes de ce résumé |
- Retrouver le SIN MAS qui couvre le radar à pénétration de sol, et lire le libellé
Airborne Radar Equipment en plus du code parent 33411.
- Vérifier que US RADAR INC apparaît avec le contrat
GS-07F-0239T et conserver l'URL contractorInfo.do pour l'appel contrat.
- Extraire toutes les URL de schedule et de SIN pour le mot-clé
radar depuis l'unique page de résumé.
| Code |
Sens |
400 |
query vide, ou URL hors de gsaelibrary.gsa.gov |
401 |
Clé API absente |
404 |
La page n'est pas un résumé de recherche |
500 |
Échec de la récupération |
GSA eLibrary Contract