UC-017 — Collegare Profili Social
| Campo | Valore |
|---|---|
| ID | UC-017 |
| Obiettivo | Visualizzare i profili social collegati e monitorare lo stato dei token |
| Canale | WhatsApp, Facebook Messenger, Instagram |
| Complessità | Base |
| Tempo stimato | 5 minuti |
| API coinvolte | GET /api/v1/partner-gateway/socials, GET /api/v1/partner-gateway/socials/{platform} |
Scenari reali
- Visualizzare pagine Facebook: Il social media manager di BrandCo verifica quali pagine Facebook sono collegate per l'invio di messaggi tramite Messenger.
- Monitorare token: Il team DevOps configura un check automatico che verifica la validita dei token OAuth collegati ed evita interruzioni di servizio.
- Audit profili: Prima del go-live, il responsabile tecnico esegue un audit di tutti i profili social collegati per assicurarsi che siano quelli corretti.
Flusso di consultazione
Il diagramma mostra le due query principali: lista generale e dettaglio per piattaforma.
Prerequisiti
- API Key attiva con permessi di lettura profili social
- Almeno un profilo social collegato tramite la dashboard Qlara
- Token OAuth valido per la piattaforma di interesse
Step 1 — Elenca tutti i profili social collegati
Recupera la lista completa dei profili social associati al tuo account.
curl -X GET https://lora-api.agiletelecom.com/api/v1/partner-gateway/socials \
-H "X-Api-Key: YOUR_API_KEY"
Response — Profili collegati
{
"profiles": [
{
"platform": "facebook",
"profileId": "fb_page_123456",
"name": "BrandCo Official",
"status": "CONNECTED",
"tokenExpiresAt": "2026-06-15T00:00:00+02:00",
"connectedAt": "2026-01-10T14:30:00+01:00"
},
{
"platform": "whatsapp",
"profileId": "wa_biz_789012",
"name": "BrandCo WhatsApp Business",
"status": "CONNECTED",
"phoneNumber": "+393491234567",
"connectedAt": "2026-02-20T09:00:00+01:00"
},
{
"platform": "instagram",
"profileId": "ig_345678",
"name": "brandco_official",
"status": "TOKEN_EXPIRED",
"tokenExpiresAt": "2026-03-01T00:00:00+01:00",
"connectedAt": "2025-12-01T10:00:00+01:00"
}
],
"total": 3
}
:::warning Token scaduti
Se un profilo mostra status: "TOKEN_EXPIRED", i messaggi verso quel canale falliranno. Rinnova il token dalla dashboard Qlara.
:::
Dietro le quinte — Gestione dei token social
- OAuth flow: Il collegamento di un profilo social avviene tramite OAuth 2.0 dalla dashboard. Il gateway salva il token di accesso in forma cifrata.
- Token refresh: Per Facebook e Instagram, il gateway tenta un refresh automatico del token 7 giorni prima della scadenza. Se il refresh fallisce, lo stato passa a
TOKEN_EXPIRING. - Scadenza: Quando il token scade, lo stato diventa
TOKEN_EXPIREDe le chiamate API per quel canale restituiscono503 Service Unavailable. - WhatsApp: I profili WhatsApp Business usano una connessione persistente (non basata su token con scadenza), ma possono risultare
DISCONNECTEDin caso di problemi con il Business API provider.
Step 2 — Dettaglio di una piattaforma specifica
Interroga una singola piattaforma per ottenere dettagli avanzati.
curl -X GET https://lora-api.agiletelecom.com/api/v1/partner-gateway/socials/facebook \
-H "X-Api-Key: YOUR_API_KEY"
Response — Dettaglio Facebook
{
"platform": "facebook",
"profiles": [
{
"profileId": "fb_page_123456",
"name": "BrandCo Official",
"pageId": "1234567890",
"category": "E-commerce",
"status": "CONNECTED",
"tokenExpiresAt": "2026-06-15T00:00:00+02:00",
"permissions": ["pages_messaging", "pages_read_engagement"],
"connectedAt": "2026-01-10T14:30:00+01:00",
"lastActivityAt": "2026-04-09T12:00:00+02:00"
}
]
}
:::tip Verifica i permessi
Il campo permissions indica i permessi OAuth concessi. Per inviare messaggi Messenger, e necessario almeno pages_messaging.
:::
Dietro le quinte — Permessi e scopes OAuth
- Facebook Messenger: Richiede
pages_messagingper inviare messaggi epages_read_engagementper leggere le metriche. - Instagram: Richiede
instagram_basiceinstagram_manage_messagesper la messaggistica diretta. - Scopes minimi: Se durante il collegamento l'utente non concede tutti gli scopes richiesti, alcune funzionalita risulteranno limitate.
- Rinnovo scopes: Per aggiungere permessi mancanti, e necessario scollegare e ricollegare il profilo dalla dashboard.
Risultato atteso
| Step | Azione | Risultato |
|---|---|---|
| 1 | GET /socials | Lista di tutti i profili con stato e scadenza token |
| 2 | GET /socials/{platform} | Dettaglio della piattaforma con permessi e ultima attivita |
Esempio completo end-to-end
Scenario DevOps BrandCo: script di health check dei profili social.
# 1. Recupera tutti i profili
echo "=== Profili Social ==="
curl -s -X GET https://lora-api.agiletelecom.com/api/v1/partner-gateway/socials \
-H "X-Api-Key: YOUR_API_KEY" | jq '.profiles[] | {platform, name, status}'
# 2. Verifica token in scadenza (prossimi 30 giorni)
echo "=== Token in scadenza ==="
curl -s -X GET https://lora-api.agiletelecom.com/api/v1/partner-gateway/socials \
-H "X-Api-Key: YOUR_API_KEY" | jq '.profiles[] | select(.status == "TOKEN_EXPIRED" or .status == "TOKEN_EXPIRING") | {platform, name, tokenExpiresAt}'
# 3. Dettaglio Facebook per audit
echo "=== Dettaglio Facebook ==="
curl -s -X GET https://lora-api.agiletelecom.com/api/v1/partner-gateway/socials/facebook \
-H "X-Api-Key: YOUR_API_KEY" | jq '.profiles[] | {name, permissions, lastActivityAt}'
Varianti
Monitoraggio automatico token con alert
Integra il check in un job che notifica il team quando un token sta per scadere:
# Controlla profili con token in scadenza entro 7 giorni
EXPIRING=$(curl -s -X GET https://lora-api.agiletelecom.com/api/v1/partner-gateway/socials \
-H "X-Api-Key: YOUR_API_KEY" | jq '[.profiles[] | select(.status == "TOKEN_EXPIRING")] | length')
if [ "$EXPIRING" -gt 0 ]; then
echo "ALERT: $EXPIRING profili con token in scadenza!"
fi
Errori comuni
401 Unauthorized — API Key non valida
{
"status": "fail",
"data": {
"authentication": "Invalid or missing API key"
}
}
Soluzione: Verifica che l'header X-Api-Key sia presente e la chiave sia attiva.
404 Not Found — Piattaforma non collegata
{
"status": "fail",
"data": {
"platform": "No connected profiles found for platform: telegram"
}
}
Soluzione: La piattaforma richiesta non ha profili collegati. Collegane uno dalla dashboard Qlara o verifica il nome corretto della piattaforma (facebook, whatsapp, instagram).
Prossimi passi
- UC-018 — Gestire l'Inbox: Gestisci le conversazioni ricevute sui canali social
- UC-003 — Invio WhatsApp Template: Invia messaggi tramite i profili WhatsApp collegati
- UC-014 — API Key Management: Gestisci le chiavi di accesso