Application iOS
Ce guide s'adresse aux développeurs qui construisent ou personnalisent l'application compagnon iOS de LeadHub. Le code source de l'application est écrit en Swift et cible iPhone et iPad.
Prérequis
- Xcode 15 ou version ultérieure (macOS uniquement)
- Swift 5.9 ou version ultérieure
- Cible de déploiement iOS : iOS 15.0 minimum
- Un compte Apple Developer (requis pour TestFlight et la distribution sur l'App Store)
- Une instance LeadHub avec une URL HTTPS valide et une clé API active
Configuration du Projet
- Ouvrez le dossier
ios/de votre achat LeadHub dans Xcode. - Ouvrez le fichier
.xcworkspace(pas le.xcodeproj) si des dépendances CocoaPods ou Swift Package Manager sont présentes. - Sélectionnez votre équipe de développement dans les paramètres Signing & Capabilities du projet.
- Compilez et exécutez sur un simulateur ou un appareil.
Architecture
L'application utilise une architecture iOS standard :
- URLSession avec un client API personnalisé pour les appels HTTP vers l'API REST LeadHub
- Combine ou async/await pour les opérations asynchrones
- SwiftUI pour l'interface utilisateur
- CoreData pour la mise en cache locale des leads entre les sessions
- Apple Push Notification Service (APNs) pour les notifications push
Les clés API sont stockées dans le Keychain iOS en utilisant le framework Security.
Flux d'Authentification
- L'utilisateur saisit l'URL de son instance LeadHub et la clé API sur l'écran d'intégration.
- L'application effectue une requête
GET /api/v1/healthpour vérifier que l'instance est accessible en HTTPS. - Elle vérifie que la clé API est valide en effectuant une requête authentifiée de test.
- L'URL et la clé API sont stockées dans le Keychain.
Notifications Push
Les notifications push utilisent Apple Push Notification Service (APNs).
- Dans votre compte Apple Developer, créez une clé APNs (fichier .p8) sous Certificates, Identifiers & Profiles → Keys.
- Notez l'ID de la clé et votre ID d'équipe.
- Dans la configuration du backend LeadHub, définissez
APNS_KEY,APNS_KEY_ID,APNS_TEAM_IDetAPNS_BUNDLE_ID. - Dans Xcode, activez la capacité Push Notifications sous Signing & Capabilities.
L'application s'enregistre pour les notifications push au premier lancement et envoie le token d'appareil au backend LeadHub via l'API.
Compilation pour la Distribution
- Archivez l'application via Product → Archive dans Xcode.
- Dans la fenêtre Organizer, cliquez sur Distribute App.
- Choisissez App Store Connect pour la distribution sur l'App Store, ou TestFlight pour les tests bêta.
- Suivez les instructions Xcode pour télécharger.
Endpoints API Utilisés
| Endpoint | Objectif |
|---|---|
GET /api/v1/health | Vérifier la connectivité de l'instance |
GET /api/v1/leads | Charger la liste des leads |
GET /api/v1/leads/{id} | Charger le détail d'un lead |
PATCH /api/v1/leads/{id} | Mettre à jour le statut ou l'étape du lead |
POST /api/v1/leads/{id}/tags | Ajouter un tag à un lead |
GET /api/v1/pipelines | Charger la liste des pipelines pour le sélecteur d'étapes |
Scopes Minimum Requis pour la Clé API
| Scope | Raison |
|---|---|
read:leads | Consulter les leads |
write:leads | Mettre à jour le statut, l'étape et les tags du lead |
read:pipelines | Remplir le sélecteur d'étapes du pipeline |
Déclaration de Confidentialité sur l'App Store
Lors de la soumission à l'App Store, déclarez l'utilisation des données suivante dans votre section Confidentialité de l'application :
- Informations de contact (email, téléphone) — collectées depuis les leads, pas les utilisateurs
- Identifiants (clé API) — liés à l'utilisateur, utilisés pour l'authentification
- Données d'utilisation — non collectées