Invia messaggi ai gruppi WhatsApp usando PHP

24 luglio 2024

Questo tutorial ti insegnerà come inviare messaggi ai gruppi WhatsApp utilizzando l'API.

Che tu stia coordinando un progetto, creando una comunità o gestendo l'assistenza clienti, Wassenger rende facile riunire le persone intorno a interessi e obiettivi comuni. Con Wassenger, puoi gestire e coinvolgere i tuoi gruppi WhatsApp, mantenendo tutti connessi e informati.

L'API potente e gli strumenti di automazione di Wassenger aumentano la comodità e l'accessibilità dei gruppi WhatsApp, garantendo la migliore comunicazione e collaborazione. Condividi messaggi di testo, video, immagini e memo vocali in un ambiente dinamico per lo scambio di idee e aggiornamenti in tempo reale. Con Wassenger, rimanere connessi con la tua community non è mai stato così efficiente ed efficace.

Ti insegneremo in alcuni semplici passaggi:

🤩 🤖 Wassenger è una piattaforma di comunicazione completa e una soluzione API per WhatsApp. Esplora oltre 100 casi d'uso dell'API e automatizza qualsiasi cosa su WhatsApp iscrivendoti a una prova gratuita e iniziando in pochi minuti!

Se hai bisogno di inviare messaggi dal codice, puoi usare qualsiasi linguaggio di programmazione per effettuare richieste HTTPS all'API. Qui sotto trovi il tester API live con esempi di codice pronti all'uso in diversi linguaggi di programmazione.

Requisiti

  • Avere un numero WhatsApp già collegato alla piattaforma e online.
  • ID del gruppo WhatsApp (WID) che puoi trovare in due modi:

Come ottenere l'ID del gruppo WhatsApp

Puoi ottenere l'ID del gruppo WhatsApp utilizzando uno di questi metodi:

  1. Web: vai su impostazioni del numero > Gruppi > Copia il WID del gruppo.
  2. API: interroga i gruppi disponibili sul tuo numero usando questo endpoint.

Endpoint API

Useremo il seguente endpoint API per inviare messaggi a un gruppo:

🖥️ Cerchi un esempio di codice? Vai al tester API live e ottieni esempi di codice pronti all'uso in oltre 15 linguaggi di programmazione, inclusi Python, JavaScript, PHP, C#, Java, Ruby, Go, Powershell, cURL e altri.

Inviare messaggi automatici con PHP

  • 🔑 Configurazione: la chiave API, l'ID del gruppo e il messaggio sono memorizzati in variabili.
  • 🛠️ Client e richiesta: un http\Client e un http\Client\Request.
  • 📝 Corpo: il corpo del messaggio viene creato come oggetto JSON e aggiunto al body della richiesta.
  • 🔒 Intestazioni: vengono aggiunte alla richiesta le intestazioni Content-Type e Token.
  • 📤 Invio della richiesta: la richiesta viene messa in coda e inviata. La risposta viene verificata per il successo e vengono stampati messaggi appropriati in base allo stato della risposta.
// Examples requires to have installed pecl_http package, a simple and elegant HTTP client for PHP.
// Install it by running: pecl install pecl_http
// More information: https://pecl.php.net/package/pecl_http/3.2.0
<?php
$client = new http\Client();
$request = new http\Client\Request();
$body = new http\Message\Body();
$body->append(
  json_encode([
    'group' => '1203630298136324@g.us',
    'message' => 'Sample group message',
  ])
);
$request->setRequestUrl('https://api.wassenger.com/v1/messages');
$request->setRequestMethod('POST');
$request->setBody($body);
$request->setHeaders([
  'Content-Type' => 'application/json',
  'Token' => 'API_TOKEN_GOES_HERE',
]);
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();

🤩 🤖 Wassenger è una soluzione API completa per WhatsApp. Iscriviti a una prova gratuita di 7 giorni e inizia in pochi minuti!

Inviare messaggi automatici con PHP (cURL)

  • 📲 Variabili dinamiche: la chiave API, l'ID del gruppo e il messaggio sono memorizzati in variabili.
  • ⚙️ Configurazione cURL: curl_setopt_array viene usato per configurare le opzioni cURL, incluso l'URL, le intestazioni, il metodo di richiesta e il corpo della richiesta.
  • 💻 Codifica JSON: il payload viene creato usando json_encode per inserire le variabili dinamiche.
  • ⚠️ Esecuzione e gestione degli errori: curl_exec esegue la richiesta e eventuali errori vengono catturati con curl_error. Vengono quindi stampati la risposta o l'errore.
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => 'https://api.wassenger.com/v1/messages',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => json_encode([
    'group' => '120363029813632@g.us',
    'message' => 'Sample group message',
  ]),
  CURLOPT_HTTPHEADER => [
    'Content-Type: application/json',
    'Token: API_TOKEN_GOES_HERE',
  ],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
  echo 'cURL Error #:' . $err;
} else {
  echo $response;
}

Invia immagini a una chat di gruppo con PHP (cURL)

