API v1 / schéma 1.0.0
Démarrage rapide de l'API de taxe de séjour
Trois appels, une piste de preuves.
Gardez votre clé API sur votre serveur. Commencez par la couverture des pays publiée, découvrez les enregistrements de juridiction faisant autorité, puis inspectez les règles ou résolvez les valeurs par défaut prises en charge.
- Obtenez une clé scoped auprès de votre opérateur TouristTaxTools.
- Lire la couverture par pays et ses lacunes explicites.
- Confirmez la juridiction faisant autorité de la propriété avant d'appliquer des valeurs par défaut.
curl 'https://api.touristtaxtools.com/v1/countries' \
-H "Authorization: Bearer $TOURISTTAXTOOLS_API_KEY"
curl 'https://api.touristtaxtools.com/v1/jurisdictions?country=IT&q=Rome&limit=20&offset=0' \
-H "Authorization: Bearer $TOURISTTAXTOOLS_API_KEY"
curl 'https://api.touristtaxtools.com/v1/resolve' \
-H "Authorization: Bearer $TOURISTTAXTOOLS_API_KEY" \
-H 'Content-Type: application/json' \
--data '{
"countryCode": "IT",
"address": {
"street": "Piazza della Rotonda",
"city": "Roma",
"postalCode": "00186"
},
"on": "2026-10-26",
"accommodationType": "hotel"
}'
Gérer l'incertitude comme conséquence.
Une réponse HTTP réussie peut contenir unknown,
ambiguous, manual_review ou stale. Ce sont des états significatifs. Ne les transformez pas en taxe nulle.
// Run on your server. Never bundle this key into a browser.
const response = await fetch(
'https://api.touristtaxtools.com/v1/resolve',
{
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.TOURISTTAXTOOLS_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
countryCode: 'IT',
// Use identifiers from authoritative property records.
// Discovery by a place name does not prove applicability.
officialCodes: [{ scheme: 'IT:ISTAT', value: '058091' }],
on: '2026-10-26',
accommodationType: 'hotel',
}),
signal: AbortSignal.timeout(8000),
redirect: 'error',
},
);
if (!response.ok) throw new Error(`API status ${response.status}`);
const result = await response.json();
if (result.status === 'resolved' && Array.isArray(result.defaults)) {
// Offer supported defaults for review before saving.
// Preserve manual settings and historical reservation amounts.
} else {
// Keep existing settings. Show result.reasons for manual review.
}
Vérifiez une politique avant de demander un devis de séjour.
POST /v2/resolve fournit un contrat distinct d'examen de la politique et de devis pour des adresses officielles exactes avec une couverture locale qualifiée. Une règle v1 publiée n'établit pas qu'une politique v2 ou un devis automatique est disponible.