curl --request POST \
--url https://api.salvy.com.br/api/v3/phone-account-groups \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Vendas SP",
"color": "cyan"
}
'import requests
url = "https://api.salvy.com.br/api/v3/phone-account-groups"
payload = {
"name": "Vendas SP",
"color": "cyan"
}
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({name: 'Vendas SP', color: 'cyan'})
};
fetch('https://api.salvy.com.br/api/v3/phone-account-groups', 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.salvy.com.br/api/v3/phone-account-groups",
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([
'name' => 'Vendas SP',
'color' => 'cyan'
]),
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.salvy.com.br/api/v3/phone-account-groups"
payload := strings.NewReader("{\n \"name\": \"Vendas SP\",\n \"color\": \"cyan\"\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.salvy.com.br/api/v3/phone-account-groups")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Vendas SP\",\n \"color\": \"cyan\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.salvy.com.br/api/v3/phone-account-groups")
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 \"name\": \"Vendas SP\",\n \"color\": \"cyan\"\n}"
response = http.request(request)
puts response.read_body{
"id": "0198c2f1-3815-45b7-9e60-8e137cad845c",
"name": "Vendas SP",
"color": "cyan"
}{
"id": "0198c2f1-3815-45b7-9e60-8e137cad845c",
"name": "Vendas SP",
"color": "cyan"
}{
"code": "idempotency-parameters-mismatch-error",
"message": "<string>"
}{
"code": "unauthorized",
"message": "<string>"
}{
"code": "forbidden",
"message": "<string>"
}{
"code": "resource-not-found",
"message": "<string>"
}{
"code": "payload-too-large",
"message": "<string>"
}{
"code": "input-validation-error",
"message": "<string>",
"details": [
{
"key": "<string>",
"message": "<string>"
}
]
}{
"code": "unknown",
"message": "<string>"
}Criar grupo de linhas
Cria um grupo de linhas — o mesmo efeito de cadastrá-lo pelo painel. Responde 201 com o grupo criado. Quando a empresa já tem um grupo com o mesmo nome, nada é criado nem alterado: responde 200 com o grupo existente, com a cor que ele já tinha.
curl --request POST \
--url https://api.salvy.com.br/api/v3/phone-account-groups \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Vendas SP",
"color": "cyan"
}
'import requests
url = "https://api.salvy.com.br/api/v3/phone-account-groups"
payload = {
"name": "Vendas SP",
"color": "cyan"
}
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({name: 'Vendas SP', color: 'cyan'})
};
fetch('https://api.salvy.com.br/api/v3/phone-account-groups', 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.salvy.com.br/api/v3/phone-account-groups",
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([
'name' => 'Vendas SP',
'color' => 'cyan'
]),
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.salvy.com.br/api/v3/phone-account-groups"
payload := strings.NewReader("{\n \"name\": \"Vendas SP\",\n \"color\": \"cyan\"\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.salvy.com.br/api/v3/phone-account-groups")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Vendas SP\",\n \"color\": \"cyan\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.salvy.com.br/api/v3/phone-account-groups")
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 \"name\": \"Vendas SP\",\n \"color\": \"cyan\"\n}"
response = http.request(request)
puts response.read_body{
"id": "0198c2f1-3815-45b7-9e60-8e137cad845c",
"name": "Vendas SP",
"color": "cyan"
}{
"id": "0198c2f1-3815-45b7-9e60-8e137cad845c",
"name": "Vendas SP",
"color": "cyan"
}{
"code": "idempotency-parameters-mismatch-error",
"message": "<string>"
}{
"code": "unauthorized",
"message": "<string>"
}{
"code": "forbidden",
"message": "<string>"
}{
"code": "resource-not-found",
"message": "<string>"
}{
"code": "payload-too-large",
"message": "<string>"
}{
"code": "input-validation-error",
"message": "<string>",
"details": [
{
"key": "<string>",
"message": "<string>"
}
]
}{
"code": "unknown",
"message": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Idempotency key for this request. Will return the same response if the same request is made again with the same key. Fails if parameters are different.
Body
Nome do grupo de linhas. Único na empresa, sem diferenciar maiúsculas, minúsculas e acentos: "Vendas SP" e "vendas sp" são o mesmo grupo.
1 - 60"Vendas SP"
Cor do grupo de linhas. Quando omitida, é "cyan".
cyan, red, purple, lime, yellow, pink "cyan"
Response
Identificador único do grupo de linhas.
"123e4567-e89b-12d3-a456-426614174000"
"123e4567-e89b-12d3-a456-426614174001"
Nome do grupo de linhas.
"Vendas SP"
Cor do grupo de linhas. Nulo quando o grupo usa uma cor fora da paleta disponível.
cyan, red, purple, lime, yellow, pink "cyan"