cURL
curl --request POST \
--url https://api.interacto.io/message/document \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--header 'Instance-Id: <instance-id>' \
--data '
{
"to": "5511999999999",
"media": {
"url": "https://example.com/document.pdf",
"caption": "Exemplo de descrição"
},
"delay": 2,
"typing": 8,
"priority": 2,
"tags": [
"urgente",
"lead"
],
"metadata": {
"leadId": "1234533"
}
}
'import requests
url = "https://api.interacto.io/message/document"
payload = {
"to": "5511999999999",
"media": {
"url": "https://example.com/document.pdf",
"caption": "Exemplo de descrição"
},
"delay": 2,
"typing": 8,
"priority": 2,
"tags": ["urgente", "lead"],
"metadata": { "leadId": "1234533" }
}
headers = {
"Instance-Id": "<instance-id>",
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'Instance-Id': '<instance-id>',
Authorization: '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
to: '5511999999999',
media: {url: 'https://example.com/document.pdf', caption: 'Exemplo de descrição'},
delay: 2,
typing: 8,
priority: 2,
tags: ['urgente', 'lead'],
metadata: {leadId: '1234533'}
})
};
fetch('https://api.interacto.io/message/document', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.interacto.io/message/document",
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([
'to' => '5511999999999',
'media' => [
'url' => 'https://example.com/document.pdf',
'caption' => 'Exemplo de descrição'
],
'delay' => 2,
'typing' => 8,
'priority' => 2,
'tags' => [
'urgente',
'lead'
],
'metadata' => [
'leadId' => '1234533'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json",
"Instance-Id: <instance-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.interacto.io/message/document"
payload := strings.NewReader("{\n \"to\": \"5511999999999\",\n \"media\": {\n \"url\": \"https://example.com/document.pdf\",\n \"caption\": \"Exemplo de descrição\"\n },\n \"delay\": 2,\n \"typing\": 8,\n \"priority\": 2,\n \"tags\": [\n \"urgente\",\n \"lead\"\n ],\n \"metadata\": {\n \"leadId\": \"1234533\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Instance-Id", "<instance-id>")
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.interacto.io/message/document")
.header("Instance-Id", "<instance-id>")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"to\": \"5511999999999\",\n \"media\": {\n \"url\": \"https://example.com/document.pdf\",\n \"caption\": \"Exemplo de descrição\"\n },\n \"delay\": 2,\n \"typing\": 8,\n \"priority\": 2,\n \"tags\": [\n \"urgente\",\n \"lead\"\n ],\n \"metadata\": {\n \"leadId\": \"1234533\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.interacto.io/message/document")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Instance-Id"] = '<instance-id>'
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"to\": \"5511999999999\",\n \"media\": {\n \"url\": \"https://example.com/document.pdf\",\n \"caption\": \"Exemplo de descrição\"\n },\n \"delay\": 2,\n \"typing\": 8,\n \"priority\": 2,\n \"tags\": [\n \"urgente\",\n \"lead\"\n ],\n \"metadata\": {\n \"leadId\": \"1234533\"\n }\n}"
response = http.request(request)
puts response.read_body{
"statusCode": 201,
"message": "request successful",
"data": {
"id": "66b3c041eac929f51c6f160f",
"instanceId": "66a09db606fd14660c8fc1d0",
"to": "551198888888",
"midia": {
"url": "https://example.com/document.pdf",
"caption": "Check out this document!"
},
"sended": true,
"priority": 123,
"timestamp": "2023-11-07T05:31:56Z",
"metadata": {}
}
}Endpoints
Documento
O endpoint /message/document é utilizado para enviar uma mensagem contendo um documento para um número de telefone especificado. Além do conteúdo do documento, você pode adicionar opções como atraso no envio, tempo de digitação simulado, prioridade, tags, e metadados adicionais.
POST
/
message
/
document
cURL
curl --request POST \
--url https://api.interacto.io/message/document \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--header 'Instance-Id: <instance-id>' \
--data '
{
"to": "5511999999999",
"media": {
"url": "https://example.com/document.pdf",
"caption": "Exemplo de descrição"
},
"delay": 2,
"typing": 8,
"priority": 2,
"tags": [
"urgente",
"lead"
],
"metadata": {
"leadId": "1234533"
}
}
'import requests
url = "https://api.interacto.io/message/document"
payload = {
"to": "5511999999999",
"media": {
"url": "https://example.com/document.pdf",
"caption": "Exemplo de descrição"
},
"delay": 2,
"typing": 8,
"priority": 2,
"tags": ["urgente", "lead"],
"metadata": { "leadId": "1234533" }
}
headers = {
"Instance-Id": "<instance-id>",
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'Instance-Id': '<instance-id>',
Authorization: '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
to: '5511999999999',
media: {url: 'https://example.com/document.pdf', caption: 'Exemplo de descrição'},
delay: 2,
typing: 8,
priority: 2,
tags: ['urgente', 'lead'],
metadata: {leadId: '1234533'}
})
};
fetch('https://api.interacto.io/message/document', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.interacto.io/message/document",
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([
'to' => '5511999999999',
'media' => [
'url' => 'https://example.com/document.pdf',
'caption' => 'Exemplo de descrição'
],
'delay' => 2,
'typing' => 8,
'priority' => 2,
'tags' => [
'urgente',
'lead'
],
'metadata' => [
'leadId' => '1234533'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json",
"Instance-Id: <instance-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.interacto.io/message/document"
payload := strings.NewReader("{\n \"to\": \"5511999999999\",\n \"media\": {\n \"url\": \"https://example.com/document.pdf\",\n \"caption\": \"Exemplo de descrição\"\n },\n \"delay\": 2,\n \"typing\": 8,\n \"priority\": 2,\n \"tags\": [\n \"urgente\",\n \"lead\"\n ],\n \"metadata\": {\n \"leadId\": \"1234533\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Instance-Id", "<instance-id>")
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.interacto.io/message/document")
.header("Instance-Id", "<instance-id>")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"to\": \"5511999999999\",\n \"media\": {\n \"url\": \"https://example.com/document.pdf\",\n \"caption\": \"Exemplo de descrição\"\n },\n \"delay\": 2,\n \"typing\": 8,\n \"priority\": 2,\n \"tags\": [\n \"urgente\",\n \"lead\"\n ],\n \"metadata\": {\n \"leadId\": \"1234533\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.interacto.io/message/document")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Instance-Id"] = '<instance-id>'
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"to\": \"5511999999999\",\n \"media\": {\n \"url\": \"https://example.com/document.pdf\",\n \"caption\": \"Exemplo de descrição\"\n },\n \"delay\": 2,\n \"typing\": 8,\n \"priority\": 2,\n \"tags\": [\n \"urgente\",\n \"lead\"\n ],\n \"metadata\": {\n \"leadId\": \"1234533\"\n }\n}"
response = http.request(request)
puts response.read_body{
"statusCode": 201,
"message": "request successful",
"data": {
"id": "66b3c041eac929f51c6f160f",
"instanceId": "66a09db606fd14660c8fc1d0",
"to": "551198888888",
"midia": {
"url": "https://example.com/document.pdf",
"caption": "Check out this document!"
},
"sended": true,
"priority": 123,
"timestamp": "2023-11-07T05:31:56Z",
"metadata": {}
}
}Notas
Certifique-se de que o número do destinatário esteja no formato internacional (E.164). O tempo de atraso e a simulação de digitação são úteis para criar uma experiência mais natural de envio de mensagens, especialmente em aplicações onde o realismo na comunicação é importante.Atenção!
Recomendamos fortemente que você utilize as opções dedelay ou typing ao enviar múltiplas mensagens em sequência. O envio de mensagens em grande volume sem essas configurações pode resultar no bloqueio temporário ou permanente de sua conta no WhatsApp. Use essas opções para garantir uma experiência mais natural e segura na plataforma.Authorizations
API Key needed to access the endpoints
Headers
Unique identifier for the instance
Body
application/json
Destinatário da mensagem
Example:
"5511999999999"
Informações do documento
Show child attributes
Show child attributes
Atraso opcional para envio da mensagem em segundos
Example:
2
Atraso opcional de digitação em segundos
Example:
8
Prioridade opcional da mensagem em inteiro
Example:
2
Array opcional de tags
Example:
["urgente", "lead"]
Objeto opcional de metadados
Example:
{ "leadId": "1234533" }
⌘I