Sumário


Integração

Neste post vamos lhe mostrar com é fácil integrar seu sistema ao nosso.

Nossa API é do tipo REST, então você já deve saber mais ou menos o que esperar não é mesmo?

Bom então vamos lá...

Limites de requisições / Rate Limit

Devido a questões de relacionamento com o WhatsApp nosso sistema envia no máximo uma mensagem a cada 5 segundos, então configure seu sistema para fazer uma requisição a cada 5 segundos para o nosso sistema, ao exceder este limite suas requisições poderão ser barradas com o código HTTP 429 Too Many Requests

Mensagens

Enviar mensagem


POST https://mkmsgs.iungo.space/enviar-mensagem/[SLUG]

Onde [SLUG] é a identificação do cliente e deve ser alterado de acordo com a informação passada no nosso Painel em Configuraçõesopen in new window

Cada conta no nosso sistema possuí um Slug único.

POST https://mkmsgs.iungo.space/enviar-mensagem/[SLUG]
 

Headers

HeaderObrigatórioValoresDescrição
Content-TypeSimapplication/jsonDefine que o corpo da requisição é do tipo JSON
AuthorizationSimBearer [TOKEN]Informa o Bearer token para permitir o envio de mensagens
AcceptNãoapplication/jsonDefine o tipo do corpo da resposta, caso não seja informado a resposta será do tipo text/plain
POST https://mkmsgs.iungo.space/enviar-mensagem/[SLUG]
Content-Type: application/json
Accept: application/json
Authorization: Bearer [TOKEN]

 
 
 

Corpo da requisição

O corpo da requisição deverá ser no formato JSON e deverá conter os seguintes dados:

ChaveObrigatórioTipoLimiteDescrição
destinatarioSiminteiro15 digitosNúmero de WhatsApp que receberá a mensagem
mensagemSimtexto65 mil caracteresConteúdo da mensagem que será enviada
POST https://mkmsgs.iungo.space/enviar-mensagem/[SLUG]
Content-Type: application/json
Accept: application/json
Authorization: Bearer [TOKEN]

{
  "destinatario": 5500111112222,
  "mensagem": "Olá mundo"
}





 
 
 
 

Exemplos na sua linguagem

HTTP
POST https://mkmsgs.iungo.space/enviar-mensagem/[SLUG]
Content-Type: application/json
Accept: application/json
Authorization: Bearer [TOKEN]

{
  "destinatario": 5500111112222,
  "mensagem": "Olá mundo"
}
GoLang
package main

import (
	"bytes"
	"encoding/json"
	"fmt"
	"net/http"
)

func main() {
	url := "https://mkmsgs.iungo.space/enviar-mensagem/[SLUG]"

	payload := map[string]string{
		"destinatario": "5500111112222",
		"mensagem":     "Olá mundo",
	}

	jsonPayload, err := json.Marshal(payload)
	if err != nil {
		panic(err)
	}

	req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonPayload))
	req.Header.Set("Content-Type", "application/json")
	req.Header.Set("Accept", "application/json")
	req.Header.Set("Authorization", "Bearer [TOKEN]")

	client := &http.Client{}
	resp, err := client.Do(req)
	if err != nil {
		panic(err)
	}
	defer resp.Body.Close()

	fmt.Println("Status:", resp.Status)
}
PHP
<?php
$slug = 'seu-slug-aqui'; // Substitua pelo seu slug real
$token = 'seu-token-aqui'; // Substitua pelo seu token real
$url = 'https://mkmsgs.iungo.space/enviar-mensagem/' . $slug;

$data = [
    'destinatario' => 5500111112222,
    'mensagem' => 'Olá mundo'
];

$headers = [
    'Content-Type: application/json',
    'Accept: application/json',
    'Authorization: Bearer ' . $token
];

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);

if ($response === false) {
    echo 'Erro na requisição: ' . curl_error($ch);
} else {
    echo 'Resposta: ' . $response;
}

