Aller au contenu principal

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

  1. Ouvrez le dossier ios/ de votre achat LeadHub dans Xcode.
  2. Ouvrez le fichier .xcworkspace (pas le .xcodeproj) si des dépendances CocoaPods ou Swift Package Manager sont présentes.
  3. Sélectionnez votre équipe de développement dans les paramètres Signing & Capabilities du projet.
  4. 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

  1. L'utilisateur saisit l'URL de son instance LeadHub et la clé API sur l'écran d'intégration.
  2. L'application effectue une requête GET /api/v1/health pour vérifier que l'instance est accessible en HTTPS.
  3. Elle vérifie que la clé API est valide en effectuant une requête authentifiée de test.
  4. L'URL et la clé API sont stockées dans le Keychain.

Notifications Push

Les notifications push utilisent Apple Push Notification Service (APNs).

  1. Dans votre compte Apple Developer, créez une clé APNs (fichier .p8) sous Certificates, Identifiers & Profiles → Keys.
  2. Notez l'ID de la clé et votre ID d'équipe.
  3. Dans la configuration du backend LeadHub, définissez APNS_KEY, APNS_KEY_ID, APNS_TEAM_ID et APNS_BUNDLE_ID.
  4. 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

  1. Archivez l'application via Product → Archive dans Xcode.
  2. Dans la fenêtre Organizer, cliquez sur Distribute App.
  3. Choisissez App Store Connect pour la distribution sur l'App Store, ou TestFlight pour les tests bêta.
  4. Suivez les instructions Xcode pour télécharger.

Endpoints API Utilisés

EndpointObjectif
GET /api/v1/healthVérifier la connectivité de l'instance
GET /api/v1/leadsCharger 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}/tagsAjouter un tag à un lead
GET /api/v1/pipelinesCharger la liste des pipelines pour le sélecteur d'étapes

Scopes Minimum Requis pour la Clé API

ScopeRaison
read:leadsConsulter les leads
write:leadsMettre à jour le statut, l'étape et les tags du lead
read:pipelinesRemplir 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