curl --request POST \
--url https://api.salvy.com.br/api/v2/virtual-phone-accounts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"areaCode": 11,
"employeeId": "0140a8c6-3815-45b7-9e60-8e137cad845c",
"name": "Meu Número Virtual",
"costCenter": "marketing",
"customFields": [
{
"label": "Departamento",
"value": "Vendas"
}
]
}
'import requests
url = "https://api.salvy.com.br/api/v2/virtual-phone-accounts"
payload = {
"areaCode": 11,
"employeeId": "0140a8c6-3815-45b7-9e60-8e137cad845c",
"name": "Meu Número Virtual",
"costCenter": "marketing",
"customFields": [
{
"label": "Departamento",
"value": "Vendas"
}
]
}
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({
areaCode: 11,
employeeId: '0140a8c6-3815-45b7-9e60-8e137cad845c',
name: 'Meu Número Virtual',
costCenter: 'marketing',
customFields: [{label: 'Departamento', value: 'Vendas'}]
})
};
fetch('https://api.salvy.com.br/api/v2/virtual-phone-accounts', 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/v2/virtual-phone-accounts",
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([
'areaCode' => 11,
'employeeId' => '0140a8c6-3815-45b7-9e60-8e137cad845c',
'name' => 'Meu Número Virtual',
'costCenter' => 'marketing',
'customFields' => [
[
'label' => 'Departamento',
'value' => 'Vendas'
]
]
]),
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/v2/virtual-phone-accounts"
payload := strings.NewReader("{\n \"areaCode\": 11,\n \"employeeId\": \"0140a8c6-3815-45b7-9e60-8e137cad845c\",\n \"name\": \"Meu Número Virtual\",\n \"costCenter\": \"marketing\",\n \"customFields\": [\n {\n \"label\": \"Departamento\",\n \"value\": \"Vendas\"\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.salvy.com.br/api/v2/virtual-phone-accounts")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"areaCode\": 11,\n \"employeeId\": \"0140a8c6-3815-45b7-9e60-8e137cad845c\",\n \"name\": \"Meu Número Virtual\",\n \"costCenter\": \"marketing\",\n \"customFields\": [\n {\n \"label\": \"Departamento\",\n \"value\": \"Vendas\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.salvy.com.br/api/v2/virtual-phone-accounts")
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 \"areaCode\": 11,\n \"employeeId\": \"0140a8c6-3815-45b7-9e60-8e137cad845c\",\n \"name\": \"Meu Número Virtual\",\n \"costCenter\": \"marketing\",\n \"customFields\": [\n {\n \"label\": \"Departamento\",\n \"value\": \"Vendas\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "0140a8c6-3815-45b7-9e60-8e137cad845c",
"name": "Meu Número Virtual",
"phoneNumber": "+551151231234",
"status": "pending",
"createdAt": "2023-11-07T05:31:56Z",
"canceledAt": "2023-11-07T05:31:56Z",
"cancelReason": "<string>",
"costCenter": "marketing",
"employeeId": "0140a8c6-3815-45b7-9e60-8e137cad845c",
"customFields": [
{
"label": "<string>",
"type": "text",
"value": "<string>"
}
]
}{
"code": "unauthorized",
"message": "<string>",
"publicDetails": {}
}{
"code": "forbidden",
"message": "<string>",
"publicDetails": {}
}{
"code": "resource-not-found",
"message": "<string>",
"publicDetails": {}
}{
"code": "did-area-code-out-of-stock",
"message": "<string>",
"publicDetails": {}
}{
"code": "payload-too-large",
"message": "<string>",
"publicDetails": {}
}{
"code": "input-validation-error",
"message": "<string>",
"publicDetails": {}
}{
"code": "unknown",
"message": "<string>",
"publicDetails": {}
}Criar número virtual
Cria um novo número virtual móvel.
curl --request POST \
--url https://api.salvy.com.br/api/v2/virtual-phone-accounts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"areaCode": 11,
"employeeId": "0140a8c6-3815-45b7-9e60-8e137cad845c",
"name": "Meu Número Virtual",
"costCenter": "marketing",
"customFields": [
{
"label": "Departamento",
"value": "Vendas"
}
]
}
'import requests
url = "https://api.salvy.com.br/api/v2/virtual-phone-accounts"
payload = {
"areaCode": 11,
"employeeId": "0140a8c6-3815-45b7-9e60-8e137cad845c",
"name": "Meu Número Virtual",
"costCenter": "marketing",
"customFields": [
{
"label": "Departamento",
"value": "Vendas"
}
]
}
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({
areaCode: 11,
employeeId: '0140a8c6-3815-45b7-9e60-8e137cad845c',
name: 'Meu Número Virtual',
costCenter: 'marketing',
customFields: [{label: 'Departamento', value: 'Vendas'}]
})
};
fetch('https://api.salvy.com.br/api/v2/virtual-phone-accounts', 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/v2/virtual-phone-accounts",
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([
'areaCode' => 11,
'employeeId' => '0140a8c6-3815-45b7-9e60-8e137cad845c',
'name' => 'Meu Número Virtual',
'costCenter' => 'marketing',
'customFields' => [
[
'label' => 'Departamento',
'value' => 'Vendas'
]
]
]),
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/v2/virtual-phone-accounts"
payload := strings.NewReader("{\n \"areaCode\": 11,\n \"employeeId\": \"0140a8c6-3815-45b7-9e60-8e137cad845c\",\n \"name\": \"Meu Número Virtual\",\n \"costCenter\": \"marketing\",\n \"customFields\": [\n {\n \"label\": \"Departamento\",\n \"value\": \"Vendas\"\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.salvy.com.br/api/v2/virtual-phone-accounts")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"areaCode\": 11,\n \"employeeId\": \"0140a8c6-3815-45b7-9e60-8e137cad845c\",\n \"name\": \"Meu Número Virtual\",\n \"costCenter\": \"marketing\",\n \"customFields\": [\n {\n \"label\": \"Departamento\",\n \"value\": \"Vendas\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.salvy.com.br/api/v2/virtual-phone-accounts")
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 \"areaCode\": 11,\n \"employeeId\": \"0140a8c6-3815-45b7-9e60-8e137cad845c\",\n \"name\": \"Meu Número Virtual\",\n \"costCenter\": \"marketing\",\n \"customFields\": [\n {\n \"label\": \"Departamento\",\n \"value\": \"Vendas\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "0140a8c6-3815-45b7-9e60-8e137cad845c",
"name": "Meu Número Virtual",
"phoneNumber": "+551151231234",
"status": "pending",
"createdAt": "2023-11-07T05:31:56Z",
"canceledAt": "2023-11-07T05:31:56Z",
"cancelReason": "<string>",
"costCenter": "marketing",
"employeeId": "0140a8c6-3815-45b7-9e60-8e137cad845c",
"customFields": [
{
"label": "<string>",
"type": "text",
"value": "<string>"
}
]
}{
"code": "unauthorized",
"message": "<string>",
"publicDetails": {}
}{
"code": "forbidden",
"message": "<string>",
"publicDetails": {}
}{
"code": "resource-not-found",
"message": "<string>",
"publicDetails": {}
}{
"code": "did-area-code-out-of-stock",
"message": "<string>",
"publicDetails": {}
}{
"code": "payload-too-large",
"message": "<string>",
"publicDetails": {}
}{
"code": "input-validation-error",
"message": "<string>",
"publicDetails": {}
}{
"code": "unknown",
"message": "<string>",
"publicDetails": {}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Código de área (DDD) associado ao número virtual.
11
ID do colaborador associado ao número virtual.
"0140a8c6-3815-45b7-9e60-8e137cad845c"
Nome do número virtual. Utilize para facilitar a gestão dos números virtuais.
"Meu Número Virtual"
Centro de custo associado ao número virtual.
"marketing"
Campos customizados associados ao número virtual. Os campos devem ser criados previamente no dashboard da Salvy; labels inexistentes serão ignorados.
Show child attributes
Show child attributes
[
{
"label": "Departamento",
"value": "Vendas"
}
]
Response
A valid UUID string, in any version.
"123e4567-e89b-12d3-a456-426614174000"
"123e4567-e89b-12d3-a456-426614174001"
Nome do número virtual. Utilize para facilitar a gestão dos números virtuais.
"Meu Número Virtual"
Número virtual recém-criado, formatado conforme o padrão internacional E.164.
"+5511999999999"
"+551139999999"
pending, active, blocked, canceled Centro de custo associado ao número virtual.
"marketing"
ID do colaborador associado ao número virtual.
"0140a8c6-3815-45b7-9e60-8e137cad845c"
Campos customizados associados ao número virtual.
Show child attributes
Show child attributes