curl_close($ch);
?>
cURL
curl -X POST https://mkmsgs.iungo.space/enviar-mensagem/[SLUG] \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer [TOKEN]" \
-d '{
  "destinatario": 5500111112222,
  "mensagem": "Olá mundo"
}'
JavaScript

Atenção!!!

Embora estamos dando um exemplo com JavaScript para frontend, não utilize a integração com o frontend da sua aplicação, faça toda comunicação com nossa API através do backend da sua aplicação para não expor o seu token de acesso.

const url = 'https://mkmsgs.iungo.space/enviar-mensagem/[SLUG]';
const data = {
    destinatario: 5500111112222,
    mensagem: 'Olá mundo'
};

const headers = {
    'Content-Type': 'application/json',
    'Accept': 'application/json',
    'Authorization': 'Bearer [TOKEN]'
};

fetch(url, {
    method: 'POST',
    headers: headers,
    body: JSON.stringify(data)
})
    .then(response => {
        if (!response.ok) {
            throw new Error('Erro na requisição.');
        }
        return response.json();
    })
    .then(data => {
        console.log('Resposta:', data);
    })
    .catch(error => {
        console.error('Erro:', error);
    });
Ruby
require 'net/http'
require 'json'

# Substitua pelo seu token real
token = 'seu-token-aqui'

# Substitua pelo seu slug real
slug = 'seu-slug-aqui'

url = URI.parse("https://mkmsgs.iungo.space/enviar-mensagem/#{slug}")
http = Net::HTTP.new(url.host, url.port)

data = {
  destinatario: 5500111112222,
  mensagem: 'Olá mundo'
}

request = Net::HTTP::Post.new(url.path)
request['Content-Type'] = 'application/json'
request['Accept'] = 'application/json'
request['Authorization'] = "Bearer #{token}"
request.body = data.to_json

response = http.request(request)

if response.is_a?(Net::HTTPSuccess)
  response_data = JSON.parse(response.body)
  puts 'Resposta:', response_data
else
  puts 'Erro na requisição:', response.code, response.message
end
C++
#include <iostream>
#include <string>
#include <curl/curl.h>

struct Dados {
    int destinatario;
    std::string mensagem;
};

int main() {
    CURL *curl;
    CURLcode res;

    std::string token = "seu-token-aqui"; // Substitua pelo seu token real
    std::string slug = "seu-slug-aqui"; // Substitua pelo seu slug real
    std::string url = ("http://mkmsgs.notebook.lo/enviar-mensagem/" + slug).c_str();

    Dados data;
    data.destinatario = 5500111112222;
    data.mensagem = "Olá mundo";

    struct curl_slist *headers = NULL;
    headers = curl_slist_append(headers, "Content-Type: application/json");
    headers = curl_slist_append(headers, "Accept: application/json");
    headers = curl_slist_append(headers, ("Authorization: Bearer " + token).c_str());

    curl = curl_easy_init();
    if (curl) {
        std::string data_str = "destinatario=" + std::to_string(data.destinatario) + "&mensagem=" + data.mensagem;
        curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
        curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data_str.c_str());
        curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);

        res = curl_easy_perform(curl);
        if (res != CURLE_OK) {
            std::cerr << "Erro na requisição cURL: " << curl_easy_strerror(res) << std::endl;
        } else {
            long response_code;
            curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response_code);
            if (response_code == 200) {
                std::cout << "Resposta: " << std::endl;
            } else {
                std::cerr << "Erro na requisição: " << response_code << std::endl;
            }
        }

        curl_easy_cleanup(curl);
    }

    curl_slist_free_all(headers);

    return 0;
}

NodeJS / Axios
const axios = require('axios');

const token = 'seu-token-aqui'; // Substitua pelo seu token real
const slug = 'seu-slug-aqui'; // Substitua pelo seu slug real
const url = 'https://mkmsgs.iungo.space/enviar-mensagem/' + slug;

const data = {
    destinatario: 5500111112222,
    mensagem: 'Olá mundo'
};

