API e modules

API top'Òc - Mòde d'emplec

L'API top'Òc que permet de tradúser un toponime deu francés a l'occitan e vice-versa e d'aver los noms occitan e francés d'ua comuna a partir deu son còdi o de las soas coordenadas.

L'URL d'entrada

L'URL de basa de l'aplicacion qu'ei http://api.locongres.org/topoc.php. Que cau ajustar los paramètres obligatòris. Si ne sabetz pas ajustar paramètres a un URL, que'vs renviam a aqueth tutoriau.

Los paramètres obligatòris

Que cau obligatòriament marcar los paramètres seguents :

  • La vòsta clau API : tà utilizar las API deu Congrès, que cau marcar ua clau API personau qui'vs podem balhar sus la pagina dedicada. Que la cau marcar dab lo paramètre "key".
  • La lenga : tà ua recèrca per nom, marcar en quau lenga anatz balhar lo nom deu toponime dab lo paramètre "lang". Qu'accèpta las valors "fr" (tau francés) e "oc" (tà l'occitan).
  • Lo nom deu toponime o lo còdi comuna o la latitud e la longitud** : marcar sia lo nom deu toponime dont voletz obtiéner la traduccion dab lo paramètre "name", sia lo còdi comuna dab lo paramètre "code", sia la latitud e la longitud dab los paramètres "lat" e "long".
  • Lo departament o lo tipe (per las recèrcas per nom sonque) : tà cercar ua comuna deu territòri francés, marcar lo son departament dab duas chifras en valor deu paramètre "dep"*. Sinon, marcar lo tipe de toponime internacionau recercat dab lo paramètre "type" qui pòt aver com valor "city" (vilas deu monde) o "country" (país deu monde).

* Peu moment, lo top'Òc qu'intègra las comunas deus departaments seguents : 09, 12, 31, 32, 33, 40, 46, 47, 64, 65, 81 e 82.

** Cercar per còdi comuna o per coordenadas que's pòt sonque per las comunas deu territòri francés.

Per exemple, que's pòt cercar lo nom en occitan de la comuna deu Gèrs qui s'apèra "Auch" en francés dab l'URL http://api.locongres.org/topoc.php?key=[la_vòsta_clau_API]&name=Auch&lang=fr&dep=32. Qu'avetz lo resultat seguent :

{
    "query": [
        {
            "id": 1248,
            "oc": "Aush",
            "fr": "Auch",
            "dep": "32",
            "lat": "43.65",
            "long": "0.583333",
            "cityCode": "32013"
        }
    ]
}

Que's pòt cercar la traduccion en francés deu nom de país "Bolívia" dab l'URL http://api.locongres.org/topoc.php?key=[la_vòsta_clau_API]&name=bolívia&lang=oc&type=country. Qu'avetz lo resultat seguent :

{
    "query": [
        {
            "id": 4357,
            "oc": "Bol\u00edvia",
            "fr": "Bolivie",
            "type": "country"
        }
    ]
}

Que's pòt cercar los noms en francés e en occitan de la comuna qui a com còdi "64001" dab l'URL http://api.locongres.org/topoc.php?key=[la_vòsta_clau_API]&code=64001. Qu'avetz lo resultat seguent :

{
    "query": [
        {
            "id": 3056,
            "oc": "Aast",
            "fr": "Aast",
            "dep": "64",
            "lat": "43.2833",
            "long": "-0.083333",
            "cityCode": "64001"
        }
    ]
}

Que's pòt cercar los noms en francés e en occitan de la comuna mei pròcha de las coordenadas 43.4662 de latitud e 1.35 de longitud dab l'URL http://api.locongres.org/topoc.php?key=[la_vòsta_clau_API]&lat=43.4662&long=1.35. Qu'avetz lo resultat seguent :

{
    "query": [
        {
            "id": 1038,
            "oc": "Mur\u00e8th",
            "fr": "Muret",
            "dep": "31",
            "lat": "43.4667",
            "long": "1.35",
            "cityCode": "31395"
        }
    ]
}

Lo paramètre facultatiu

Que podetz causir d'afichar sonque los toponimes qui son illustrats per un imatge e ua anecdòta en utilizant lo paramètre "ill" dab la valor "true".

Per exemple, tà afichar a l'azard ua ciutat illustrada de Tarn, que podetz utilizar l'URL https://api.locongres.org/topoc.php?key=[la_vòsta_clau_API]&name=random&dep=81&ill=true. Qu'avetz lo resultat seguent :

{
    "query": [
        {
            "id": 2591,
            "oc": "Caramauç",
            "fr": "Carmaux",
            "dep": "81",
            "lat": "44.05",
            "long": "2.15",
            "cityCode": "81060",
            "url": "https://www.locongres.org/oc/aplicacions/top-oc/passejada/9815",
            "picture": "https://www.locongres.org/images/ciutats/caramauc",
            "anecdoteOc": "s'i trabalha lo veire",
            "anecdoteFr": "on y travaille le verre"
        }
    ]
}

Afichar un toponime a l'escadut

Que's pòt afichar un toponime a l'escadut en indicant la valor "random" tau paramètre "name". En aqueth cas, n'i a pas cap d'obligacion d'ajustar la lenga e un tipe o un departament. L'URL http://api.locongres.org/topoc.php?key=[la_vòsta_clau_API]&name=random que permet doncas d'afichar un toponime a l'escadut. Qu'avetz quauquarren com :

{
    "query": [
        {
            "id": 3566,
            "oc": "Sibrac dau Med\u00f2c",
            "fr": "Civrac-en-M\u00e9doc",
            "dep": "33",
            "lat": "45.3333",
            "long": "-0.9",
            "cityCode": "33128"
        }
    ]
}

