Plate-forme API : Image cible
L'API de gestion des images cible 8th Wall permet aux développeurs de gérer dynamiquement la bibliothèqued’image cible associée à leurs projets WebAR alimentés par 8th Wall. Cette API et la documentation qui l'accompagne sont conçues pour les développeurs familiarisés avec le développement web et les images cible 8th Wall.
Avant de commencer : Avant de commencer à utiliser l’image cible d’API, votre espace de travail doit être sur un plan de facturation *Entreprise. Pour effectuer une mise à niveau, contacter le service des ventes.
Authentification
L'authentification est assurée par des clés secrètes. Les espaces de travail d'un plan Entreprise peuvent demander une clé API. Vous inclurez cette clé secrète dans chaque demande pour vérifier que la demande est autorisée. Étant donné que la clé se trouve dans votre espace de travail, elle aura accès à toutes les images cible dans toutes les applications de cet espace de travail.
Vous pouvez consulter votre clé sur la page de votre compte.
Important
La clé d’image cible d’API est une clé B2B associée à votre espace de travail. Suivez les meilleures pratiques pour sécuriser votre clé API car l'exposition publique de votre clé API peut entraîner une utilisation involontaire et un accès non autorisé. En particulier, veuillez éviter de :
- Intégrer la clé image cible d’API dans un code qui s'exécute sur l'appareil d'un utilisateur ou qui est partagé publiquement
- Stocker la clé clé image cible d’API dans l'arborescence source de votre application
Limites et quotas
- 25 requêtes par minute, avec une allocation de 500, ce qui signifie que vous pouvez effectuer 500 requêtes en une minute , puis 25 requêtes par minute ensuite, ou attendre 20 minutes et effectuer à nouveau 500 requêtes.
- 10 000 demandes par jour.
** Note** : Ces limites ne s'appliquent qu'à l'API de gestion d’images cible, qui permet aux développeurs de gérer dynamiquement la bibliothèque d'images associée à un projet 8th Wall. Ces limites ne sont pas applicables aux activations par l'utilisateur final d'une expérience de RA Web.
Pour demander une augmentation des quotas de clé d’image cible d’API pour les projets de votre espace de travail , veuillez envoyer une demande au support.
Points finaux
- Créer une image cible
- Liste des images cible
- Obtenir l’image cible
- Modifier l’image cible
- Supprimer l’image cible
- Aperçu de l’image cible
Créer une image cible
Téléchargez une nouvelle cible dans la liste des images cible d’une application
Requête
curl -X POST "https://api.8thwall.com/v1/apps/$APP_KEY/targets" \N-
-H "X-Api-Key:$SECRET_KEY" \N-
-F "name=my-target-name" \N-
-F "image=@image.png"\N-
-F "geometry.top=0"\N-
-F "geometry.left=0"\N-
-F "geometry.width=480"\N-
-F "geometry.height=640"\N-
-F "metadata={\"customFlag\":true}"
-F "loadAutomatically=true"
Champ | Type | Valeur par défaut | Description |
---|---|---|---|
image | Données binaires | Format PNG ou JPEG, au moins 480x640, moins de 2048x2048 et moins de 10MB | |
nom | Chaîne | Doit être unique au sein d'une application, ne peut pas inclure de tildes (~) et ne peut pas dépasser 255 caractères | |
type [Facultatif] | Chaîne | pLANAR | pLANAR" , "CYLINDER" , ou "CONICAL" . |
métadonnées [Facultatif] | Chaîne | nul | Doit être un JSON valide si metadataIsJson est vrai, et ne peut pas dépasser 2048 caractères |
metadataIsJson [Optionnel] | Booléen | vrai | Vous pouvez définir la valeur faux pour utiliser la propriété de métadonnées en tant que chaîne brute |
loadAutomatically [Facultatif] | Booléen | faux | Chaque application est limitée à 5 images cible avec loadAutomatically: vrai |
geometry.isRotated [Optionnel] | Booléen | faux | La valeur vrai est utilisée si l'image est pré-tournée de l'horizontale à la verticale. |
géométrie.haut | entier | Ces propriétés spécifient le recadrage à appliquer à votre image. Elle doit avoir un rapport hauteur/largeur de 3:4 et au moins 480x640. | |
géométrie.gauche | entier | ||
géométrie.largeur | entier | ||
géométrie.hauteur | entier | ||
géométrie.topRadius | entier | Uniquement nécessaire pour type : "CONICAL" | |
geometry.bottomRadius | entier | Uniquement nécessaire pour type : "CONICAL" |
Géométrie de chargement planaire / cylindrique
Ce diagramme montre comment le recadrage spécifié est appliqué à votre image téléchargée pour générer les images imageUrl
et thumbnailImageUrl
. Le rapport largeur/hauteur est toujours de 3:4.
Pour un recadrage de paysage, téléchargez l'image avec une rotation de 90 degrés dans le sens des aiguilles d'une montre, définissez geometry.isRotated : true
, et spécifiez le recadrage par rapport à l'image ayant subi une rotation.
Géométrie des charges coniques
Ce diagramme montre comment votre image téléchargée est aplanie et recadrée en fonction des paramètres. L'image téléchargée se présente sous la forme d'un "arc-en-ciel" dans lequel les bords supérieur et inférieur de votre contenu sont alignés sur deux cercles concentriques. Si votre cible est plus étroite en haut qu'en bas, indiquez topRadius
comme la valeur négative du rayon extérieur, et bottomRadius
comme le rayon intérieur (positif). Pour un recadrage de paysage , définissez geometry.isRotated : true
, et l'image aplatie subira une rotation avant l'application du recadrage.
Réponse
Il s'agit du format de réponse JSON standard pour les images cible.
{
"name": "...",
"uuid": "...",
"type": "PLANAR",
"loadAutomatically": true,
"status": "AVAILABLE",
"appKey": "...",
"geometry": {
"top": 842,
"left": 392,
"width": 851,
"height": 1135,
"isRotated": true,
"originalWidth": 2000,
"originalHeight": 2000
},
"metadata": null,
"metadataIsJson": true,
"originalImageUrl": "https://cdn.8thwall.com/image-target/...",
"imageUrl": "https://cdn.8thwall.com/image-target/...",
"thumbnailImageUrl": "https://cdn.8thwall.com/image-target/...",
"geometryTextureUrl": "https://cdn.8thwall.com/image-target/...",
"created": 1613508074845,
"updated": 1613683291310
}
Propriété | Type | Description |
---|---|---|
nom | Chaîne | |
uuid | Chaîne | ID unique de cette image cible |
type | Chaîne | pLANAIRE" , "CYLINDRE" , ou "CONIQUE" |
loadAutomatically | Booléen | |
statut | Chaîne | aVAILABLE" ou "TAKEN_DOWN" (disponible) |
appKey | Chaîne | L'application à laquelle appartient la cible |
géométrie | Objet | Voir ci-dessous |
métadonnées | Chaîne | |
metadataIsJson | Booléen | |
originalImageUrl | Chaîne | URL CDN pour l'image source qui a été chargée |
imageUrl | Chaîne | Version recadrée de geometryTextureUrl |
thumbnailImageUrl | Chaîne | version haute de 350px del'imageUrl à utiliser dans les vignettes |
geometryTextureUrl | Chaîne | Pour les coniques, il s'agit d'une version aplatie de l'image originale, pour les planaires et les cylindriques, c'est la même chose que originalImageUrl |
créé | entier | Date de création en millisecondes après l'époque Unix |
mis à jour | entier | Date de la dernière mise à jour en millisecondes après l'époque unix |
Géométrie planaire
Propriété | Type | Description |
---|---|---|
sommet | entier | |
gauche | entier | |
largeur | entier | |
hauteur | entier | |
isRotated | Booléen | |
largeur originale | entier | Largeur de l'image chargée |
hauteur originale | entier | Hauteur de l'image téléchargée |
Cylindre ou géométrie conique
Étend les propriétés de la géométrie planaire en précisant que originalWidth
et originalHeight
font référence aux dimensions de l'image aplatie stockée dans geometryTextureUrl.
Propriété | Type | Description |
---|---|---|
topRadius | flotteur | |
rayon du bas | flotteur | |
coniness | flotteur | Toujours 0 pour le type : CYLINDRE , dérivé de topRadius /bottomRadius pour type : CONIQUE |
cylindreCirconférenceTop | flotteur | La circonférence du cercle complet tracé par le bord supérieur de votre cible |
targetCircumferenceTop | flotteur | La longueur du bord supérieur de votre cible avant le recadrage |
cylinderCircumferenceBottom | flotteur | Dérivé de cylinderCircumferenceTop et topRadius /bottomRadius |
longueur du côté du cylindre | flotteur | Dérivé de targetCircumferenceTop et des dimensions de l'image originale |
arcAngle | flotteur | Dérivé de cylinderCircumferenceTop et targetCircumferenceTop |
mode d'entrée | Chaîne | bASIC" ou "ADVANCED" . Contrôle ce que les utilisateurs voient dans la console 8th Wall, qu'il s'agisse de curseurs ou de champs de saisie de nombres. |
Liste des images cible
Demande d'une liste d'images cible appartenant à une application. Les résultats sont paginés, ce qui signifie que si l'application contient plus de cibles d'images que ce qui peut être renvoyé en une seule réponse, vous devrez faire plusieurs demandes pour énumérer la liste complète des images cible.
Requête
curl "https://api.8thwall.com/v1/apps/$APP_KEY/targets" -H "X-Api-Key:$SECRET_KEY"
Paramètres | Type | Description |
---|---|---|
par [Facultatif] | Chaîne | Spécifie la colonne à trier. Les options sont "created", "updated", "name" ou "uuid". |
dir [Facultatif] | Chaîne | Contrôle le sens de tri de la liste. Soit "asc", soit "desc". |
start [Facultatif] | Chaîne | Spécifie que la liste commence par les éléments qui ont cette valeur dans la colonne par |
après [Facultatif] | Chaîne | Spécifie que la liste commence immédiatement après les éléments qui ont cette valeur |
limite [Facultatif] | entier | Doit être compris entre 1 et 500 |
continuation [Facultatif] | Chaîne | Utilisé pour rechercher la page suivante après la requête initiale. |
Liste triée
Cette requête énumère les cibles de l'application en partant de "z" et en allant vers "a".
curl "https://api.8thwall.com/v1/apps/$APP_KEY/targets?by=name&dir=desc" -H "X-Api-Key:$SECRET_KEY"
Tris multiples
Vous pouvez spécifier un paramètre secondaire de "tri par" qui permet de départager les doublons dans votre premier site par la valeur
. uuid
est utilisé comme critère d'