Sparrow Instagram collega il tuo account professionale a una casella di posta condivisa dai tuoi team: messaggi diretti, risposte alle storie e commenti arrivano nello stesso posto, le richieste ricorrenti trovano risposta da sole, e lo storico resta associato al contatto nel tuo CRM.
Clicca su un caso d'uso per scoprire in dettaglio come Sparrow Instagram lo attiva per la tua azienda.
Su Instagram una richiesta commerciale prende tre forme: un messaggio diretto, una risposta a una storia, un commento sotto un post. Qui arrivano nella stessa casella, assegnate, etichettate e monitorate, con lo storico completo del contatto.
Una storia ben vista produce decine di risposte che si perdono nella casella del telefono. Qui ciascuna apre una conversazione collegata al post che l'ha generata.
Su Instagram la vendita si conclude spesso nel messaggio privato: il cliente chiede una taglia, un prezzo, una disponibilità, e si aspetta una risposta immediata. I tuoi agenti inviano le immagini, verificano lo stock e trasmettono il link d'ordine senza uscire dalla conversazione.
Prezzo, taglie disponibili, tempi di consegna, indirizzo del negozio: queste domande costituiscono la maggior parte del volume. Un percorso guidato risponde subito e passa la parola appena la richiesta esce dal perimetro.
Ogni conversazione porta il suo tempo di prima risposta, la sua origine — messaggio, storia, commento, annuncio — e il suo esito. Vedi così quali post generano richieste, quali ore sono scoperte e quali domande meriterebbero una risposta automatica.
Uno stesso canale, regole diverse: nelle ventiquattro ore successive a un messaggio del cliente scrivi liberamente; oltre, restano ammesse solo alcune categorie di messaggi. La piattaforma mostra il tempo residuo e propone l'etichetta adatta.
Domande, reclami e richieste di prezzo gestiti dai tuoi agenti da una casella condivisa.
Finestra di 24 oreOgni reazione a una storia apre una conversazione collegata al post che l'ha generata.
Storia collegataUn commento riceve una risposta pubblica e un messaggio privato per proseguire.
Pubblico e privatoPrezzo, taglie, tempi, indirizzo: un percorso guidato risponde senza impegnare nessuno.
Disponibile 24 ore su 24Immagini, stock e link di pagamento trasmessi nella conversazione, fino all'ordine.
Catalogo integratoL'annuncio apre un messaggio privato anziché una pagina di destinazione, e l'origine resta associata al contatto.
Origine della campagna conservataUn cliente che menziona il tuo account compare nella casella; lo ringrazi o lo ricondividi.
Monitoraggio integratoOltre le ventiquattro ore, un agente può riprendere la conversazione per sette giorni.
Etichetta agente umanoDopo l'acquisto, una richiesta di recensione inviata nella finestra consentita, senza solleciti inopportuni.
Nella finestra consentitaLa casella condivisa, l'automazione e l'API in un unico abbonamento, senza strumenti aggiuntivi da collegare.
Messaggi diretti, risposte alle storie, menzioni e commenti in un'unica schermata, assegnati, etichettati e monitorati. Note interne e trasferimento senza perdere il filo.
Domande di avvio, risposte rapide e risposte alle parole chiave di un commento. Le richieste ricorrenti si risolvono da sole e il passaggio a un agente avviene appena serve.
Il profilo Instagram, lo storico delle conversazioni e i dati del tuo CRM sulla stessa schermata. L'agente sa con chi parla prima di rispondere.
La piattaforma mostra il tempo residuo per rispondere liberamente e segnala quando la ripresa da parte di un agente umano diventa necessaria. Nessuna regola di Meta violata per distrazione.
Tempo di prima risposta, origine del contatto, post che generano più richieste. Esportazione CSV, report settimanale, invio via API.
Le tue applicazioni inviano e ricevono messaggi senza passare dall'interfaccia. Token per applicazione, ambiente di prova, esempi nei principali linguaggi.
Nessuna libreria proprietaria da installare. L'API REST si chiama da qualsiasi linguaggio, e la casella condivisa resta disponibile per gli scambi gestiti dai tuoi agenti.
POST /api/v1/login con le tue credenziali restituisce un token
(api_token) che poi inserisci nell'intestazione
Authorization: Bearer {api_token} di ogni invio.
Un account può ospitare più applicazioni, ciascuna con il suo token:
le statistiche restano separate, applicazione per applicazione.
| Operazione | Metodo | URL |
|---|---|---|
| Ottenere un token | POST | https://app.sparrowmessage.com/api/v1/login |
| Invia un messaggio | POST | https://app.sparrowmessage.com/api/v1/instagram/send/one |
| Ricevere un messaggio | POST in arrivo | https://tuo-sito.com/sparrow/webhook |
| Stato di un messaggio | POST | https://app.sparrowmessage.com/api/v1/instagram/status |
| Stato di una lista | POST | https://app.sparrowmessage.com/api/v1/instagram/status/bulk |
SEMS
Amplitude HR
1 — Ottenere il token, poi inviare un messaggio.
<?php
$base = 'https://app.sparrowmessage.com/api/v1';
// — Authentification : le jeton est à conserver, pas à redemander à chaque envoi
$ch = curl_init("$base/login");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Accept: application/json', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'email' => 'vous@societe.ma',
'password' => 'votre-mot-de-passe',
]),
]);
$jeton = json_decode(curl_exec($ch), true)['api_token'];
curl_close($ch);
// — Envoi d'un message
$ch = curl_init("$base/instagram/send/one");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Accept: application/json',
'Content-Type: application/json',
"Authorization: Bearer $jeton",
],
CURLOPT_POSTFIELDS => json_encode([
'recipient' => '718294106203941',
'text' => 'Votre code de vérification est 385 214.',
// Facultatif : Sparrow y postera les changements de statut
'notifyurl' => 'https://votre-site.ma/sparrow/statut',
]),
]);
$reponse = json_decode(curl_exec($ch), true);
curl_close($ch);
// Toute réponse porte un champ code : OK ou KO
echo $reponse['code'] === 'OK' ? "Message envoyé\n" : "Échec : {$reponse['error']}\n";
Invio singolo, poi invio massivo.
import requests
base = 'https://app.sparrowmessage.com/api/v1'
# — Authentification
jeton = requests.post(f'{base}/login', json={
'email': 'vous@societe.ma',
'password': 'votre-mot-de-passe',
}).json()['api_token']
entetes = {'Authorization': f'Bearer {jeton}', 'Accept': 'application/json'}
# — Envoi d'un message
r = requests.post(f'{base}/instagram/send/one', headers=entetes, json={
'recipient': '718294106203941',
'text': 'Votre code de vérification est 385 214.',
'notifyurl': 'https://votre-site.ma/sparrow/statut',
}).json()
print('Message envoyé' if r['code'] == 'OK' else f"Échec : {r['error']}")
# — Envoi en masse : une seule requête, plusieurs destinataires
requests.post(f'{base}/instagram/send/bulk', headers=entetes, json={
'phones': ['718294106203941', '+2126YYYYYYYY'],
'text': 'Soldes : -20 % jusqu\'à dimanche. STOP au 36000',
})
# — Statut d'un envoi, à partir de l'identifiant renvoyé
statut = requests.post(f'{base}/instagram/status', headers=entetes, json={
'message_id': '8f21c4',
}).json()
print(statut['result'])
Node 18 o successivo: fetch è nativo.
const base = 'https://app.sparrowmessage.com/api/v1';
// — Authentification
const { api_token } = await fetch(`${base}/login`, {
method: 'POST',
headers: { 'Content-Type': 'application/json', Accept: 'application/json' },
body: JSON.stringify({
email: 'vous@societe.ma',
password: 'votre-mot-de-passe',
}),
}).then(r => r.json());
const entetes = {
'Content-Type': 'application/json',
Accept: 'application/json',
Authorization: `Bearer ${api_token}`,
};
// — Envoi d'un message
const reponse = await fetch(`${base}/instagram/send/one`, {
method: 'POST',
headers: entetes,
body: JSON.stringify({
phone: '718294106203941',
text: 'Votre code de vérification est 385 214.',
notifyurl: 'https://votre-site.ma/sparrow/statut',
}),
}).then(r => r.json());
console.log(reponse.code === 'OK' ? 'Message envoyé' : `Échec : ${reponse.error}`);
// — Envoi en masse
await fetch(`${base}/instagram/send/bulk`, {
method: 'POST',
headers: entetes,
body: JSON.stringify({
phones: ['718294106203941', '+2126YYYYYYYY'],
text: 'Soldes : -20 % jusqu\'à dimanche. STOP au 36000',
}),
});
.NET 6 o successivo.
using System.Net.Http.Json;
var http = new HttpClient { BaseAddress = new Uri("https://app.sparrowmessage.com/api/v1/") };
// — Authentification
var auth = await http.PostAsJsonAsync("login", new {
email = "vous@societe.ma",
password = "votre-mot-de-passe",
});
var jeton = (await auth.Content.ReadFromJsonAsync<Dictionary<string, string>>())["api_token"];
http.DefaultRequestHeaders.Authorization = new("Bearer", jeton);
// — Envoi d'un message
var envoi = await http.PostAsJsonAsync("sms/send/one", new {
phone = "718294106203941",
text = "Votre code de vérification est 385 214.",
notifyurl = "https://votre-site.ma/sparrow/statut",
});
var resultat = await envoi.Content.ReadFromJsonAsync<Dictionary<string, object>>();
Console.WriteLine(resultat["code"].ToString() == "OK" ? "Message envoyé" : $"Échec : {resultat["error"]}");
// — Envoi en masse
await http.PostAsJsonAsync("sms/send/bulk", new {
phones = new[] { "718294106203941", "+2126YYYYYYYY" },
text = "Soldes : -20 % jusqu'à dimanche. STOP au 36000",
});
Java 11 o successivo, client HTTP nativo.
import java.net.URI;
import java.net.http.*;
var client = HttpClient.newHttpClient();
var base = "https://app.sparrowmessage.com/api/v1";
// — Authentification
var auth = HttpRequest.newBuilder(URI.create(base + "/login"))
.header("Content-Type", "application/json")
.header("Accept", "application/json")
.POST(HttpRequest.BodyPublishers.ofString("""
{"email":"vous@societe.ma","password":"votre-mot-de-passe"}"""))
.build();
var jeton = extraire(client.send(auth, HttpResponse.BodyHandlers.ofString()).body(), "api_token");
// — Envoi d'un message
var envoi = HttpRequest.newBuilder(URI.create(base + "/instagram/send/one"))
.header("Content-Type", "application/json")
.header("Accept", "application/json")
.header("Authorization", "Bearer " + jeton)
.POST(HttpRequest.BodyPublishers.ofString("""
{"recipient":"718294106203941",
"text":"Votre code de vérification est 385 214.",
"notifyurl":"https://votre-site.ma/sparrow/statut"}"""))
.build();
System.out.println(client.send(envoi, HttpResponse.BodyHandlers.ofString()).body());
Da copiare così com'è in un terminale.
# — 1. Obtenir le jeton
curl -X POST https://app.sparrowmessage.com/api/v1/login \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"email":"vous@societe.ma","password":"votre-mot-de-passe"}'
# Réponse : {"code":"OK","api_token":"eyJ0eXAiOiJKV1Qi..."}
# — 2. Envoyer un message
curl -X POST https://app.sparrowmessage.com/api/v1/instagram/send/one \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $JETON" \
-d '{"recipient":"718294106203941",
"text":"Votre code de vérification est 385 214.",
"notifyurl":"https://votre-site.ma/sparrow/statut"}'
# — 3. Recevoir les messages entrants
curl -X POST https://app.sparrowmessage.com/api/v1/instagram/send/bulk \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $JETON" \
-d '{"phones":["718294106203941","+2126YYYYYYYY"],
"text":"Rappel : votre rendez-vous est demain a 14h30."}'
# — 4. Statut d'un envoi
curl -X POST https://app.sparrowmessage.com/api/v1/instagram/status \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $JETON" \
-d '{"message_id":"8f21c4"}'
# — 5. Statut d'une liste
curl -X POST https://app.sparrowmessage.com/api/v1/instagram/status/bulk \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $JETON" \
-d '{"messages_id":["8f21c4","8f21c5"]}'
Tutte le risposte hanno un campo code pari a OK ou
KO. In caso di OK, result — oppure results
per le chiamate massive — riporta il dettaglio; in caso di KO,
error ne indica il motivo.
Documentazione completa e ambiente di prova forniti all'apertura dell'account.
Grandi aziende, istituzioni e amministrazioni, in Marocco e all'estero. Le stesse organizzazioni, qualunque sia il canale.

