Protocoles
Traitement asynchrone
L'API utilise le traitement asynchrone pour toutes les interrogations. Cela inclut les interactions avec des services externes, tels que iCloud, car leur exécution peut prendre quelques secondes ou minutes, en fonction de la quantité de traitement requise.
Un certain nombre d'interactions de ressources standard peuvent déclencher des «effets secondaires» asynchrones, décrits dans la documentation de référence de l'API. Ce sont généralement pour effectuer des vérifications de validité ou d'autres fonctions utilitaires.
La base asynchrone de l'API contribue également à simplifier l'interface d'interrogation périodique déclenchée à partir de l'API. Cela signifie que la récupération d'événement et de résultat est la même, qu'il s'agisse d'une interaction directe avec l'API ou d'interrogations planifiées.
Attendre la réponse
L'API prend en charge la fin des tâches asynchrones via des requêtes de longue durée afin de minimiser le besoin d'interrogation et de réduire le temps de réponse total pour les utilisateurs finaux. Pour activer cette fonctionnalité, ajoutez l'en Ricloud-Await
tête HTTP Ricloud-Await
à vos demandes avec la valeur de délai d'attente souhaitée. La valeur de temporisation maximale actuelle est de 10 secondes.
Ricloud-Await: 3
Cette fonctionnalité est prise en charge sur les ordinateurs d'extrémité suivants:
- Créer une session
POST /sessions
- Test de la configuration de stockage
POST /configs/storage/{storage_config ID}/test
- Test de configuration webhook
POST /configs/webhook/{webhook_config ID}/test
Publication cryptée
Tous les résultats publiés par l'API peuvent être chiffrés à l'aide d'une clé RSA publique à l'échelle de l'entreprise.
Essais des utilisateurs finaux
Un module d'essai utilisateur final est disponible pour une utilisation client. Cela peut être utilisé pour renvoyer un "teaser" de données aux utilisateurs finaux potentiels. Le module fournit un flux des cinq derniers messages ainsi qu'un dernier emplacement et un décompte récapitulatif des autres messages disponibles.
L'utilisation de ce mécanisme peut être plus rentable que l'utilisation d'une clé complète pour les essais de l'utilisateur final.
Analyses et rapports
Le service iCloud de ricloud fournit un certain nombre de fonctionnalités supplémentaires concernant l'analyse et les rapports.
Deux modules sont disponibles pour les entreprises: l'utilisation de base des applications, qui indique les applications utilisées sur un appareil iOS au cours d'une journée donnée et l'utilisation avancée des applications, qui fournit des informations supplémentaires telles que le nombre de sessions, la durée des sessions, etc. Plus d'informations sur ces modules sont disponibles sur demande.
Médecine légale et récupération
La fonctionnalité de suppression et de récupération médico-légale est disponible pour un certain nombre de modules, comme indiqué ci-dessous, y compris les modules Messages (SMS, MMS et iMessage) et iCloud Photo Library.
Reincubate propose un certain nombre d’outils d’investigation personnalisés pouvant être appliqués à la demande à d’autres modules, notamment WhatsApp et WeChat.
Types d'attributs
Datetime
Les attributs Datetime sont formatés conformément à la spécification ISO8601. L'API renvoie tous les attributs datetime avec le fuseau horaire UTC, c'est-à-dire "2018-08-22T10:25:05Z"
.
Un certain nombre de points de terminaison de liste de ressources permettent de filtrer les attributs datetime, tels que date_created
. Pour filtrer à l'aide d'opérateurs plus utiles, lte_
valeur du filtre datetime avec l'un de lt_
, lte_
, gt_
ou gte_
.
Timedelta
Les attributs du type timedelta sont toujours en secondes, sauf indication contraire.
Pagination
L'API utilise la pagination basée sur le curseur. Tous les appels de type liste prennent les paramètres supplémentaires:
-
limit
pour spécifier le nombre maximal d'éléments à renvoyer. La valeur par défaut est 10, la valeur maximale 1000. -
after_id
pour spécifier l'ID à partir duquel commencer la liste. -
before_id
pour spécifier l'ID de ressource à partir duquel arrêter la liste.
Les réponses à la liste incluent les ressources renvoyées sous l'attribut de data
. L'attribut d'assistance has_more
est également inclus; has_more
indique si davantage de ressources pouvant être répertoriées n'ont pas été incluses en raison de la limite.
Limites de taux
Les demandes adressées à l'API peuvent être limitées par une limite de taux standard ou par une limite de demandes en vol. Le premier est utilisé pour minimiser l'utilisation abusive des ressources API à grande échelle, tandis que le second est utilisé pour protéger des instances de ressources individuelles.
Exemple de limite de débit: le nombre de demandes adressées à l'API par une seule organisation est limité à 10 000 demandes par heure. Cela aide à protéger contre les pics de trafic malveillants ou accidentels.
Exemple de limite en vol : une tâche d'une ressource source ne peut pas être créée si une autre tâche est déjà en cours de traitement. Cela maintient l’intégrité de la session, minimise le trafic vers les services externes et
Gestion des versions
Bien que les versions majeures de l'API suivent un schéma de version largement sémantique ( v1 , v2 , v3 ), toutes les modifications apportées à la version v3 de l'API sont versionnées selon un schéma de version de calendrier ( 2018-11-06 ). La version peut être définie globalement pour votre organisation ou spécifiée à la demande via l'en Ricloud-Version
tête Ricloud-Version
.
Ressources supprimables
La plupart des ressources ne sont pas supprimables, ce qui signifie qu'elles ne peuvent être désactivées que par l'organisation propriétaire ou bloquées par un administrateur d'API.