const headers = {
    'Content-Type': 'application/json',
    'Accept': 'application/json',
    'Authorization': `Bearer ${token}`
};

axios.post(url, data, {headers})
    .then(response => {
        console.log('Resposta:', response.data);
    })
    .catch(error => {
        console.error('Erro na requisição:', error);
    });
Python
import requests
import json

token = 'seu-token-aqui'  # Substitua pelo seu token real
slug = 'seu-slug-aqui'  # Substitua pelo seu slug real
url = f'https://mkmsgs.iungo.space/enviar-mensagem/{slug}'

data = {
    'destinatario': 5500111112222,
    'mensagem': 'Olá mundo'
}

headers = {
    'Content-Type': 'application/json',
    'Accept': 'application/json',
    'Authorization': f'Bearer {token}'
}

try:
    response = requests.post(url, data=json.dumps(data), headers=headers)
    
    if response.status_code == 200:
        response_data = response.json()
        print('Resposta:', response_data)
    else:
        print('Erro na requisição:', response.status_code)
except Exception as e:
    print('Erro na requisição:', str(e))
Java
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import org.json.JSONObject;

public class Main {
    public static void main(String[] args) {
        try {
            String token = "seu-token-aqui"; // Substitua pelo seu token real
            String slug = "seu-slug-aqui"; // Substitua pelo seu slug real
            String url = "https://mkmsgs.iungo.space/enviar-mensagem/" + slug;

            JSONObject data = new JSONObject();
            data.put("destinatario", 5500111112222L);
            data.put("mensagem", "Olá mundo");

            // Configurar a conexão
            URL obj = new URL(url);
            HttpURLConnection con = (HttpURLConnection) obj.openConnection();
            con.setRequestMethod("POST");
            con.setRequestProperty("Content-Type", "application/json");
            con.setRequestProperty("Accept", "application/json");
            con.setRequestProperty("Authorization", "Bearer " + token);

            // Habilitar envio de dados no corpo da requisição
            con.setDoOutput(true);
            DataOutputStream wr = new DataOutputStream(con.getOutputStream());
            wr.writeBytes(data.toString());
            wr.flush();
            wr.close();

            // Obter a resposta
            int responseCode = con.getResponseCode();
            if (responseCode == HttpURLConnection.HTTP_OK) {
                BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
                String inputLine;
                StringBuilder response = new StringBuilder();

                while ((inputLine = in.readLine()) != null) {
                    response.append(inputLine);
                }
                in.close();

                // Imprimir a resposta
                System.out.println("Resposta: " + response.toString());
            } else {
                System.out.println("Erro na requisição: " + responseCode);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Aviso

Esses exemplos foram criados por inteligência artificial, os mesmos devem ser revisados por você.


Respostas

Corpo de resposta

Quando o cabeçalho Accept for definido como application/json o corpo da resposta será um JSON com a seguinte estrutura:

ChaveTipoDescrição
statusbooleanEm caso de sucesso será true em caso de falha false
msgtextoConterá o aviso de sucesso ou o motivo do erro

Códigos HTTP de resposta

Status codeStatusDescrição
201CreatedSua requisição foi executada com sucesso e sua mensagem está na fila de envio
400Bad RequestAlguma informação está errada, verifique detalhes no corpo da resposta
404Not FoundCaso você obtenha o código 404 provavelmente a URL ou endpoint estão errados
429Too Many RequestsSeu sistema está fazendo requisições de forma excessiva, faça uma requisição a cada 5 segundos

Exemplos de resposta

application/json
{
  "status": true,
  "msg": "OK! Mensagem adicionada a fila de envio."
}
{
  "status": false,
  "msg": "Número telefônico inválido, número iniciado em zero pelas regras da Anatel são 0300, 0500, 0800 e 0900."
}
text/plain
OK! Mensagem adicionada a fila de envio.
Número telefônico inválido, número iniciado em zero pelas regras da Anatel são 0300, 0500, 0800 e 0900.
Last Updated: