Aplicativo iOS
Este guia destina-se a desenvolvedores que estão compilando ou personalizando o aplicativo iOS complementar do LeadHub. O código-fonte do aplicativo é escrito em Swift e tem como alvo iPhone e iPad.
Requisitos
- Xcode 15 ou posterior (somente macOS)
- Swift 5.9 ou posterior
- Destino de implantação iOS: mínimo iOS 15.0
- Uma conta Apple Developer (necessária para TestFlight e distribuição na App Store)
- Uma instância LeadHub com URL HTTPS válida e uma chave de API ativa
Configuração do Projeto
- Abra a pasta
ios/da sua compra do LeadHub no Xcode. - Abra o arquivo
.xcworkspace(não o.xcodeproj) se houver dependências do CocoaPods ou Swift Package Manager. - Selecione seu time de desenvolvimento nas configurações de Signing & Capabilities do projeto.
- Compile e execute em um simulador ou dispositivo.
Arquitetura
O aplicativo usa uma arquitetura iOS padrão:
- URLSession com um cliente de API personalizado para chamadas HTTP à REST API do LeadHub
- Combine ou async/await para operações assíncronas
- SwiftUI para a interface do usuário
- CoreData para cache local de leads entre sessões
- Apple Push Notification Service (APNs) para notificações push
As chaves de API são armazenadas no Keychain do iOS usando o framework Security.
Fluxo de Autenticação
- O usuário insere a URL da instância LeadHub e a chave de API na tela de integração.
- O aplicativo faz uma requisição
GET /api/v1/healthpara verificar se a instância está acessível via HTTPS. - Ele verifica se a chave de API é válida fazendo uma requisição autenticada de teste.
- A URL e a chave de API são armazenadas no Keychain.
Notificações Push
As notificações push usam o Apple Push Notification Service (APNs).
- Na sua conta Apple Developer, crie uma chave APNs (arquivo .p8) em Certificates, Identifiers & Profiles → Keys.
- Anote o Key ID e o seu Team ID.
- Na configuração do seu backend LeadHub, defina
APNS_KEY,APNS_KEY_ID,APNS_TEAM_IDeAPNS_BUNDLE_ID. - No Xcode, ative a funcionalidade Push Notifications em Signing & Capabilities.
O aplicativo se registra para notificações push na primeira execução e envia o token do dispositivo ao backend do LeadHub via API.
Compilando para Distribuição
- Archive o aplicativo via Product → Archive no Xcode.
- Na janela Organizer, clique em Distribute App.
- Escolha App Store Connect para distribuição na App Store ou TestFlight para testes beta.
- Siga as instruções do Xcode para fazer o upload.
Endpoints de API Utilizados
| Endpoint | Propósito |
|---|---|
GET /api/v1/health | Verificar conectividade da instância |
GET /api/v1/leads | Carregar lista de leads |
GET /api/v1/leads/{id} | Carregar detalhes do lead |
PATCH /api/v1/leads/{id} | Atualizar status ou etapa do lead |
POST /api/v1/leads/{id}/tags | Adicionar tag ao lead |
GET /api/v1/pipelines | Carregar lista de pipelines para seletor de etapa |
Escopos Mínimos de Chave de API Necessários
| Escopo | Motivo |
|---|---|
read:leads | Visualizar leads |
write:leads | Atualizar status, etapa e tags do lead |
read:pipelines | Preencher o seletor de etapa do pipeline |
Declaração de Privacidade da App Store
Ao enviar para a App Store, declare o seguinte uso de dados na sua seção App Privacy:
- Informações de Contato (e-mail, telefone) — coletadas de leads, não de usuários
- Identificadores (chave de API) — vinculados ao usuário, usados para autenticação
- Dados de Uso — não coletados