Intégration API
- L’API est accessible via Connect (recommandé) ou HTTP/JSON.
- Spécifications et SDKs : https://buf.build/lemonde/forecast-recirculation.
- Base URL :
https://recirculation.services.forecast.sirius.press.
Introduction
L’API est définie en Protocol Buffers (Protobuf), qui décrivent tous les objets et méthodes du service Forecast Recirculation.
Elle peut être appelée à l’aide d’un client RPC (Connect) ou n’importe quel client HTTP/JSON.
Des SDKs sont fournis pour exposer les types/objets et définitions de l’API pour plusieurs langages, évitant de générer vous‑même les stubs à partir des fichiers .proto. Les SDKs n’embarquent pas le client réseau (Connect / HTTP).
L’URL de base des points de terminaison de l’API est https://recirculation.services.forecast.sirius.press.
Démarrer rapidement
Deux options selon votre contexte :
- Client réseau Connect + SDK — [recommandé].
- Lisez la documentation Connect pour votre langage, installez le client réseau indiqué et le SDK Connect adéquat depuis le BSR. Notez que vous n’avez pas à générer vos propres stubs, le SDK les fournit.
- Client réseau HTTP/JSON (cURL, Guzzle, JS Fetch, etc.) + SDK.
- Lisez cette documentation, puis utilisez un client HTTP/JSON, les spécifications OpenAPI ci‑dessous et un SDK Protobuf du BSR correspondant à votre langage.
- Appuyez-vous sur les SDKs de votre langage pour obtenir les stubs et manipuler les types/messages — sans les générer vous-mêmes.
- Pour des latences minimales, privilégiez les requêtes
GETquand c’est pertinent.
Exemples
Intégration Web
- Installez les différentes dépendances :
# Runtime dependencies npm install @connectrpc/connect@2 @connectrpc/connect-web@2 @bufbuild/protobuf@2 # SDK/Stubs dependencies npm config set @buf:registry https://buf.build/gen/npm/v1/ npm install @buf/lemonde_forecast-recirculation.bufbuild_es@latest - Appelez l’API depuis votre code JavaScript.
import {createClient} from "@connectrpc/connect"; import {createConnectTransport} from "@connectrpc/connect-web"; import {create} from '@bufbuild/protobuf'; // Import service definition that you want to connect to. import {RecirculationService} from "@buf/lemonde_forecast-recirculation.bufbuild_es/sirius/forecast/recirculation/v2/recirculation_pb"; import {GetPersonalizedTopNextRequestSchema} from "@buf/lemonde_forecast-recirculation.bufbuild_es/sirius/forecast/recirculation/v2/get_personalized_top_next_pb"; // The transport defines what type of endpoint we're hitting. const transport = createConnectTransport({ baseUrl: "https://recirculation.services.forecast.sirius.press", useHttpGet: true, }); // Here we make the client itself, combining the service // definition with the transport. const client = createClient(RecirculationService, transport); // Typed usage: Explicit instantiation of the request. // This serves as living documentation of the expected fields. const request = create(GetPersonalizedTopNextRequestSchema, { clientId: "CLIENT_ID", editionId: "EDITION_ID", articleId: "ARTICLE_ID", userId: "USER_ID", }); try { const response = await client.getPersonalizedTopNext(request); console.log("Response:", response); } catch (error) { console.error("Error:", error); }
Intégration HTTP/JSON
Les spécifications OpenAPI ci‑dessous couvre les intégrations HTTP/JSON.
Pour Connect, utilisez les définitions Protobuf et suivez la section “Démarrer rapidement”.
- Appuyez-vous sur les SDKs de votre langage pour obtenir les stubs et manipuler les types/messages — sans les générer vous-mêmes.
- Pour des latences minimales, privilégiez les requêtes
GETquand c’est pertinent.