Comunicazione a collaboratori, fornitori e clienti

Comunicazione a clienti e collaboratori

Comunicazione a clienti e collaboratori

Comunicazione ai fornitori

Comunicazione a clienti e collaboratori

Comunicazione a candidati e aziende

Comunicazione a membri e partner

Comunicazione ai soci

Comunicazione a partner e donatori

Comunicazione ai clienti

Notifiche ai clienti dal CRM

Comunicazione ai clienti

Comunicazione a candidati e aziende

Comunicazione ai soci

Comunicazione a clienti e partner

Comunicazione ai fornitori

Comunicazione a studenti e partner

Comunicazione agli operatori turistici

Comunicazione ai clienti

Comunicazione ai soci

Comunicazione a clienti e utenti

Comunicazione a studenti e amministrazione

Comunicazione a studenti e amministrazione

Comunicazione a clienti e punti vendita

Comunicazione ai collaboratori

Comunicazione a clienti e potenziali clienti

Comunicazione a clienti e potenziali clienti

Comunicazione ai clienti

Comunicazione ai clienti

Comunicazione ai clienti

Notifiche e relazione con i clienti

Notifiche a clienti e fornitori

Notifiche e campagne ai clienti
Taglie disponibili, consigli sul prodotto, ordine concluso nella conversazione.
Prezzo, stock, disponibilità in negozio, tracciamento dell'ordine.
Prenotazione da una storia, menù del giorno, conferma del tavolo.
Prenotazione di appuntamenti, servizi e tariffe, promemoria il giorno prima.
Qualificazione delle richieste generate dai post, prenotazione della visita.
Informazioni sui programmi, date di inizio anno, iscrizioni.
Orari, abbonamenti, iscrizioni ai corsi e agli eventi.
Ordini su misura, tempi di produzione, invio di immagini.
Instagram non si fattura a messaggio come un SMS: il costo dipende dalla conversazione, dal numero di agenti e da ciò che automatizzi. Per questo prepariamo una proposta su misura, dopo un colloquio di trenta minuti.
Il numero di conversazioni aperte ogni mese, e la quota che si risolve senza intervento umano. È il primo fattore del costo.
Quante persone accedono alla casella condivisa e con quali orari. Un agente in più si aggiunge in qualsiasi momento.
Percorsi guidati, collegamento al tuo catalogo, integrazione CRM o ERP: l'implementazione si quota una volta, l'esercizio poi.
Descrivici il tuo volume attuale e le tue richieste più frequenti. Torniamo da te con una proposta quantificata e un calendario di avvio, senza impegno.
Sì. La messaggistica professionale di Instagram è aperta solo agli account professionali o creator, collegati a una pagina Facebook e a un account Meta Business. Il passaggio si effettua dalle impostazioni dell'app e non ti fa perdere né i post né i follower.
Appena un cliente ti scrive — messaggio diretto, risposta a una storia o commento — hai ventiquattro ore per rispondergli liberamente. Ogni nuovo messaggio da parte sua fa ripartire il termine. Scaduto, lo scambio libero si interrompe. La piattaforma mostra il tempo residuo su ogni conversazione, così i tuoi agenti non devono calcolarlo.
Instagram prevede una ripresa da parte di un agente umano: se la richiesta non è stata gestita entro la finestra, una persona del tuo team può proseguire la conversazione per sette giorni. Questa ripresa serve a risolvere una richiesta in corso, non a inviare un messaggio commerciale. Per la promozione, bisogna attendere che il cliente riprenda contatto.
Sì, e collegate alla storia interessata: l'agente vede a cosa reagisce il cliente prima di rispondere. È ciò che fa la differenza su Instagram, dove la maggior parte del volume commerciale nasce dalle storie.
Sì. Un commento contenente una parola chiave che hai definito — «prezzo», «disponibile», «link» — attiva una risposta pubblica sotto il post e un messaggio privato per proseguire. È il modo più diretto di trasformare l'interazione in conversazione.
Sì, è precisamente lo scopo della casella condivisa. Ogni conversazione è assegnata a un agente, visibile agli altri, e non può ricevere due risposte concorrenti. Il trasferimento avviene con un clic, con le note interne, e lo storico resta associato al contatto qualunque sia l'agente che ha risposto.
Sì, ed è l'uso più diffuso. I tuoi agenti inviano le immagini, verificano lo stock dal tuo catalogo e trasmettono un link d'ordine o di pagamento nel messaggio. L'ordine viene poi riportato nel tuo gestionale, con l'origine della conversazione.
Sì, tramite l'API REST e i webhook. Ogni messaggio in arrivo può essere inviato al tuo sistema, e il tuo sistema può scrivere nella conversazione. Esistono connettori per i CRM e le piattaforme e-commerce più diffusi; per uno strumento interno, l'integrazione avviene via API in qualche giorno.
Sì, con lo storico completo associato al contatto: un cliente che torna sei mesi dopo viene riconosciuto, e l'agente vede cosa è stato detto. La durata di conservazione è configurabile secondo la tua politica sui dati, e l'esportazione è disponibile in qualsiasi momento.
In Marocco il trattamento dei dati personali è regolato dalla legge 09-08 e dalla CNDP: le conversazioni Instagram contengono dati personali e devono figurare nella dichiarazione. Vi si aggiungono le regole di Meta, che limitano lo scambio libero a ventiquattro ore e riservano la ripresa successiva a un agente umano, per risolvere una richiesta in corso. Le revoche del consenso e le richieste di cancellazione sono conservate ed esportabili. Non siamo giuristi: fai validare il tuo impianto e la dichiarazione CNDP dal tuo consulente.
Il GDPR si applica alle conversazioni Instagram come a qualsiasi trattamento di dati personali: base giuridica, informativa al cliente, durata di conservazione e diritto alla cancellazione. Vi si aggiungono le regole di Meta, che limitano lo scambio libero a ventiquattro ore e riservano la ripresa successiva a un agente umano, per risolvere una richiesta in corso. Le revoche del consenso e le richieste di cancellazione sono conservate ed esportabili, di che alimentare il tuo registro dei trattamenti. Non siamo giuristi: fai validare il tuo impianto dal tuo consulente.
Negli Stati Uniti la sollecitazione commerciale via messaggio è regolata dal CAN-SPAM Act per l'e-mail e dal TCPA per il messaggio telefonico, entrambi applicati da FTC e FCC; la messaggistica vi si ricollega per analogia e impone la stessa esigenza di consenso e di disiscrizione semplice. Vi si aggiungono le regole di Meta, che limitano lo scambio libero a ventiquattro ore e riservano la ripresa successiva a un agente umano. Le disiscrizioni sono conservate ed esportabili. Non siamo giuristi: fai validare il tuo impianto dal tuo consulente prima di qualsiasi campagna.
L'account è collegato e la casella condivisa utilizzabile entro ventiquattro ore. I percorsi automatizzati richiedono una o due settimane a seconda della complessità: occorre censire le richieste frequenti, scrivere le risposte e poi provarle su casi reali prima dell'apertura.
Il tuo canale Instagram operativo in 4 fasi
Dal collegamento del tuo account al primo percorso automatizzato, un percorso segnato e un unico referente.
Tempi correnti: account collegato entro 24 h, primi percorsi automatizzati in servizio entro una o due settimane a seconda della complessità.