curl --request POST \
--url https://api.nuvia.ai/v1/messages/send-video \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"conversationId": "<string>",
"message": {
"content": "<string>",
"contentType": "VIDEO",
"attachment": "<string>",
"quoteSourceId": "<string>",
"contentAttributes": {
"inReplyToExternalId": "<string>"
}
}
}
'import requests
url = "https://api.nuvia.ai/v1/messages/send-video"
payload = {
"conversationId": "<string>",
"message": {
"content": "<string>",
"contentType": "VIDEO",
"attachment": "<string>",
"quoteSourceId": "<string>",
"contentAttributes": { "inReplyToExternalId": "<string>" }
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
conversationId: '<string>',
message: {
content: '<string>',
contentType: 'VIDEO',
attachment: '<string>',
quoteSourceId: '<string>',
contentAttributes: {inReplyToExternalId: '<string>'}
}
})
};
fetch('https://api.nuvia.ai/v1/messages/send-video', 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.nuvia.ai/v1/messages/send-video",
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([
'conversationId' => '<string>',
'message' => [
'content' => '<string>',
'contentType' => 'VIDEO',
'attachment' => '<string>',
'quoteSourceId' => '<string>',
'contentAttributes' => [
'inReplyToExternalId' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.nuvia.ai/v1/messages/send-video"
payload := strings.NewReader("{\n \"conversationId\": \"<string>\",\n \"message\": {\n \"content\": \"<string>\",\n \"contentType\": \"VIDEO\",\n \"attachment\": \"<string>\",\n \"quoteSourceId\": \"<string>\",\n \"contentAttributes\": {\n \"inReplyToExternalId\": \"<string>\"\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.nuvia.ai/v1/messages/send-video")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"conversationId\": \"<string>\",\n \"message\": {\n \"content\": \"<string>\",\n \"contentType\": \"VIDEO\",\n \"attachment\": \"<string>\",\n \"quoteSourceId\": \"<string>\",\n \"contentAttributes\": {\n \"inReplyToExternalId\": \"<string>\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.nuvia.ai/v1/messages/send-video")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"conversationId\": \"<string>\",\n \"message\": {\n \"content\": \"<string>\",\n \"contentType\": \"VIDEO\",\n \"attachment\": \"<string>\",\n \"quoteSourceId\": \"<string>\",\n \"contentAttributes\": {\n \"inReplyToExternalId\": \"<string>\"\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"content": "<string>",
"content_type": "TEXT",
"message_type": "INCOMING",
"status": "SENT",
"conversation": "<unknown>",
"inbox": "<unknown>",
"contact": "<unknown>",
"company": "<unknown>",
"_id": "<string>",
"additional_attributes": "<unknown>",
"sender_type": "CONTACT",
"source_id": "<string>",
"user": "<unknown>",
"attachments": [
"<unknown>"
],
"errors": [
{
"code": "<string>",
"title": "<string>",
"message": "<string>"
}
],
"createdAt": "<unknown>",
"updatedAt": "<unknown>"
}Send video
Sends a video message to a conversation. Requires an attachment created beforehand. Can optionally quote another message from the same conversation with quoteSourceId, which is the id of the message ON THE CHANNEL (wamid on Meta, key.id on Evolution, message_id on Unipile), not Nuvia’s _id.
curl --request POST \
--url https://api.nuvia.ai/v1/messages/send-video \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"conversationId": "<string>",
"message": {
"content": "<string>",
"contentType": "VIDEO",
"attachment": "<string>",
"quoteSourceId": "<string>",
"contentAttributes": {
"inReplyToExternalId": "<string>"
}
}
}
'import requests
url = "https://api.nuvia.ai/v1/messages/send-video"
payload = {
"conversationId": "<string>",
"message": {
"content": "<string>",
"contentType": "VIDEO",
"attachment": "<string>",
"quoteSourceId": "<string>",
"contentAttributes": { "inReplyToExternalId": "<string>" }
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
conversationId: '<string>',
message: {
content: '<string>',
contentType: 'VIDEO',
attachment: '<string>',
quoteSourceId: '<string>',
contentAttributes: {inReplyToExternalId: '<string>'}
}
})
};
fetch('https://api.nuvia.ai/v1/messages/send-video', 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.nuvia.ai/v1/messages/send-video",
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([
'conversationId' => '<string>',
'message' => [
'content' => '<string>',
'contentType' => 'VIDEO',
'attachment' => '<string>',
'quoteSourceId' => '<string>',
'contentAttributes' => [
'inReplyToExternalId' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.nuvia.ai/v1/messages/send-video"
payload := strings.NewReader("{\n \"conversationId\": \"<string>\",\n \"message\": {\n \"content\": \"<string>\",\n \"contentType\": \"VIDEO\",\n \"attachment\": \"<string>\",\n \"quoteSourceId\": \"<string>\",\n \"contentAttributes\": {\n \"inReplyToExternalId\": \"<string>\"\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.nuvia.ai/v1/messages/send-video")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"conversationId\": \"<string>\",\n \"message\": {\n \"content\": \"<string>\",\n \"contentType\": \"VIDEO\",\n \"attachment\": \"<string>\",\n \"quoteSourceId\": \"<string>\",\n \"contentAttributes\": {\n \"inReplyToExternalId\": \"<string>\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.nuvia.ai/v1/messages/send-video")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"conversationId\": \"<string>\",\n \"message\": {\n \"content\": \"<string>\",\n \"contentType\": \"VIDEO\",\n \"attachment\": \"<string>\",\n \"quoteSourceId\": \"<string>\",\n \"contentAttributes\": {\n \"inReplyToExternalId\": \"<string>\"\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"content": "<string>",
"content_type": "TEXT",
"message_type": "INCOMING",
"status": "SENT",
"conversation": "<unknown>",
"inbox": "<unknown>",
"contact": "<unknown>",
"company": "<unknown>",
"_id": "<string>",
"additional_attributes": "<unknown>",
"sender_type": "CONTACT",
"source_id": "<string>",
"user": "<unknown>",
"attachments": [
"<unknown>"
],
"errors": [
{
"code": "<string>",
"title": "<string>",
"message": "<string>"
}
],
"createdAt": "<unknown>",
"updatedAt": "<unknown>"
}Authorizations
Token JWT de autenticação
Headers
Target company identifier. Required only for global API keys (type=global). Ignored for company API keys and human users.
Body
Response
Video sent
Message content
Content type: TEXT, IMAGE, AUDIO, VIDEO, DOCUMENT, TEMPLATE, etc.
TEXT, CARDS, AUDIO, VIDEO, IMAGE, DOCUMENT, CONTACTS, LOCATION, TEMPLATE, STICKER, UNSUPPORTED Message type: INCOMING, OUTGOING, ACTIVITY
INCOMING, OUTGOING, ACTIVITY Message status: SENT, DELIVERED, READ, FAILED
SENT, DELIVERED, READ, FAILED Conversation associated with the message
Message's inbox
Message's contact
Message's company
Message ID
Additional message attributes
Sender type: CONTACT, USER, BOT, SYSTEM
CONTACT, USER, BOT, SYSTEM Message ID in the external platform
User who sent the message
Message attachments
List of errors associated with the message
Show child attributes
Show child attributes
Message creation date
Message update date