API CAD Transfert
Table des matières |
URL de l’API
Authentification à l'API
Il s’agit d’un API REST, donc il n’y pas de connexion.
Pour se connecter à l’API, le fournisseur devra envoyer à CAUCA une demande de signature de certificat (CSR (Certificate Signing Request)).
Nous préconisons l’utilisation d’une demande de signature de certificat (CSR) plutôt que la génération et l’envoi direct d’un certificat, car cette approche respecte les bonnes pratiques de sécurité et le modèle de confiance des infrastructures SSL/TLS.
Dans ce modèle, la clé privée est générée et conservée exclusivement du côté du demandeur (notre fournisseur), et ne quitte jamais son environnement. Le CSR contient uniquement la clé publique ainsi que les informations nécessaires à l’émission du certificat.
Une fois la CSR reçue, nous pourrons générer votre certificat, signé par l’autorité de certification de CAUCA.
Pas d'espace et caractères spéciaux dans le CN et un maximum de 20 caractères.
Certificat de type EC (Elliptic Curve)
Certificat valide pour 5 ans
Vous pouvez utiliser la commande suivante pour générer la CSR :
openssl req -new -newkey ec \ -pkeyopt ec_paramgen_curve:prime256v1 \ -nodes \ -keyout private.key \ -out request.csr \ -subj "/CN=Entite"Remplacez « Entite » par le nom de votre organisation ou un nom d'application.
Envoyer le fichier « request.csr » par courriel à l’adresse courriel suivante : ghislain.landry@cauca.ca. Une fois la CSR reçue, nous pourrons générer votre certificat, signé par l’autorité de certification de CAUCA.
La clé privée doit rester strictement confidentielle et ne doit en aucun cas être partagée.
Requête à l’API
En plus de s’authentifier avec le certificat, le fournisseur pourra faire des demandes à l’API en passant un « header » spécifique par service incendie.
Cette méthode va permettre de s’assurer qu’on retourne les informations pour le bon service incendie.
key : ssi-token
valeur : token fourni par CAUCA
Actions possibles de l’API
GET /CallingCardEvents
Retourne les informations des nouveaux événements.
Permet de récupérer le numéro d’une carte d’appel à utiliser dans le GET /CallingCards/{cardNumber}.
Une fois les données récupéré, la liste se vide.
Code statut possible
400 → certificat manquant
401 → non authentifié
403 → authentifié, mais non autorisé
Assurez vous de faire votre requête avec le bon token.
200 → tout est valide
Objet retourné:
[
{
"cardNumber": "string",
"eventType": 1, // 1 = création d'une carte, 2 = annulation de la carte, 3 = fermerture de la carte
"occurredOn": "2026-04-13T14:06:07.971Z"
}
]GET /CallingCards/{cardNumber}
Retour le JSON de la carte d’appel.
Paramètres
cardNumber: le numéro de la carte.
Code statut possible:
400 → certificat manquant
401 → Non authentifié
403 → authentifié, mais non autorisé
Assurez vous de faire votre requête avec le bon token.
200 → tout est valide
Exemple de JSON - Exportation d’une carte d’appel
Voici des version téléchargeable du schéma JSON de l’exportation d’une carte :
Informations techniques - Exportation d’une carte d’appel
Les dates sont toujours dans le format ISO8601 et sont nulles lorsqu’il n’y a pas de valeur.
Les champs nuls demeurent dans le JSON exporté.
Nom du champ | Description supplémentaire |
|---|---|
"callingCardNumber" | Numéro unique de la carte d’appel de CAUCA. |
"fireSafetyDepartment" | Nom du service incendie. |
"fileNumber" | Numéro de dossier du service incendie. En fonction de la configuration du service incendie, l’incrémentation peut être journalière ou annuelle. De plus, certains types d’intervention pourraient ne pas avoir de numéro de dossier. |
"interventionCode" | Numéro du type d’intervention. Consulter Codes d'intervention pour la liste. |
"interventionCodeName" | Nom du type d’intervention. Consulter Codes d'intervention pour la liste. |
"globalInterventionMode" | Mode de conduite principale pour l’intervention. A = Urgent B = Non urgent |
"poleNumber" | Adresse électrique (LCLCL) du poteau d’Hydro Québec. (lettres (L) / chiffres (C)). |
"call" | Date / heure d’appel pour l’intervention. |
"alert" | Date / heure d’alerte au service incendie pour l’intervention. |
"alertConfirmation" | Date / heure de confirmation d’alerte par le service incendie. |
"caller" / "name" | Nom du demandeur. |
"caller" / "address" | Adresse du demandeur. |
"caller" / "phone" | Numéro de téléphone du demandeur. |
"caller" / "phoneExtension" | Extension du numéro de téléphone du demandeur. |
"caller" / "operatorNumber" | Numéro d’opérateur associé au demandeur. |
"subject" / "name" | Nom (raison social) du lieu de l’intervention. |
"subject" / "phone" | Numéro de téléphone associé au lieu de l’intervention. |
"subject" / "location" / "address" | Adresse du lieu de l’intervention. |
"subject" / "location" / "city" | Municipalité du lieu de l’intervention. |
"subject" / "location" / "civicInferior" | Numéro civique de l’intervention. |
"subject" / "location" / "extensionCivicInferior" | Extension au civique de l’intervention. |
"subject" / "location" / "civicSuperior" | Numéro civique supérieur de l’intervention. |
"subject" / "location" / "extentionCivicSuperior" | Extension au civique supérieur. |
"subject" / "location" / "matriculeNumber" | Matricule associé au bâtiment du lieu de l’intervention. |
"subject" / "location" / "laneFullName" | Nom complet de la voie de circulation de l’intervention (ex. RUE DES MÉSANGES). |
"subject" / "location" / "lane" | Nom de la voie de circulation de l’intervention (ex. MÉSANGES). |
"subject" / "location" / "laneGenericCode" | Nom du code générique de la voie de circulation de l’intervention (ex. DES). |
"subject" / "location" / "laneLinkCode" | Nom du code de lien de la voie de circulation (ex. RUE). |
"subject" / "location" / "crossLane" | Nom de la voie de circulation transversale. |
"subject" / "location" / "fireSector" | Nom du secteur incendie. |
"subject" / "location" / "fireSubSector" | Nom du sous-secteur incendie. |
"subject" / "location" / "mutualAidSector" | Nom du secteur d’entraide. |
"subject" / "location" / "extricationSector" | Nom du secteur de désincarcération. |
"subject" / "location" / "residentialSector" | Nom du secteur résidentiel. |
"subject" / "location" / "rescueSector" | Nom du secteur de sauvetage. |
"subject" / "location" / "riskLevel" | Niveau de risque du bâtiment. |
"callHandling" / "answer" | Libellé de la réponse de la prise d’appel. |
"callHandling" / "answeredOn" | Heure d’inscription du libellé de la réponse de la prise d’appel. |
"alertLevels" / "firstAlertDeclaredOn" | Date / heure du déclenchement de la première alerte. |
"alertLevels" / "code1012DeclaredOn" | Date / heure du déclenchement de la deuxième alerte. |
"alertLevels" / "code1013DeclaredOn" | Date / heure du déclenchement de la troisième alerte. |
"alertLevels" / "code1014DeclaredOn" | Date / heure du déclenchement de la quatrième alerte. |
"alertLevels" / "code1015DeclaredOn" | Date / heure du déclenchement de l'alerte générale. |
"operationalStatuses" / "code1003DeclaredOn" | Date / heure du déclenchement du 10-3 (mission annulée). |
"operationalStatuses" / "code1006DeclaredOn" | Date / heure du déclenchement du 10-06 (rappel sélectif de personnel). |
"operationalStatuses" / "code1007DeclaredOn" | Date / heure du déclenchement du 10-07 (intervention nécessaire). |
"operationalStatuses" / "code1008DeclaredOn" | Date / heure du déclenchement du 10-08 (Effectifs insuffisants, aggravation improbable). |
"operationalStatuses" / "code1009DeclaredOn" | Date / heure du déclenchement du 10-09 (Effectifs tous engagés, aggravation probable). |
"operationalStatuses" / "code1010DeclaredOn" | Date / heure du déclenchement du 10-10 (situation sous contrôle). |
"operationalStatuses" / "code1011DeclaredOn" | Date / heure du déclenchement du 10-11 (force de frappe complète). |
"operationalStatuses" / "code1018DeclaredOn" | Date / heure du déclenchement du 10-18 (en reconnaissance). |
"operationalStatuses" / "code1022DeclaredOn" | Date / heure du déclenchement du 10-22 (service non requis à l’exception de …). |
"operationalStatuses" / "code1090DeclaredOn" | Date / heure du déclenchement du 10-90 (intervention terminée, dernière unité quitte les lieux). |
"vehicules" / "number" | Numéro de l’unité du service incendie. |
"vehicules" / "type" | Description de l’unité du service incendie. |
"vehicules" / "interventionMode" | Mode de conduite du véhicule. A = Urgent B = Non urgent |
"vehicules" / "assignedOn" | Date / heure d’assignation de l’unité à la carte d’appel. |
"vehicules" / "departedForSiteOn" | Date / heure de mise en route de l’unité vers l’intervention (10-16). |
"vehicules" / "firemenCount" | Nombre de pompier dans l’unité. |
"vehicules" / "arrivedOn" | Date / heure d’arrivé de l’unité sur les lieux de l’intervention (10-17). |
"vehicules" / "availableOn" | Date / heure où l’unité quitte les lieux de l’intervention et demeure disponible (10-5). |
"vehicules" / "notAvailableOn" | Date / heure où l’unité quitte les lieux de l’intervention mais n’est pas disponible (10-49). |
"vehicules" / "availableAtFireStationOn" | Date / heure où l’unité est de retour disponible à la caserne. |
"matricules" / "number" | Numéro de matricule du pompier. |
"matricules" / "name" | Nom du pompier. |
"matricules" / "departedForSiteOn" | Date / heure de mise en route du pompier vers l’intervention (10-16). |
"matricules" / "arrivedOn" | Date / heure d’arrivé du pompier sur les lieux de l’intervention (10-17). |
"matricules" / "availableOn" | Date / heure où le pompier quitte les lieux de l’intervention et demeure disponible (10-5). |
"matricules" / "notAvailableOn" | Date / heure où le pompier quitte les lieux de l’intervention mais n’est pas disponible (10-49). |
"matricules" / "availableAtFireStationOn" | Date / heure où le pompier est de retour disponible à la caserne. |
"externalResources" / "name" | Nom de la ressource externe (ex. police, ambulance, croix-rouge). |
"externalResources" / "identification" | Numéro d’identification de la ressource externe (ex. numéro de l’unité). |
"externalResources" / "assignedOn" | Date / heure d’assignation de la ressource externe à la carte d’appel. |
"externalResources" / "departedForSiteOn" | Date / heure de mise en route de la ressource externe vers l’intervention (10-16). |
"externalResources" / "arrivedOn" | Date / heure d’arrivé de la ressource externe sur les lieux de l’intervention (10-17). |
"externalResources" / "availableOn" | Date / heure où la ressource externe quitte les lieux de l’intervention (10-5). |
"externalResources" / "fileNumber" | Numéro de dossier de la ressource externe. |
"comments" / "comment" | Libellé du commentaire inscrit dans la carte d’appel. |
"comments" / "commentedOn" | Heure d’inscription du commentaire. |
"comments" / "type" | Type de commentaire. 0 = Commentaire 1 = Rapport de situation |
"mutualAids" / "fireSafetyDepartment" | Nom du service incendie demandé en entraide. |
"mutualAids" / "calledOn" | Date / heure d’appel pour le service incendie en entraide. |
"mutualAids" / "firstDepartedForSiteOn" | Date / heure du premier véhicule du service incendie en entraide se mettant en route (10-16). |
"mutualAids" / "firstArrivedOn" | Date / heure du premier véhicule du service incendie en entraide à arriver sur les lieux (10-17). |
"mutualAids" / "lastAvailableOn" | Date / heure du dernier véhicule du service incendie en entraide qui quitte les lieux de l’intervention et qui demeure disponible (10-5). |
"mutualAids" / "lastavailableAtFireStationOn" | Date / heure du dernier véhicule du service incendie en entraide qui arrive à sa caserne (disp. cas.) |
"mutualAids" / "assistanceItems" | Liste de la caserne et ou équipements demandés en entraide pour ce service incendie. |
"officiers" / "intervention" | Officier en charge de l’intervention. |
"officiers" / "communication" | Officier en charge des communications. |