CityDate API - CPFRA
El endpoint CPFRA valida si una ciudad o localidad existía y era válida para una fecha de nacimiento determinada.
Documentación relacionada de CityDate - El endpoint
API - Descripción - CityDate - BirthLocality →
Introducción a CityDate →
CPFRA comprueba la validez de un único par ciudad/fecha de nacimiento. ¿Busca en cambio la búsqueda de localidades por nombre, código postal o código INSEE?API - Descripción - CityDate - BirthLocality →
Introducción a CityDate →
CPFRA
Solicitud
Se admiten tanto GET como POST.
{SERVER_ADDRESS} y {LICENCE_CODE} son proporcionados por DQE al crear la cuenta. Póngase en contacto con su gestor de cuenta de DQE para obtener estas credenciales.
GEThttps://{SERVER_ADDRESS}/CPFRA/?DDN={BIRTHDATE}&INSEE={INSEE_CODE}&CP={POSTAL_CODE}&Localite={CITY_NAME}&Licence={LICENCE_CODE}
Ejemplos de código
Buscar por nombre de ciudad
curl "https://{SERVER_ADDRESS}/CPFRA/?DDN=1980-05-15&Localite=EVRY&Licence={LICENCE_CODE}"
fetch("https://{SERVER_ADDRESS}/CPFRA/?" + new URLSearchParams({
DDN: "1980-05-15",
Localite: "EVRY",
Licence: "{LICENCE_CODE}"
}))
.then(r => r.json())
.then(data => console.log(data));
import requests
response = requests.get(
"https://{SERVER_ADDRESS}/CPFRA/",
params={
"DDN": "1980-05-15",
"Localite": "EVRY",
"Licence": "{LICENCE_CODE}",
},
)
print(response.json())
<?php
$params = http_build_query([
'DDN' => '1980-05-15',
'Localite' => 'EVRY',
'Licence' => '{LICENCE_CODE}',
]);
$ch = curl_init("https://{SERVER_ADDRESS}/CPFRA/?{$params}");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
const axios = require('axios');
axios.get('https://{SERVER_ADDRESS}/CPFRA/', {
params: {
DDN: '1980-05-15',
Localite: 'EVRY',
Licence: '{LICENCE_CODE}'
}
})
.then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient();
String url = "https://{SERVER_ADDRESS}/CPFRA/"
+ "?DDN=1980-05-15&Localite=EVRY&Licence={LICENCE_CODE}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var url = "https://{SERVER_ADDRESS}/CPFRA/" +
"?DDN=1980-05-15&Localite=EVRY&Licence={LICENCE_CODE}";
var response = await client.GetAsync(url);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
url := "https://{SERVER_ADDRESS}/CPFRA/" +
"?DDN=1980-05-15&Localite=EVRY&Licence={LICENCE_CODE}"
resp, err := http.Get(url)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
POSThttps://{SERVER_ADDRESS}/CPFRA/
Añada los siguientes parámetros al cuerpo de la solicitud usando x-www-form-urlencoded. La dirección del servidor permanece en la URL.
Ejemplos de código
Buscar por nombre de ciudad
curl -X POST "https://{SERVER_ADDRESS}/CPFRA/" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "DDN=1980-05-15" \
-d "Localite=EVRY" \
-d "Licence={LICENCE_CODE}"
fetch("https://{SERVER_ADDRESS}/CPFRA/", {
method: "POST",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
body: new URLSearchParams({
DDN: "1980-05-15",
Localite: "EVRY",
Licence: "{LICENCE_CODE}"
})
})
.then(r => r.json())
.then(data => console.log(data));
import requests
response = requests.post(
"https://{SERVER_ADDRESS}/CPFRA/",
data={
"DDN": "1980-05-15",
"Localite": "EVRY",
"Licence": "{LICENCE_CODE}",
},
)
print(response.json())
<?php
$ch = curl_init("https://{SERVER_ADDRESS}/CPFRA/");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
'DDN' => '1980-05-15',
'Localite' => 'EVRY',
'Licence' => '{LICENCE_CODE}',
]));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
const axios = require('axios');
const qs = require('querystring');
axios.post('https://{SERVER_ADDRESS}/CPFRA/', qs.stringify({
DDN: '1980-05-15',
Localite: 'EVRY',
Licence: '{LICENCE_CODE}'
}))
.then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient();
String form = "DDN=1980-05-15&Localite=EVRY&Licence={LICENCE_CODE}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://{SERVER_ADDRESS}/CPFRA/"))
.header("Content-Type", "application/x-www-form-urlencoded")
.POST(HttpRequest.BodyPublishers.ofString(form))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var form = new Dictionary<string, string> {
["DDN"] = "1980-05-15",
["Localite"] = "EVRY",
["Licence"] = "{LICENCE_CODE}"
};
var response = await client.PostAsync(
"https://{SERVER_ADDRESS}/CPFRA/",
new FormUrlEncodedContent(form));
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
form := url.Values{}
form.Set("DDN", "1980-05-15")
form.Set("Localite", "EVRY")
form.Set("Licence", "{LICENCE_CODE}")
resp, err := http.PostForm("https://{SERVER_ADDRESS}/CPFRA/", form)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
Parámetros
| Parámetro | Descripción | Obl / Opc |
|---|---|---|
| Licence | Código de licencia. | Obligatorio |
| DDN | Fecha de nacimiento en formato YYYY-MM-DD. |
Obligatorio |
| INSEE | Código INSEE. | Opcional |
| CP | Código postal. | Opcional |
| Localite | Nombre de la ciudad. | Opcional |
Nota -
INSEE, CP y Localite son cada uno opcional individualmente, pero es obligatorio indicar al menos uno de ellos — la solicitud falla si no se proporciona ninguno.Respuesta
Forma de la respuesta - La respuesta es un objeto JSON indexado por una clave numérica arbitraria (p. ej.
"1", "2"…) — una entrada por cada coincidencia candidata — en lugar de un array JSON. Recorra los valores del objeto en lugar de asumir un conjunto fijo de claves.| Clave | Valores posibles | Descripción | Tipo |
|---|---|---|---|
| Insee | 75113 |
Código INSEE de la ciudad. | STRING(10) |
| Localite | Paris |
Nombre de la ciudad. | STRING(50) |
| Pays | FR |
Código ISO de país de 2 letras. | STRING(2) |
| CodePostal | 75013 |
Código postal de la ciudad. | STRING(10) |
| Status |
OK / KO
|
Indica si la ciudad es válida para la fecha de nacimiento indicada. | STRING(2) |
Ejemplo de respuesta
Coincidencia ambigua de nombre de ciudad
{
"1": {"Localite": "EVRY", "Pays": "FR", "Insee": "89162", "CodePostal": "89140", "Status": "OK"},
"3": {"Localite": "EVRY", "Pays": "FR", "Insee": "91228", "CodePostal": "91080", "Status": "KO"},
"2": {"Localite": "EVRY", "Pays": "FR", "Insee": "91228", "CodePostal": "91000", "Status": "KO"}
}
Errores
| HTTP | Descripción |
|---|---|
| 400 | Solicitud incorrecta o falta un parámetro obligatorio — por ejemplo, falta DDN o Licence, o no se proporcionó ninguno de INSEE, CP o Localite. |
Probar la API
Haga clic en el botón de abajo para probar este endpoint en vivo desde su navegador.
Abrir consola
Ver también
Relacionada con