Cómo enviar una API de WhatsApp usando Go

Introducción

En este fragmento de código, se aprende cómo enviar una API de WhatsApp usando Go, para enviar un mensaje de texto, plantillas de WhatsApp, medios de comunicación, botones interactivos, listas, productos … etc, Alvochat cuenta es necesaria para ejecutar los siguientes códigos. Crea una cuenta si no la tienes.

Envíe la plantilla utilizando la API de WhatsApp y 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))

}

Enviar un mensaje de texto con la API de WhatsApp y 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))

}

Enviar imagen

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))

}

Enviar 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))

}

Enviar vídeo

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))

}

Enviar 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))

}

Enviar pegatina

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))

}

Enviar contacto

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))

}

Enviar ubicación

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))

}

Enviar lista

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))

}

Botón de envío

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))

}

Enviar productos

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))

}

Puede ver la documentación completa de la API de Whatsapp aquí.