Come inviare un’API di WhatsApp con Go

Introduzione

In questo snippet di codice, imparerete come inviare un’API WhatsApp utilizzando Go, per inviare un messaggio di testo, modelli WhatsApp, media, pulsanti interattivi, elenchi, prodotti … ecc, l’account Alvochat è necessario per eseguire i seguenti codici. Create un account se non ne avete uno.

Inviare un modello utilizzando l’API di WhatsApp e Go

package main

import (
	"fmt"
	"strings"
	"net/http"
	"io/ioutil"
    "net/url"
)

func main() {

	apiurl:= "https://api.alvochat.com/instance1199/messages/template"
    data := url.Values{}
    			 data.Set("token", "YourToken")
			 data.Set("to", "16315555555")
			 data.Set("name", "hello_world")
			 data.Set("language", "en_us")
			 data.Set("header", "")
			 data.Set("body", "")
			 data.Set("buttons", "")
			 data.Set("priority", "")

   
	payload := strings.NewReader(data.Encode())

	req, _ := http.NewRequest("POST", apiurl, payload)

	req.Header.Add("content-type", "application/x-www-form-urlencoded")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

 
	fmt.Println(string(body))

}

Inviare un messaggio di testo utilizzando l’API di WhatsApp e Go

package main

import (
	"fmt"
	"strings"
	"net/http"
	"io/ioutil"
    "net/url"
)

func main() {

	apiurl:= "https://api.alvochat.com/instance1199/messages/chat"
    data := url.Values{}
    			 data.Set("token", "YourToken")
			 data.Set("to", "16315555555")
			 data.Set("body", "WhatsApp API on alvochat.com works good")
			 data.Set("priority", "")
			 data.Set("preview_url", "")
			 data.Set("message_id", "")

   
	payload := strings.NewReader(data.Encode())

	req, _ := http.NewRequest("POST", apiurl, payload)

	req.Header.Add("content-type", "application/x-www-form-urlencoded")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

 
	fmt.Println(string(body))

}

Invia immagine

package main

import (
	"fmt"
	"strings"
	"net/http"
	"io/ioutil"
    "net/url"
)

func main() {

	apiurl:= "https://api.alvochat.com/instance1199/messages/image"
    data := url.Values{}
    			 data.Set("token", "YourToken")
			 data.Set("to", "16315555555")
			 data.Set("image", "https://alvochat-example.s3-accelerate.amazonaws.com/image/1.jpeg")
			 data.Set("caption", "image caption")
			 data.Set("priority", "")
			 data.Set("message_id", "")

   
	payload := strings.NewReader(data.Encode())

	req, _ := http.NewRequest("POST", apiurl, payload)

	req.Header.Add("content-type", "application/x-www-form-urlencoded")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

 
	fmt.Println(string(body))

}

Inviare l’audio

package main

import (
	"fmt"
	"strings"
	"net/http"
	"io/ioutil"
    "net/url"
)

func main() {

	apiurl:= "https://api.alvochat.com/instance1199/messages/audio"
    data := url.Values{}
    			 data.Set("token", "YourToken")
			 data.Set("to", "16315555555")
			 data.Set("audio", "https://alvochat-example.s3-accelerate.amazonaws.com/audio/1.mp3")
			 data.Set("priority", "")
			 data.Set("message_id", "")

   
	payload := strings.NewReader(data.Encode())

	req, _ := http.NewRequest("POST", apiurl, payload)

	req.Header.Add("content-type", "application/x-www-form-urlencoded")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

 
	fmt.Println(string(body))

}

Invia il video

package main

import (
	"fmt"
	"strings"
	"net/http"
	"io/ioutil"
    "net/url"
)

func main() {

	apiurl:= "https://api.alvochat.com/instance1199/messages/video"
    data := url.Values{}
    			 data.Set("token", "YourToken")
			 data.Set("to", "16315555555")
			 data.Set("video", "https://alvochat-example.s3-accelerate.amazonaws.com/video/1.mp4")
			 data.Set("caption", "video caption")
			 data.Set("priority", "")
			 data.Set("message_id", "")

   
	payload := strings.NewReader(data.Encode())

	req, _ := http.NewRequest("POST", apiurl, payload)

	req.Header.Add("content-type", "application/x-www-form-urlencoded")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

 
	fmt.Println(string(body))

}

Inviare il documento

package main

import (
	"fmt"
	"strings"
	"net/http"
	"io/ioutil"
    "net/url"
)

func main() {

	apiurl:= "https://api.alvochat.com/instance1199/messages/document"
    data := url.Values{}
    			 data.Set("token", "YourToken")
			 data.Set("to", "16315555555")
			 data.Set("document", "https://alvochat-example.s3-accelerate.amazonaws.com/document/1.pdf")
			 data.Set("filename", "")
			 data.Set("priority", "")
			 data.Set("message_id", "")

   
	payload := strings.NewReader(data.Encode())

	req, _ := http.NewRequest("POST", apiurl, payload)

	req.Header.Add("content-type", "application/x-www-form-urlencoded")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

 
	fmt.Println(string(body))

}