Tà causir a l'escadut un toponime d'un departament precís o d'un tipe particular, ajustar lo paramètre "dep" o lo paramètre "type". Per exemple, tà afichar a l'escadut ua comuna d'Òut, utilizar l'URL http://api.locongres.org/topoc.php?key=[la_vòsta_clau_API]&name=random&dep=46. Qu'avetz quauquarren com :

{
    "query": [
        {
            "id": 1993,
            "oc": "Sant Miard",
            "fr": "Saint-Medard-Nicourby",
            "dep": "46",
            "lat": "44.7667",
            "long": "2.05",
            "cityCode": "46282"
        }
    ]
}

Lo format de sortida

Per defaut, lo format de sortida qu'ei JSON. Mes que's pòt aver ua sortida au format XML en ajustant "format=xml" a l'URL.

Per exemple, si voletz afichar lo toponime "Bratislava" au format XML, que podetz utilizar l'URL http://api.locongres.org/topoc.php?key=[la_vòsta_clau_API]&name=Bratislava&lang=fr&type=city&format=xml. Qu'avetz lo resultat seguent :

<query>
    <top id="4585">
        <oc>Bratislava</oc>
        <fr>Bratislava</fr>
        <type>city</type>
    </top>
</query>

Las errors

Si i a errors dens l'URL qui avetz picada o que la requèsta ne torna pas nat toponime, l'API que torna ua error dab un còdi e un tèxte d'error en anglés. Qu'avetz ací-devath, tà cada còdi d'error, la revirada deu son tèxte en occitan :

  • 1 : Que cau indicar ua clau API
  • 2 : Clau API invalida
  • 3 : Format incorrècte ("json" e "xml" permés)
  • 4 : Que cau indicar sia un nom de toponime, sia un còdi comuna, sia ua latitud e ua longitud
  • 5 : Que cau indicar ua lenga de recèrca si n'ètz pas a afichar un toponime a l'escadut o a cercar per còdi comuna o per coordenadas
  • 6 : Lenga incorrècta ("fr" e "oc" permés)
  • 7 : Departament incorrècte ("09", "12", "31", "32", "33", "40", "46", "47", "64", "65", "81" e "82" permés)
  • 8 : Tipe incorrècte ("city" e "country" permés)
  • 9 : Que cau indicar un tipe o un departament si n'ètz pas a afichar un toponime a l'escadut o a cercar per còdi comuna o per coordenadas
  • 10 : N'avem pas trobat nat toponime dab las vòstas especificacions
  • 11 : Lo paramètre "ill" qu'accèpta sonque las valors "true" e "false"

Las informacions en sortida

En sortida, qu'avetz ua lista de toponimes dab un identificant unic. Per cadun que son balhats :

  • Lo son nom en occitan
  • Lo son nom en francés
  • *Lo departament : dab duas chifras
  • *Lo tipe : "city" (vila deu monde) o "country" (país deu monde)
  • *La soa latitud
  • *La soa longitud
  • *Lo son còdi comuna
  • *L'URL de l'imatge qui illustra lo toponime
  • *L'autor qui cau creditar si s'utiliza aqueth imatge
  • *L'URL de l'article complet suu site deu Congrès
  • *Ua anecdòta en occitan sus la ciutat
  • *La revirada en francés de l'anecdòta sus la ciutat

Los camps davantejats de * n'apareishen pas a cada còp.

La latitud, la longitud e lo còdi comuna qu'apareishen sonque tà las comunas deu territòri francés.

JSON schema

{
    "type": "object",
    "properties": {
        "error": {
            "type": "object",
            "properties": {
                "code": {
                    "description": "The unique identifier for an error",
                    "type": "integer"
                },
                "text": {
                    "description": "A description of the error",
                    "type": "string"
                }
            },
            "required": ["code", "text"]
        },
        "query": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "oc": {
                        "type": "string"
                    },
                    "fr": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string"
                    },
                    "dep": {
                        "type": "string"
                    },
                    "lat": {
                        "type": "string"
                    },
                    "long": {
                        "type": "string"
                    },
                    "cityCode": {
                        "type": "string"
                    },
                    "url": {
                        "type": "string"
                    },
                    "picture": {
                        "type": "string"
                    },
                    "pictureCredit": {
                        "type": "string"
                    },
                    "anecdoteOc": {
                        "type": "string"
                    },
                    "anecdotefr": {
                        "type": "string"
                    },
                },
                "required": ["id", "oc", "fr"]
            },
            "minItems": 1
        }
    }
}

DTD XML

<! ELEMENT query (top) >

<! ELEMENT error (#PCDATA) >
<! ATTLIST error code ID #REQUIRED >

<! ELEMENT top (anecdoteOc?, anecdoteFr?, cityCode?, dep?, fr, lat, long, oc, picture?, pictureCredit?, type?, url?) >
<! ATTLIST top id ID #REQUIRED >

<! ELEMENT anecdoteOc (#PCDATA) >

<! ELEMENT anecdoteFr (#PCDATA) >

<! ELEMENT cityCode (#PCDATA) >

<! ELEMENT dep (#PCDATA) >

<! ELEMENT fr (#PCDATA) >

<! ELEMENT lat (#PCDATA) >

<! ELEMENT long (#PCDATA) >

<! ELEMENT oc (#PCDATA) >

<! ELEMENT picture (#PCDATA) >

<! ELEMENT pictureCredit (#PCDATA) >

<! ELEMENT type (#PCDATA) >

<! ELEMENT url (#PCDATA) >

© Lo Congrès Permanent de la Lenga Occitana, 2017, tots los drets reservats - Contactar Lo Congrès