Guide d'accès
Présentation du produit
L'API ouverte de Modélisation spatiale structurée est destinée aux systèmes tiers. Elle fournit un traitement cloud automatisé qui transforme des données de capture 3D en modèles modifiables.
Déroulement : importez un package de scène LCC2, un nuage de points LAS ou un nuage de points PLY → le cloud génère automatiquement le modèle → des modèles 3D DXF / GLB / BLEND sont produits, accompagnés d'un modèle Revit (RVT).
Cas d'usage
- Livraison de plans de récolement : obtenez des plans d'étage et des coupes de base directement à partir des numérisations sur site, sans remodélisation manuelle.
- Conception de rénovation : obtenez directement dans votre logiciel de CAO les murs, portes et fenêtres avec leurs dimensions, pour poursuivre la conception.
- Gestion immobilière et gestion d'actifs : produisez des plans d'étage et des tableaux de surfaces par lots.
- Étude de faisabilité et estimation des quantités : exploitez les données structurées pour évaluer les démolitions et modifications et estimer les matériaux.
Limites d'utilisation
| Élément | Limite |
|---|---|
| Concurrence des API | 10 requêtes / seconde par API |
| Concurrence des tâches de modélisation | Illimitée ; les tâches entrent dans la file d'attente dès leur soumission |
| Taille des requêtes par lots | Jusqu'à 50 modelIds par requête de détails de tâche |
| Intervalle d'interrogation | 5 secondes minimum recommandées |
| Validité des identifiants temporaires d'importation | 12 heures |
| Nombre maximal de parties | 10 000 parties |
| Délai d'expiration du heartbeat d'importation | 180 secondes ; les tâches expirées passent à l'état d'échec d'importation |
| Limitation de fréquence par modelId | Les API Démarrer une tâche et Obtenir à nouveau les identifiants d'importation sont limitées à un appel toutes les 3 secondes |
Achat
Ce service est disponible sur AWS Marketplace. Abonnez-vous sur la page produit AWS Marketplace.
Obtenir les identifiants de l'application
Demandez une application au préalable pour obtenir les identifiants suivants.
| Identifiant | Description |
|---|---|
| APP-ID | Identifiant unique de l'application |
| APP-Secret | Secret de l'application, utilisé pour générer les signatures |
Remarque : conservez l'APP-Secret en lieu sûr et ne le divulguez jamais. Utilisez-le uniquement côté serveur pour générer les signatures. Ne le distribuez jamais aux clients et ne l'intégrez jamais dans du code frontend.
La région de stockage des données est liée lors de la demande d'application ; vous n'avez donc pas besoin de la transmettre lors des appels aux API.
Mécanisme de signature
Éléments de la signature
| Élément | Source | Règle |
|---|---|---|
| httpMethod | Méthode de la requête | En majuscules. Toutes les API de ce document utilisent POST |
| path | Chemin de la requête | Chemin complet, préfixe /open-apis inclus |
| timestamp | X-Timestamp | Horodatage en secondes, identique à la valeur de l'en-tête |
| nonce | X-Nonce | Chaîne aléatoire, identique à la valeur de l'en-tête |
Chaîne à signer
\n est un saut de ligne. Le corps de la requête n'est pas inclus dans la signature.
httpMethod + "\n" + path + "\n" + timestamp + "\n" + nonce
Exemple :
POST
/open-apis/spatial-model/v1/model/create
1791763200
a3f91c2d8e7b4a6590fd12cb77ae40d1
Algorithme de signature
| Élément | Valeur |
|---|---|
| Algorithme | HMAC-SHA256 |
| Clé | APP-Secret |
| Sortie | Chaîne encodée en Base64 |
Exemple de code
public static void main(String[] args) throws Exception {
String httpMethod = "POST";
String path = "/open-apis/spatial-model/v1/model/create";
long timestamp = System.currentTimeMillis() / 1000;
String nonce = UUID.randomUUID().toString().replaceAll("-", "");
// 1. Construire la chaîne à signer
String signContent = httpMethod + "\n" + path + "\n" + timestamp + "\n" + nonce;
// 2. HMAC-SHA256
String appSecret = "xxxxxxxxxxxxxxxxxxx";
Mac mac = Mac.getInstance("HmacSHA256");
SecretKeySpec secretKey =
new SecretKeySpec(appSecret.getBytes(StandardCharsets.UTF_8), "HmacSHA256");
mac.init(secretKey);
byte[] rawHmac = mac.doFinal(signContent.getBytes(StandardCharsets.UTF_8));
// 3. Encodage Base64
System.out.println(Base64.getEncoder().encodeToString(rawHmac));
}
Une fois la configuration terminée, consultez Flux de modélisation pour le déroulement complet des appels.