<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => 'https://api.wassenger.com/v1/messages',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => json_encode([
    'group' => '120363029813632@g.us',
    'message' => 'This is a caption for an image message',
    'media' => [
      'url' => 'https://picsum.photos/seed/picsum/600/400',
      'viewOnce' => null,
    ],
  ]),
  CURLOPT_HTTPHEADER => [
    'Content-Type: application/json',
    'Token: API_TOKEN_GOES_HERE',
  ],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
  echo 'cURL Error #:' . $err;
} else {
  echo $response;
}

Invia video a una chat di gruppo con PHP (cURL)

<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => 'https://api.wassenger.com/v1/messages',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => json_encode([
    'group' => '120363029813632@g.us',
    'message' => 'This is a caption for a video message',
    'media' => [
      'url' => 'https://download.samplelib.com/mp4/sample-5s.mp4',
      'viewOnce' => null,
    ],
  ]),
  CURLOPT_HTTPHEADER => [
    'Content-Type: application/json',
    'Token: API_TOKEN_GOES_HERE',
  ],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
  echo 'cURL Error #:' . $err;
} else {
  echo $response;
}

Invia audio a una chat di gruppo con PHP (cURL)

<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => 'https://api.wassenger.com/v1/messages',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => json_encode([
    'group' => '120363029813632@g.us',
    'media' => [
      'url' => 'https://download.samplelib.com/mp3/sample-9s.mp3',
      'format' => 'ptt',
    ],
  ]),
  CURLOPT_HTTPHEADER => [
    'Content-Type: application/json',
    'Token: API_TOKEN_GOES_HERE',
  ],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
  echo 'cURL Error #:' . $err;
} else {
  echo $response;
}

Invia un documento a una chat di gruppo con PHP (cURL)

<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => 'https://api.wassenger.com/v1/messages',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => json_encode([
    'group' => '120363029813632@g.us',
    'media' => [
      'url' => 'https://www.africau.edu/images/default/sample.pdf',
      'expiration' => '30d',
    ],
  ]),
  CURLOPT_HTTPHEADER => [
    'Content-Type: application/json',
    'Token: API_TOKEN_GOES_HERE',
  ],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
  echo 'cURL Error #:' . $err;
} else {
  echo $response;
}

🤩 🤖 Wassenger è una soluzione API completa per WhatsApp. Iscriviti a una prova gratuita di 7 giorni e inizia in pochi minuti!

Test API in tempo reale

Puoi testare e provare l'API direttamente dal tuo browser.

Una volta terminato il test, ottieni l'esempio di codice auto-generato nel linguaggio di programmazione preferito e sarai pronto.

Prova ora il nostro tester API-Live

🤩 🤖 Wassenger è una piattaforma di comunicazione completa e una soluzione API per WhatsApp. Esplora oltre 100 casi d'uso dell'API e automatizza qualsiasi cosa su WhatsApp iscrivendoti a una prova gratuita e iniziando in pochi minuti!

FAQ

Posso usare Wassenger per inviare messaggi di marketing?

Come forse sai, WhatsApp ha politiche severe riguardo l'invio di messaggi di marketing non richiesti, contenuti illeciti o spam.

L'invio di messaggi di marketing o qualsiasi messaggio non richiesto agli utenti non è consentito e metterebbe il tuo numero WhatsApp a elevato rischio di essere bannato.

La comunicazione su WhatsApp non è adatta a tutti i casi aziendali, quindi consigliamo di progettare una strategia di comunicazione legittima e approvata dall'utente per evitare problemi.

Per favore leggi le nostre linee guida sulle best practice di comunicazione e su come prevenire il ban.

Come inviare messaggi a più numeri di telefono 📲

Devi inviare molteplici richieste API, una per ogni numero di telefono destinatario.

Ad esempio, per inviare un messaggio a 10 numeri di telefono, dovresti inviare 10 richieste HTTPS indipendenti all'API.

Non esiste l'opzione per inviare più messaggi in un'unica richiesta API.

Come verificare se un numero di telefono può ricevere messaggi WhatsApp 📳

Puoi verificare se un determinato numero di telefono è collegato a un account WhatsApp e può ricevere messaggi.

L'API fornisce un endpoint che può verificare se un dato numero di telefono esiste su WhatsApp o meno.

L'unico requisito è avere almeno un numero WhatsApp connesso alla piattaforma nel tuo account attuale.

Per maggiori dettagli, consulta la documentazione dell'endpoint API qui.

Prima di verificare se un numero di telefono esiste su WhatsApp, puoi anche convalidare e normalizzare il formato di una lista di numeri di telefono utilizzando l'endpoint di validazione numeri. Questo endpoint valida solo il corretto formato E164, ma non controlla se il numero di telefono esiste effettivamente su WhatsApp.

Nota: il numero di verifiche WhatsApp è limitato al mese in base al tuo piano di abbonamento. Consulta la tabella prezzi per maggiori dettagli sui limiti.

Cerchi altre risposte? Consulta le FAQ estese.

Ulteriori risorse utili

Documentazione API 🖥️

Per maggiori dettagli sull'endpoint API, consulta la documentazione dove troverai tutte le informazioni sui parametri di richiesta accettati, le possibili risposte di successo o errore e esempi di codice pronti all'uso in più linguaggi di programmazione:

https://app.wassenger.com/docs/#tag/Messages/operation/createMessage

Ready to transform your WhatsApp communication?

Start automating your customer interactions today with Wassenger

Get Started Free