Evit klask daoulagadoù dindan ur poent, roit e led latitudoù, lonjitudoù hag ur rad d'un API kenober. Gwiriit statud ar respont, an unvioù reenet hag an titouriñ war ar leinoù a-raok diskouez ar roll pe ar c'hartez.
E kontrakt ROOTE roote-1.0.0, heñvel GET /v1/transit/nearby a dizolko lec'hioù mont dave kenober. Ne dibaber ket ar palioù kudennoù pe goulennoù amzer-prenez. Klaskoù war ur lec'h ha klaskoù war e diwallad betek ar wech n'eus an daou rak-se zo daou labour disheñvel.
Enrollañ an divizoù
Ar goulenn implij lat evit latitudoù hag lng evit lonjitudoù. An anv degemer lon ivez zo bet displeget e kontrakt. Ar divizoù radius a dalvez evit ar mad e metr; limit a serro ar niver eus an darempredoù goulennet. Gallout a ra ar filtr modes degas an doareoù mont dave.
| Divizoù | Skouer | Soll |
|---|---|---|
| lat | 44.8378 | Latitudoù ar poent klask |
| lng | -0.5792 | Lonjitudoù ar poent klask |
| radius | 600 | Rad goulennet e metr |
| limit | 10 | Gwerzhoù goulennet e mab |
| modes | bus,tramm | Modeoù klasket |
Ar kevreadvezhioù-se a zo skouerioù klask e Bordeaux; ne raont ket eus unan eus an daoulagadoù digarez-mat. Gwenit ouzh ar kontrakt OpenAPI ROOTE evit an doaioù, ar c’hleadoù hag ar merc’hed ampart-skeud.
Kavet daoulagad d'euz oc'h enni.
Meur a daoulagad savet dindan ur gêr pe dindan ho lec'h. Gweler muioc’h evit kompr an doareoù hag an titouroù.
Kas ur goulenn gentañ a-dreñv war ar servijer
Setu ur skouer JavaScript evit ur strollad Node.js a zo gant fetch. Ar jekt, ma vez kadarnaet gant ho mignoned, a chom e barzh ur stumm ambiente warc'hoazh. Ar skouer ne dalvez ket evit kas un digorf eus ar merdeer war ar browser.
async function rechercherArrets(token = process.env.ROOTE_API_TOKEN) {
const url = new URL('https://api.roote.ai/v1/transit/nearby');
url.search = new URLSearchParams({
lat: '44.8378',
lng: '-0.5792',
radius: '600',
limit: '10',
modes: 'bus,tram'
}).toString();
const headers = { Accept: 'application/json' };
if (token) headers.Authorization = `Bearer ${token}`;
const response = await fetch(url, {
headers,
signal: AbortSignal.timeout(10000)
});
if (!response.ok) {
throw new Error(`Erreur HTTP ${response.status}`);
}
const data = await response.json();
if (data.contract_version !== 'roote-1.0.0') {
throw new Error('Version du contrat non reconnue');
}
if (!['success', 'empty', 'partial'].includes(data.status)) {
throw new Error('Recherche indisponible');
}
if (!Array.isArray(data.stations)) {
throw new Error('Réponse sans collection stations valide');
}
return {
status: data.status,
stations: data.stations,
lines: data.lines,
operators: data.operators,
coverage: data.coverage,
warnings: data.warnings,
attributions: data.attributions,
meta: data.meta
};
}
Ar gement nevez zo ret d'ober an hent da get eo anavezet pe gant un jekt, hervez ar reolennoù. Gwiriit ho gwirioù gant ar begrioù ober. Un aozadur HTTP gallet ne aot dezhañ ket derstal e kontañ; e produñs eo ret ober gwiriadur evit oberien diazezoù dindan ar skem.
Lenn an unvioù hag o darempredoù
An unvioù stations a gont an daoulagadoù. Evit pep unan, kompren a rit id, name, entity_kind, location hag distance_meters. Ar stumm line_ids ha operator_ids a ro da gelenn an urzhioù lines ha operators, ma vezont e-barzh.
Diskouez distaounad geografi evel-hen. Na threezout ket evit distaounad bevañ hep hesk an hent. ar gourc'hemennet a zispleg perak e c'hell an tizhioù implijout ar zreder real.
Derou emañ ivez dre ret diwar-benn titouroù dianavezet. E kontrakt, accessibility.wheelchair a c'hall mirout unknown : netra na blij ket muioc'h eget gwelet na nann. Ul lañs kinniget n'eo ket ur roll.
Diskouez ur roll pe ur c'hartez
Implij an anv id evit liorz un doare diogel er UI, an anv evit an testenn, hag an location evit pozioù. Ober gant heuliadennoù dre ar renkadenn eus ar c'hinnigoù an eil nebeudoc'h eget dre c'hoari gantañ o anvioù.
Ma filout livioù pe testenn eus ar data, sellet outi evel rantif evit skarzhañ. Evit an anvioù, implij testenn na HTML laket en-dro.
Dalc'hit war an titouroù hag er memes tregont ha diskouez an hini eo ret hervez an kontrakt.
Gestion result vloch, respont dre vloaz pe fazi
Un eskemm empty a lavaran klask hepken goude an ehan e lec'h e vez ket an darempredoù. Ne ziskouez ket an nemeur a zremm dave. Un eskemm partial a c'hall kousket lec'hioù mat gant displegañ nac'hoù; diskouez an darempredoù hag an eilenn hag ur sigareller miret.
Lenn ar c'hobriuzennoù, ar goulennoù ha an dielfenn e meta. Ur roll dic'hwg ma n'eo ket distro pe dalvezout. Pa vez faezioù war an torad pe HTTP, diskouez ne vez ket digor, hep dibab "ebarzh ar manac'h".
E-keñver ur kod 429, gwel ur bajennenn diiverkast ennañ ur flas-kod debriñ. Pa garfe, n'ann ket en un hent kevankiñ farsusted.
Distanter stations, zonennoù ha quais
An tachennañ entity_kind a diferenz a liveoù lec'hioù. Pevar diskennadenn a c'hell dont eus kelc'hiad, daou anv resis a ghell bezañ eus servijoù disheñvel.
Na llanjit ket lec'hioù gant an nebeud a ziwallerezh hep bezañ war dei. Implij an darempredoù diwar-benn an anvioù servijoù. Hon kentelioù GTFS, GTFS-RT ha GBFS a zispleg deoc'h ar c'hemm-data.
Prientiñ an enbrannoù e produñs
Stardait ar klaskadennoù pa vez un divennoù disheñvel pe tagadennoù. Dielfennañ ar c'halvadennoù kasoni evit hud ha monsieur-kuzh. Diskouez ar c'haskaer dindan ar goudeoù hag ar bennadoù.
Ul listenn lec'hioù ha live amzer prenañ n'int ket ar memes koumouladoù freskder. Gwiriat e-glas gant respontoù kenemet, vac'h, partial ha fazi a-raok fardañ ar c'helaouenn d'an implijerien.
Kuzhat ar c'hlask d'ar servijoù kêr
Levrigoù ha servijoù kêr a implij hentenn disheñvel. Evit klask toiled war-zu an hevelep lec'h, ar hent GET /v1/services/nearby a c'houl goulenn lat ha lon, gant types=toilets. Na kas ket modes=toilets d'ar hent-se : ar ger-mañ a zo evit URL ar gartenn, ket evit ar filtre Servijoù.
An enklask JavaScript a-is a seblant URL Servijoù evit ur troad 600 metr. Ne laka ket ar goulenn da redek ; adimplit kontrolennoù HTTP ha kontradoù komzet a-raok. Ar sevel a vez servijoù, nemet stasioù. Distreiñ service_type, location, distance_meters hag an aotreet.
Ar kontrad REST a gomzo a-us diwar toiled, drinking_water, fountain, wifi, parking, charging, aed ha locker. An dibaboù ganto a c'hall difaziañ diouzh MCP. Evit an arouezioù a vez derc'hel, o mouezhioù ha doeroù eus ho madoù, kit d'ar skeudenn eus ar plugenn implijet.
Ar c'hadoù eus ur servij n'int ket karget da bout o digor e-pad ar goulenn. Ar gwel ebet ne zo ket evel un dibarb sservij ; ur roll goullo o tont eus un fazi ne a testeni ket anezhi. Tennañ an titouroù eus pep familh e-pad ma ne laker ket da heul un anv ha ur poent sengl.
Evit ur gartenn kevreet, emglev ouzh an disoc'hoù gant o familh hag o kodoù. Diskouez un fazi Servijoù hep diskallet a-nevez levrioù a roer gant Transit. Ar goulenn a chom tue gant ar poent-se, met ar statudoù ha ar stummoù a c'hall chom disheñvel.
const url = new URL('https://api.roote.ai/v1/services/nearby');
url.search = new URLSearchParams({
lat: '44.8416106', lon: '-0.5810938',
radius: '600', limit: '10', types: 'toilets'
}).toString();
console.log(url.toString());
War-sav ar goulenn digalon pe goulenn faziek
Staliañ ur gartenn difazier direizh en ur lec'hienn
Sevel un anv a live war ar goulenn-mañ
Goulennou fur
Ha Nearby a ro ar palioù debret neuze ?
Ne vez ket e kontrakt amañ. Ar routenn-mañ a dizolko lec'hioù mont dave. Palioù dibabet a fell gouarnamant.
Gallout a rafe diskouez ur roll bevañ pa vez un fazi ?
Diskouez ur bajenn diazezet. Ur fazi ne diskouez ket e vez ket daoulagadoù.
Gallout a ra lakaat ar jekt API er c'huzul-vout ?
Ur furmelañ a rank chom war servijer. Implij an doare digor hervez ho kerzh ha ho kont.