Prévia de Importação de Template
curl --request POST \
--url https://api.tess.im/digital-employees/template-packs/preview-import \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-workspace-id: <x-workspace-id>' \
--data '
{
"pack": {},
"target_agent_id": 123,
"collision_strategy": "<string>"
}
'import requests
url = "https://api.tess.im/digital-employees/template-packs/preview-import"
payload = {
"pack": {},
"target_agent_id": 123,
"collision_strategy": "<string>"
}
headers = {
"x-workspace-id": "<x-workspace-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-workspace-id': '<x-workspace-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({pack: {}, target_agent_id: 123, collision_strategy: '<string>'})
};
fetch('https://api.tess.im/digital-employees/template-packs/preview-import', 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.tess.im/digital-employees/template-packs/preview-import",
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([
'pack' => [
],
'target_agent_id' => 123,
'collision_strategy' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-workspace-id: <x-workspace-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.tess.im/digital-employees/template-packs/preview-import"
payload := strings.NewReader("{\n \"pack\": {},\n \"target_agent_id\": 123,\n \"collision_strategy\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-workspace-id", "<x-workspace-id>")
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.tess.im/digital-employees/template-packs/preview-import")
.header("x-workspace-id", "<x-workspace-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"pack\": {},\n \"target_agent_id\": 123,\n \"collision_strategy\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tess.im/digital-employees/template-packs/preview-import")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-workspace-id"] = '<x-workspace-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"pack\": {},\n \"target_agent_id\": 123,\n \"collision_strategy\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyDigital Employees
Prévia de Importação de Template
Valida um template pack e retorna uma prévia do que será importado, incluindo eventuais conflitos.
POST
/
digital-employees
/
template-packs
/
preview-import
Prévia de Importação de Template
curl --request POST \
--url https://api.tess.im/digital-employees/template-packs/preview-import \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-workspace-id: <x-workspace-id>' \
--data '
{
"pack": {},
"target_agent_id": 123,
"collision_strategy": "<string>"
}
'import requests
url = "https://api.tess.im/digital-employees/template-packs/preview-import"
payload = {
"pack": {},
"target_agent_id": 123,
"collision_strategy": "<string>"
}
headers = {
"x-workspace-id": "<x-workspace-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-workspace-id': '<x-workspace-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({pack: {}, target_agent_id: 123, collision_strategy: '<string>'})
};
fetch('https://api.tess.im/digital-employees/template-packs/preview-import', 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.tess.im/digital-employees/template-packs/preview-import",
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([
'pack' => [
],
'target_agent_id' => 123,
'collision_strategy' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-workspace-id: <x-workspace-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.tess.im/digital-employees/template-packs/preview-import"
payload := strings.NewReader("{\n \"pack\": {},\n \"target_agent_id\": 123,\n \"collision_strategy\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-workspace-id", "<x-workspace-id>")
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.tess.im/digital-employees/template-packs/preview-import")
.header("x-workspace-id", "<x-workspace-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"pack\": {},\n \"target_agent_id\": 123,\n \"collision_strategy\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tess.im/digital-employees/template-packs/preview-import")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-workspace-id"] = '<x-workspace-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"pack\": {},\n \"target_agent_id\": 123,\n \"collision_strategy\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyValide um template pack antes de confirmar a importação. Este endpoint realiza uma execução simulada, retornando uma prévia de quais employees seriam criados, atualizados ou ignorados — além de eventuais problemas bloqueantes que impediriam a conclusão da importação.
Exemplos de Código
curl --request POST \
--url 'https://api.tess.im/digital-employees/template-packs/preview-import' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'x-workspace-id: YOUR_WORKSPACE_ID' \
--header 'Content-Type: application/json' \
--data '{
"target_agent_id": 99,
"collision_strategy": "rename",
"pack": {}
}'
const axios = require('axios');
const config = {
method: 'post',
url: 'https://api.tess.im/digital-employees/template-packs/preview-import',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'x-workspace-id': 'YOUR_WORKSPACE_ID',
'Content-Type': 'application/json'
},
data: {
target_agent_id: 99,
collision_strategy: 'rename',
pack: {}
}
};
try {
const response = await axios(config);
console.log(response.data);
} catch (error) {
console.error(error);
}
import requests
url = "https://api.tess.im/digital-employees/template-packs/preview-import"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"x-workspace-id": "YOUR_WORKSPACE_ID",
"Content-Type": "application/json"
}
payload = {
"target_agent_id": 99,
"collision_strategy": "rename",
"pack": {}
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.tess.im/digital-employees/template-packs/preview-import",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'target_agent_id' => 99,
'collision_strategy' => 'rename',
'pack' => (object)[]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer YOUR_API_KEY",
"x-workspace-id: YOUR_WORKSPACE_ID",
"Content-Type: application/json"
]
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
String body = """
{
"target_agent_id": 99,
"collision_strategy": "rename",
"pack": {}
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.tess.im/digital-employees/template-packs/preview-import"))
.header("Authorization", "Bearer YOUR_API_KEY")
.header("x-workspace-id", "YOUR_WORKSPACE_ID")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
payload := strings.NewReader(`{
"target_agent_id": 99,
"collision_strategy": "rename",
"pack": {}
}`)
client := &http.Client{}
req, _ := http.NewRequest("POST",
"https://api.tess.im/digital-employees/template-packs/preview-import",
payload)
req.Header.Add("Authorization", "Bearer YOUR_API_KEY")
req.Header.Add("x-workspace-id", "YOUR_WORKSPACE_ID")
req.Header.Add("Content-Type", "application/json")
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
using System.Net.Http;
using System.Text;
using System.Text.Json;
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer YOUR_API_KEY");
client.DefaultRequestHeaders.Add("x-workspace-id", "YOUR_WORKSPACE_ID");
var payload = new {
target_agent_id = 99,
collision_strategy = "rename",
pack = new {}
};
var content = new StringContent(
JsonSerializer.Serialize(payload),
Encoding.UTF8,
"application/json");
var response = await client.PostAsync(
"https://api.tess.im/digital-employees/template-packs/preview-import",
content);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require 'uri'
require 'net/http'
require 'json'
uri = URI('https://api.tess.im/digital-employees/template-packs/preview-import')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Authorization'] = 'Bearer YOUR_API_KEY'
request['x-workspace-id'] = 'YOUR_WORKSPACE_ID'
request['Content-Type'] = 'application/json'
request.body = {
target_agent_id: 99,
collision_strategy: 'rename',
pack: {}
}.to_json
response = http.request(request)
puts response.read_body
Headers
Inclua sua chave de API no header
Authorization como um Bearer token em todas as requisições.integer
obrigatório
ID do workspace. Obrigatório em todas as requisições da API de Digital Employees.
Corpo da Requisição
object
obrigatório
O payload do template pack obtido em Exportar Template Pack.
integer
obrigatório
ID do agente no qual o template será importado.
string
Como tratar conflitos de nomenclatura com employees existentes. Opções:
skip— mantém os employees existentes e ignora os importados com conflito (padrão)rename— renomeia automaticamente os employees importados para evitar conflitosoverwrite— substitui os employees existentes pela configuração importada
Resposta
Retorna um objeto de prévia descrevendo o que seria criado, atualizado ou ignorado, sem realizar nenhuma alteração.{
"data": {
"employees_to_create": [],
"employees_to_update": [],
"employees_to_skip": [],
"blocking_issues": []
}
}
Erros
422comreason: digital_employee_template_import_blocked— o pack contém problemas bloqueantes que impedem a importação. Verifique o arrayblocking_issuesna resposta para mais detalhes.422— estrutura de pack inválida ou campos obrigatórios ausentes.
⌘I