curl --request POST \
--url https://api.salvy.com.br/api/v3/cost-centers \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"code": "ENG-01",
"name": "Engenharia",
"status": "active",
"responsibleEmployeeId": "0197aa3e-3815-45b7-9e60-8e137cad845c"
}
'import requests
url = "https://api.salvy.com.br/api/v3/cost-centers"
payload = {
"code": "ENG-01",
"name": "Engenharia",
"status": "active",
"responsibleEmployeeId": "0197aa3e-3815-45b7-9e60-8e137cad845c"
}
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({
code: 'ENG-01',
name: 'Engenharia',
status: 'active',
responsibleEmployeeId: '0197aa3e-3815-45b7-9e60-8e137cad845c'
})
};
fetch('https://api.salvy.com.br/api/v3/cost-centers', 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/cost-centers",
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([
'code' => 'ENG-01',
'name' => 'Engenharia',
'status' => 'active',
'responsibleEmployeeId' => '0197aa3e-3815-45b7-9e60-8e137cad845c'
]),
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/cost-centers"
payload := strings.NewReader("{\n \"code\": \"ENG-01\",\n \"name\": \"Engenharia\",\n \"status\": \"active\",\n \"responsibleEmployeeId\": \"0197aa3e-3815-45b7-9e60-8e137cad845c\"\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/cost-centers")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"code\": \"ENG-01\",\n \"name\": \"Engenharia\",\n \"status\": \"active\",\n \"responsibleEmployeeId\": \"0197aa3e-3815-45b7-9e60-8e137cad845c\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.salvy.com.br/api/v3/cost-centers")
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 \"code\": \"ENG-01\",\n \"name\": \"Engenharia\",\n \"status\": \"active\",\n \"responsibleEmployeeId\": \"0197aa3e-3815-45b7-9e60-8e137cad845c\"\n}"
response = http.request(request)
puts response.read_body{
"id": "0198c2f1-3815-45b7-9e60-8e137cad845c",
"companyId": "0198c2f1-3815-45b7-9e60-8e137cad845c",
"code": "ENG-01",
"name": "Engenharia",
"status": "active",
"responsibleEmployee": {
"id": "0197aa3e-3815-45b7-9e60-8e137cad845c",
"fullName": "Maria Souza",
"workEmail": "maria.souza@empresa.com.br"
}
}{
"code": "idempotency-parameters-mismatch-error",
"message": "<string>"
}{
"code": "unauthorized",
"message": "<string>"
}{
"code": "forbidden",
"message": "<string>"
}{
"code": "resource-not-found",
"message": "<string>"
}{
"code": "cost-center-code-already-exists",
"message": "<string>"
}{
"code": "payload-too-large",
"message": "<string>"
}{
"code": "input-validation-error",
"message": "<string>",
"details": [
{
"key": "<string>",
"message": "<string>"
}
]
}{
"code": "unknown",
"message": "<string>"
}Criar centro de custo
Cria um novo centro de custo — o mesmo efeito de cadastrá-lo pelo painel.
curl --request POST \
--url https://api.salvy.com.br/api/v3/cost-centers \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"code": "ENG-01",
"name": "Engenharia",
"status": "active",
"responsibleEmployeeId": "0197aa3e-3815-45b7-9e60-8e137cad845c"
}
'import requests
url = "https://api.salvy.com.br/api/v3/cost-centers"
payload = {
"code": "ENG-01",
"name": "Engenharia",
"status": "active",
"responsibleEmployeeId": "0197aa3e-3815-45b7-9e60-8e137cad845c"
}
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({
code: 'ENG-01',
name: 'Engenharia',
status: 'active',
responsibleEmployeeId: '0197aa3e-3815-45b7-9e60-8e137cad845c'
})
};
fetch('https://api.salvy.com.br/api/v3/cost-centers', 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/cost-centers",
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([
'code' => 'ENG-01',
'name' => 'Engenharia',
'status' => 'active',
'responsibleEmployeeId' => '0197aa3e-3815-45b7-9e60-8e137cad845c'
]),
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/cost-centers"
payload := strings.NewReader("{\n \"code\": \"ENG-01\",\n \"name\": \"Engenharia\",\n \"status\": \"active\",\n \"responsibleEmployeeId\": \"0197aa3e-3815-45b7-9e60-8e137cad845c\"\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/cost-centers")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"code\": \"ENG-01\",\n \"name\": \"Engenharia\",\n \"status\": \"active\",\n \"responsibleEmployeeId\": \"0197aa3e-3815-45b7-9e60-8e137cad845c\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.salvy.com.br/api/v3/cost-centers")
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 \"code\": \"ENG-01\",\n \"name\": \"Engenharia\",\n \"status\": \"active\",\n \"responsibleEmployeeId\": \"0197aa3e-3815-45b7-9e60-8e137cad845c\"\n}"
response = http.request(request)
puts response.read_body{
"id": "0198c2f1-3815-45b7-9e60-8e137cad845c",
"companyId": "0198c2f1-3815-45b7-9e60-8e137cad845c",
"code": "ENG-01",
"name": "Engenharia",
"status": "active",
"responsibleEmployee": {
"id": "0197aa3e-3815-45b7-9e60-8e137cad845c",
"fullName": "Maria Souza",
"workEmail": "maria.souza@empresa.com.br"
}
}{
"code": "idempotency-parameters-mismatch-error",
"message": "<string>"
}{
"code": "unauthorized",
"message": "<string>"
}{
"code": "forbidden",
"message": "<string>"
}{
"code": "resource-not-found",
"message": "<string>"
}{
"code": "cost-center-code-already-exists",
"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
Código do centro de custo definido pela empresa.
1"ENG-01"
Nome do centro de custo.
1"Engenharia"
Situação do centro de custo: "active" (em uso) ou "disabled" (desativado pela empresa). Quando omitido, o centro de custo nasce "active".
active, disabled "active"
ID do colaborador responsável pelo centro de custo.
"0197aa3e-3815-45b7-9e60-8e137cad845c"
Response
Identificador único do centro de custo.
"123e4567-e89b-12d3-a456-426614174000"
"123e4567-e89b-12d3-a456-426614174001"
ID da empresa dona do centro de custo.
"123e4567-e89b-12d3-a456-426614174000"
"123e4567-e89b-12d3-a456-426614174001"
Código do centro de custo definido pela empresa. Nulo quando o centro de custo não tem código.
"ENG-01"
Nome do centro de custo.
"Engenharia"
Situação do centro de custo: "active" (em uso) ou "disabled" (desativado pela empresa).
active, disabled "active"
Colaborador responsável pelo centro de custo. Nulo quando não há responsável definido.
Show child attributes
Show child attributes