Invia l’adesivo

package main

import (
	"fmt"
	"strings"
	"net/http"
	"io/ioutil"
    "net/url"
)

func main() {

	apiurl:= "https://api.alvochat.com/instance1199/messages/sticker"
    data := url.Values{}
    			 data.Set("token", "YourToken")
			 data.Set("to", "16315555555")
			 data.Set("sticker", "https://alvochat-example.s3-accelerate.amazonaws.com/sticker/1.webp")
			 data.Set("priority", "")
			 data.Set("message_id", "")

   
	payload := strings.NewReader(data.Encode())

	req, _ := http.NewRequest("POST", apiurl, payload)

	req.Header.Add("content-type", "application/x-www-form-urlencoded")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

 
	fmt.Println(string(body))

}

Inviare il contatto

package main

import (
	"fmt"
	"strings"
	"net/http"
	"io/ioutil"
    "net/url"
)

func main() {

	apiurl:= "https://api.alvochat.com/instance1199/messages/contact"
    data := url.Values{}
    			 data.Set("token", "YourToken")
			 data.Set("to", "16315555555")
			 data.Set("contact", "")
			 data.Set("priority", "")
			 data.Set("message_id", "")

   
	payload := strings.NewReader(data.Encode())

	req, _ := http.NewRequest("POST", apiurl, payload)

	req.Header.Add("content-type", "application/x-www-form-urlencoded")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

 
	fmt.Println(string(body))

}

Invia posizione

package main

import (
	"fmt"
	"strings"
	"net/http"
	"io/ioutil"
    "net/url"
)

func main() {

	apiurl:= "https://api.alvochat.com/instance1199/messages/location"
    data := url.Values{}
    			 data.Set("token", "YourToken")
			 data.Set("to", "16315555555")
			 data.Set("lat", "37.484296")
			 data.Set("lng", "-122.148703")
			 data.Set("address", "Menlo Park, California, United States")
			 data.Set("name", "Meta Headquarters")
			 data.Set("priority", "")
			 data.Set("message_id", "")

   
	payload := strings.NewReader(data.Encode())

	req, _ := http.NewRequest("POST", apiurl, payload)

	req.Header.Add("content-type", "application/x-www-form-urlencoded")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

 
	fmt.Println(string(body))

}

Inviare l’elenco

package main

import (
	"fmt"
	"strings"
	"net/http"
	"io/ioutil"
    "net/url"
)

func main() {

	apiurl:= "https://api.alvochat.com/instance1199/messages/list"
    data := url.Values{}
    			 data.Set("token", "YourToken")
			 data.Set("to", "16315555555")
			 data.Set("header", "header")
			 data.Set("body", " please select one of the following options")
			 data.Set("footer", "footer")
			 data.Set("button", "options")
			 data.Set("sections", "option_1,option_2,option_3")
			 data.Set("priority", "")
			 data.Set("message_id", "")

   
	payload := strings.NewReader(data.Encode())

	req, _ := http.NewRequest("POST", apiurl, payload)

	req.Header.Add("content-type", "application/x-www-form-urlencoded")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

 
	fmt.Println(string(body))

}

Pulsante di invio

package main

import (
	"fmt"
	"strings"
	"net/http"
	"io/ioutil"
    "net/url"
)

func main() {

	apiurl:= "https://api.alvochat.com/instance1199/messages/button"
    data := url.Values{}
    			 data.Set("token", "YourToken")
			 data.Set("to", "16315555555")
			 data.Set("header", "header")
			 data.Set("body", " please select one of the following options")
			 data.Set("footer", "footer")
			 data.Set("buttons", "option_1,option_2,option_3")
			 data.Set("priority", "")
			 data.Set("message_id", "")

   
	payload := strings.NewReader(data.Encode())

	req, _ := http.NewRequest("POST", apiurl, payload)

	req.Header.Add("content-type", "application/x-www-form-urlencoded")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

 
	fmt.Println(string(body))

}

Inviare i prodotti

package main

import (
	"fmt"
	"strings"
	"net/http"
	"io/ioutil"
    "net/url"
)

func main() {

	apiurl:= "https://api.alvochat.com/instance1199/messages/product"
    data := url.Values{}
    			 data.Set("token", "YourToken")
			 data.Set("to", "16315555555")
			 data.Set("header", "header")
			 data.Set("body", "Hi , check out our new products")
			 data.Set("footer", "footer")
			 data.Set("catalog_id", "")
			 data.Set("product", "")
			 data.Set("priority", "")
			 data.Set("message_id", "")

   
	payload := strings.NewReader(data.Encode())

	req, _ := http.NewRequest("POST", apiurl, payload)

	req.Header.Add("content-type", "application/x-www-form-urlencoded")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

 
	fmt.Println(string(body))

}

È possibile consultare la documentazione completa dell’API di Whatsapp qui.