NAV Navbar
json cURL php python javascript

Introduction

Bem vindo a documentação da API Onfly, nos utilizamos o padrão REST HTTP, atualmente quase todos nossos endpoints necessitam de autenticação

Autenticação

Nossa autenticação é baseada nos principios OAUTH2. Primeiro é nessessario que você obtenha seu CLIENT ID e CLIENT SECRET para isso basta entrar em contato com nosso atendimento que iremos fornece-la, para conseguir seu token de autenticação envie a seguinte requisição para o endpoint

Requisição:

{
 "grant_type": "client_credentials",
 "scope": "*",
 "client_id": "{{client_id}}",
 "client_secret": "{{client_secret}}"
}
curl --location --request POST 'http://api.onfly.com.br/oauth/token' \
--header 'Content-Type: application/json' \
--data-raw '{
 "grant_type": "client_credentials",
 "scope": "*",
 "client_id": "1",
 "client_secret": "token"
}'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "http://api.onfly.com.br/oauth/token",
  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([
     [
      "grant_type" => "client_credentials",
      "scope" => "*",
      "client_id" => "{{client_id}}",
      "client_secret" => "{{client_secret}}"
     ]
  ])
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
import http.client
import mimetypes
conn = http.client.HTTPSConnection("http://api.onfly.com.br")
payload = "{\r\n \"grant_type\": \"client_credentials\",\r\n \"scope\": \"*\",\r\n \"client_id\": \"1\",\r\n \"client_secret\": \"token\"\r\n}"
headers = {
  'Content-Type': 'application/json'
}
conn.request("POST", "/oauth/token", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
let myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");

let raw = JSON.stringify({"grant_type":"client_credentials","scope":"*","client_id":"1","client_secret":"token"});

let requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("http://api.onfly.com.br/oauth/token", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Resposta:

{
    "token_type": "Bearer",
    "expires_in": 31622400,
    "access_token": "{auth_token}"
}

HTTP Request

POST https://api.onfly.com.br/oauth/token

Corpo da Requisição

Parameter Default Description
grant_type false Tipo de autorização desejada, atualmente nos suportamos apenas "client_credentials"
scope false O escopo de sua autenticação, na nossa versão atual da API aplicamos apenas "*"
client_id false O seu client id adquirido com nossa equipe de tecnologia
client_secret false O seu client secret adquirido com nossa equipe de tecnologia

Nos vamos te responder com um token de autenticação esse token deve ser enviado no HEADER de toda requisição assim como mostrado logo abaixo

Modulo Expense

Despesa

Todo o modulo de despesas vem com a funcionalidade de include objetos por exemplo: Caso eu queria que junto as despesas retorna o usuario que cadastrou ela basta eu colocar o parâmetro include=user na requisição

Busca todas as despesas

Requisição HTTP

GET https://api.onfly.com.br/expense/expenditure

Parâmetros Query

Parâmetro Padrão Obrigatório Descrição
paginate true não Define se os resultados da API ira retornar paginado ou não.
Booleano
page 1 não Caso paginado, aqui é definido o ponteiro da pagina que deseja
Inteiro
include - não As inclusões disponíveis são ["user", "expenditureType", "rdv"]

Mostra uma despesa apenas

Requisição HTTP

GET https://api.onfly.com.br/expense/expenditure/{expenditure_id}

Parâmetros Query

Parâmetro Padrão Obrigatório Descrição
include - Não As inclusões disponíveis são ["user", "expenditureType", "rdv"]

Criar despesa

Requisição:

{
    "date": "2020-01-05",
    "expenditureTypeId": 1,
    "amount" : 3000,
    "description": "Almoço com lead",
    "userId": 1
}
curl --location --request POST 'http://api.onfly.com.br/expense/expenditure' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer token' \
--data-raw '{
    "date": "2020-01-05",
    "expenditureTypeId": 1,
    "amount" : 3000,
    "description": "Almoço com lead",
    "userId": 1
}'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "http://api.onfly.com.br/expense/expenditure",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS =>"{\n\t\"date\": \"2020-01-05\",\n\t\"expenditureTypeId\": 1,\n\t\"amount\" : 3000,\n\t\"description\": \"Almoço com lead\",\n\t\"userId\": 1\n}",
  CURLOPT_HTTPHEADER => array(
    "Content-Type: application/json",
    "Authorization: Bearer token"
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
import http.client
import mimetypes
conn = http.client.HTTPSConnection("http://api.onfly.com.br")
payload = "{\n\t\"date\": \"2020-01-05\",\n\t\"expenditureTypeId\": 1,\n\t\"amount\" : 3000,\n\t\"description\": \"Almoço com lead\",\n\t\"userId\": 1\n}"
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer token'
}
conn.request("POST", "/expense/expenditure", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
let myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer token");

let raw = JSON.stringify({"date":"2020-01-05","expenditureTypeId":1,"amount":3000,"description":"Almoço com lead","userId":1});

let requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("http://api.onfly.com.br/expense/expenditure", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Resposta:

{
    "data": {
        "id": 24,
        "description": "Almoço com lead",
        "date": "2020-01-05",
        "amount": 3000,
        "isReimbursable": true,
        "receipts": [],
        "rdvId": null,
        "userId": 1,
        "expenditureTypeId": 1,
        "createdAt": "2020-01-20 22:23:36",
        "updatedAt": "2020-01-20 22:23:36"
    }
}

Requisição HTTP

POST https://api.onfly.com.br/expense/expenditure

Corpo da Requisição

Parâmetro Padrão Obrigatório Descrição
date - Sim Data que ocorreu a despesa.
Formato: yyyy-mm-dd - Min: Antes do momento de criação
Alpha-Numérico
expenditureTypeId - Sim Tipo da despesa que ocorreu.
Inteiro
amount - Sim Quantidade gasta na despesa.
Min: 1
Inteiro
description - Sim Breve descrição da despesa.
Min: 3 chars - Max: 2000 chars
userId - Sim Usuário que realizou a despesa
Inteiro
rdvId - Não Rdv no qual a despesa será adicionada
Inteiro
isReimbursable true Não Se a empresa é reembolsável ou não
Boleano
include - Sim As inclusões disponíveis são ["user", "expenditureType", "rdv"]

Editar despesa

Só sera possível editar uma despesa caso ela não esteja anexada ao RDV ou que o status de se RDV seja RASCUNHO ou REPROVADO, não é necessário reenviar todos os campos para sua edição por ex: Caso deseja editar somente a data basta enviar apenas o campo date atualizado

Requisição:

{
    "amount" : 5099,
    "description": "Almoço com lead de Pernambuco"
}
curl --location --request POST 'http://api.onfly.com.br/expense/expenditure' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer token' \
--data-raw '{
    "amount" : 5099,
    "description": "Almoço com lead de Pernambuco",
}'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "http://api.onfly.com.br/expense/expenditure",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS =>"{\n\t\"amount\" : 5099,\n\t\"description\": \"Almoço com lead de Pernambuco\"}",
  CURLOPT_HTTPHEADER => array(
    "Content-Type: application/json",
    "Authorization: Bearer token"
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
import http.client
import mimetypes
conn = http.client.HTTPSConnection("http://api.onfly.com.br")
payload = "{\n\t\"amount\" : 5099,\n\t\"description\": \"Almoço com lead de Pernambuco\"}"
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer token'
}
conn.request("POST", "/expense/expenditure", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
let myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer token");

let raw = JSON.stringify({"amount":5099,"description":"Almoço com lead de Pernambuco"});

let requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("http://api.onfly.com.br/expense/expenditure", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Resposta:

{
    "data": {
        "id": 24,
        "description": "Almoço com lead de Pernambuco",
        "date": "2020-01-05",
        "amount": 5099,
        "isReimbursable": true,
        "receipts": [],
        "rdvId": null,
        "userId": 1,
        "expenditureTypeId": 1,
        "createdAt": "2020-01-20 22:23:36",
        "updatedAt": "2020-01-20 22:23:36"
    }
}

Requisição HTTP

PUT https://api.onfly.com.br/expense/expenditure/{expenditureId}

Corpo da Requisição

Parâmetro Padrão Obrigatório Descrição
date - Não Data que ocorreu a despesa.
Formato: yyyy-mm-dd - Min: Antes do momento de criação
Alpha-Numérico
expenditureTypeId - Não Tipo da despesa que ocorreu.
Inteiro
amount - Não Quantidade gasta na despesa.
Min: 1
Inteiro
description - Não Breve descrição da despesa.
Min: 3 chars - Max: 2000 chars
userId - Não Usuário que realizou a despesa
Inteiro
rdvId - Não Rdv no qual a despesa será adicionada
Inteiro
isReimbursable true Não Se a empresa é reembolsável ou não
Booleano
include - Não As inclusões disponíveis são ["user", "expenditureType", "rdv"]

Deletar despesa

Só sera possível deletar uma despesa caso ela não esteja anexada ao RDV ou que o status de se RDV seja RASCUNHO ou REPROVADO.

Requisição HTTP

DELETE https://api.onfly.com.br/expense/expenditure/{expenditureId}

Anexo de comprovantes

Tipos de anexos que aceitam anexos (type)

Para anexar comprovantes em uma despesa por favor veja na documentação Geral/Anexos

Código Descrição
1 Comprovantes de despesa.

Você pode anexar até no maximo 3 arquivos por despesa.
Os seguintes tipos de arquivos são aceitos

Tipos de Despesa

Busca todos os tipos de despesa

Requisição HTTP

GET https://api.onfly.com.br/expense/expenditure-type

Requisição:

{
    "name": "Alimentícia",
    "icon": "mdi-food-fork-drink"
}
curl --location --request POST 'http://api.onfly.com.br/expense/expenditure-type' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer token' \
--data-raw '{
    "name": "Alimentícia",
    "icon": "mdi-food-fork-drink"
}'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "http://api.onfly.com.br/expense/expenditure-type",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS =>"{\r\n\t\"name\": \"Alimentícia\",\r\n\t\"icon\": \"mdi-food-fork-drink\"\r\n}",
  CURLOPT_HTTPHEADER => array(
    "Content-Type: application/json",
    "Authorization: Bearer token"
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

import http.client
import mimetypes
conn = http.client.HTTPSConnection("http://api.onfly.com.br")
payload = "{\r\n\t\"name\": \"Alimentícia\",\r\n\t\"icon\": \"mdi-food-fork-drink\"\r\n}"
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer token'
}
conn.request("POST", "/expense/expenditure-type", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
let myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer token");

let raw = JSON.stringify({"name":"Alimentícia","icon":"mdi-food-fork-drink"});

let requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("http://api.onfly.com.br/expense/expenditure-type", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Resposta:

{
    "data": {
        "id": 11,
        "name": "Alimentícia",
        "icon": "mdi-food-fork-drink",
        "createdAt": "2020-01-20 22:34:39",
        "updatedAt": "2020-01-20 22:34:39"
    }
}

Criar tipo despesa

Requisição HTTP

POST https://api.onfly.com.br/expense/expenditure-type

Corpo da Requisição

Parâmetro Padrão Obrigatório Descrição
name - Sim Nome do tipo de despesa.
Min: 2 chars - Max: 190 chars
Alpha-Numérico - Unico
icon mdi-square-inc-cash Não Icone grafico para representar o tipo, para mais informações leia nesta documentação Geral/Icone.
Alpha-Numérico

Editar tipo despesa

Não é necessário reenviar todos os campos para sua edição por ex: Caso deseja editar somente o nome basta enviar apenas o campo name atualizado

Requisição:

{
    "name": "Alimento"
}
curl --location --request POST 'http://api.onfly.com.br/expense/expenditure-type' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer token' \
--data-raw '{
    "name": "Alimento",
}'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "http://api.onfly.com.br/expense/expenditure-type",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS =>"{\r\n\t\"name\": \"Alimento\"\r\n}",
  CURLOPT_HTTPHEADER => array(
    "Content-Type: application/json",
    "Authorization: Bearer token"
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

import http.client
import mimetypes
conn = http.client.HTTPSConnection("http://api.onfly.com.br")
payload = "{\r\n\t\"name\": \"Alimento\"\r\n}"
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer token'
}
conn.request("POST", "/expense/expenditure-type", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
let myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer token");

let raw = JSON.stringify({"name":"Alimento"});

let requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("http://api.onfly.com.br/expense/expenditure-type", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Resposta:

{
    "data": {
        "id": 12,
        "name": "Alimento",
        "icon": "mdi-food-fork-drink",
        "createdAt": "2020-01-20 22:36:09",
        "updatedAt": "2020-01-20 22:36:09"
    }
}

Requisição HTTP

PUT https://api.onfly.com.br/expense/expenditure-type/{expenditureTypeId}

Corpo da Requisição

Parâmetro Padrão Obrigatório Descrição
name - Não Nome do tipo de despesa.
Min: 2 chars - Max: 190 chars
Alpha-Numérico - Unico
icon mdi-square-inc-cash Não Icone grafico para representar o tipo, para mais informações leia nesta documentação Geral/Icone.
Alpha-Numérico

Deletar tipo despesa

Para deletar o tipo de despesa entre em contato com nosso time de TI.

RDV

Busca todos os RDVs

Esse endpoint busca todos RDvs cadastrados.

HTTP Request

GET https://api.onfly.com.br/expense/rdv

Parâmetros Query

Parâmetro Padrão Obrigatório Descrição
paginate true não Define se os resultados da API ira retornar paginado ou não.
Booleano
page 1 não Caso paginado, aqui é definido o ponteiro da pagina que deseja
Inteiro
include - não As inclusões disponíveis são ['owner','advancePayments', 'expenditures', 'costCenter', 'tags']

Mostra um rdv apenas

HTTP Request

GET https://api.onfly.com.br/expense/rdv/{rdvId}

Parâmetros Query

Parâmetro Padrão Obrigatório Descrição
include - Não As inclusões disponíveis são ['owner','advancePayments', 'expenditures', 'costCenter', 'tags']

Geral

Icones

Busca todos os icones que podem ser utilizados

HTTP Request

GET https://api.onfly.com.br/general/icon

Retorna HTML do icone

HTTP Request

GET https://api.onfly.com.br/general/icon/image/{iconCode}

Anexos

Anexar Arquivo

Envia um arquivo para nosso sistema, esse é a unica requisição em nosso sistema que o tipo é form-data por se tratar de ser upload de arquivo, os tipos aceitos dependem de da entidade no qual o arquivo vai ser anexada para saber mais sobre os tipos de arquivos que aceitam anexos basta ir nesta documentação para Geral/Codigos

Requisição HTTP

PUT https://api.onfly.com.br/general/attachment/{entityType}/{type}/{entityId}

Corpo da Requisição

Parâmetro Padrão Obrigatório Descrição
file - Sim Data que ocorreu a despesa.
Formatos: yyyy-mm-dd - Max: 4 Mb
Alpha-Numérico

Configurações da Empresa

Colaboradores

Busca todos os colaboradores

Requisição HTTP

GET https://api.onfly.com.br/employees

Parâmetros Query

Parâmetro Padrão Obrigatório Descrição
paginate true não Define se os resultados da API ira retornar paginado ou não.
Booleano
page 1 não Caso paginado, aqui é definido o ponteiro da pagina que deseja
Inteiro
include - não A inclusão disponível é ["group"]

Convidar colaborador

Este endpoint cria um colaborador e envia um email de cadastro para que o colaborador possa completar seu cadastro.

Requisição:

{
    "email": "jonhdoe@onfly.com.br",
    "permission": "employee",
    "role": "Desenvolvedor",
    "groupId": 1
}
curl --location --request POST 'http://api.onfly.com.br/employees/invite' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer token' \
--data-raw '{
    "email": "jonhdoe@onfly.com.br",
    "permission": "employee",
    "role": "Desenvolvedor",
    "groupId": 1
}'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "http://api.onfly.com.br/employees/invite",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS =>"{\n\t\"email\": \"jonhdoe@onfly.com.br\",\n\t\"permission\": \"employee\",\n\t\"role\": \"Desenvolvedor\",\n\t\"groupId\": 1\n}",
  CURLOPT_HTTPHEADER => array(
    "Content-Type: application/json",
    "Authorization: Bearer token"
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

import http.client
import mimetypes
conn = http.client.HTTPSConnection("http://api.onfly.com.br")
payload = "{\n\t\"email\": \"jonhdoe@onfly.com.br\",\n\t\"permission\": \"employee\",\n\t\"role\": \"Desenvolvedor\",\n\t\"groupId\": 1\n}"
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer token'
}
conn.request("POST", "/employees/invite", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
let myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer token");

let raw = JSON.stringify({"email":"jonhdoe@onfly.com.br","permission":"employee","role":"Desenvolvedor","groupId":1});

let requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("http://api.onfly.com.br/employees/invite", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Resposta:

{
    "data": {
        "id": 14,
        "name": null,
        "email": "jonhdoe@onfly.com.br",
        "role": "Desenvolvedor",
        "groupId": 1,
        "permission": "employee",
        "createdAt": "2020-01-20 22:43:24",
        "updatedAt": "2020-01-20 22:43:24"
    }
}

Requisição HTTP

POST https://api.onfly.com.br/employees/invite

Corpo da Requisição

Parâmetro Padrão Obrigatório Descrição
email - Sim Email do colaborador.
Max: 240 chars
Alpha-Numérico - Unico
role - Não Função do colaborador dentro de sua empresa.
Min: 3 chars - Max: 240 chars
Alpha-Numérico
permission - Sim Permissão deste colaborador para mais informações veja nesta documentação Geral/Enums/Permissões de usuários.
Alpha-Numérico
groupId - Sim Id do grupo no qual esse usuário pertence.
Inteiro
include - Não A inclusão disponível é ["group"]

Criar colaborador

Requisição:

{
    "name": "John Pass",
    "firstName": "John",    
    "lastName": "Pass", 
    "password": "12345678", 
    "birthday": "1999-01-15",   
    "document": {
        "value": "78060918079",
        "type" : "1"
    },  
    "email": "jonhdoe+2@onfly.com.br",
    "permission": "employee",
    "role": "Desenvolvedor",
    "groupId": 1
}

curl --location --request POST 'http://api.onfly/employees/create' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer token' \
--data-raw '{
    "name": "John Pass",
    "firstName": "John",    
    "lastName": "Pass", 
    "password": "12345678", 
    "birthday": "1999-01-15",   
    "document": {
        "value": "78060918079",
        "type" : "1"
    },  
    "email": "jonhdoe+2@onfly.com.br",
    "permission": "employee",
    "role": "Desenvolvedor",
    "groupId": 1
}'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "http://api.onfly/employees/create",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS =>"{\n\t\"name\": \"John Pass\",\n\t\"firstName\": \"John\",\t\n\t\"lastName\": \"Pass\",\t\n\t\"password\": \"12345678\",\t\n\t\"birthday\": \"1999-01-15\",\t\n\t\"document\": {\n\t\t\"value\": \"78060918079\",\n\t\t\"type\" : \"1\"\n\t},\t\n\t\"email\": \"jonhdoe+2@onfly.com.br\",\n\t\"permission\": \"employee\",\n\t\"role\": \"Desenvolvedor\",\n\t\"groupId\": 1\n}",
  CURLOPT_HTTPHEADER => array(
    "Content-Type: application/json",
    "Authorization: Bearer token"
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

import http.client
import mimetypes
conn = http.client.HTTPSConnection("http://api.onfly")
payload = "{\n\t\"name\": \"John Pass\",\n\t\"firstName\": \"John\",\t\n\t\"lastName\": \"Pass\",\t\n\t\"password\": \"12345678\",\t\n\t\"birthday\": \"1999-01-15\",\t\n\t\"document\": {\n\t\t\"value\": \"78060918079\",\n\t\t\"type\" : \"1\"\n\t},\t\n\t\"email\": \"jonhdoe+2@onfly.com.br\",\n\t\"permission\": \"employee\",\n\t\"role\": \"Desenvolvedor\",\n\t\"groupId\": 1\n}"
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer token'
}
conn.request("POST", "/employees/create", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
let myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer token");

let raw = JSON.stringify({"name":"John Pass","firstName":"John","lastName":"Pass","password":"12345678","birthday":"1999-01-15","document":{"value":"78060918079","type":"1"},"email":"jonhdoe+2@onfly.com.br","permission":"employee","role":"Desenvolvedor","groupId":1});

let requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("http://api.onfly/employees/create", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Resposta:

{
    "data": {
        "id": 15,
        "name": "John Pass",
        "email": "jonhdoe@onfly.com.br",
        "role": "Desenvolvedor",
        "groupId": 1,
        "permission": "employee",
        "createdAt": "2020-01-20 22:46:25",
        "updatedAt": "2020-01-20 22:46:25"
    }
}

Requisição HTTP

POST https://api.onfly.com.br/employees

Corpo da Requisição

Parâmetro Padrão Obrigatório Descrição
email - Sim Email do colaborador.
Max: 240 chars
Alpha-Numérico - Unico
name - Sim Nome completo do colaborador.
Min: 3 chars - Max: 190 chars
Alpha-Numérico
firstName - Sim Primeiro nome do colaborador.
Min: 3 chars - Max: 190 chars
Alpha-Numérico
lastName - Sim Sobrenome do colaborador.
Min: 3 chars - Max: 190 chars
Alpha-Numérico
password - Sim Senha do colaborador.
Min: 8 chars - Max: 240 chars
Alpha-Numérico
birthday - Sim Data de nascimento do colaborador dentro de sua empresa.
Formato: yyyy-mm-dd
Alpha-Numérico
document - Sim Documento do colaborador à ser inserido na plataforma
document.value - Sim Numero do documento do colaborador.
Min: 3 chars
Alpha-Numérico - Unico
document.type - Sim Tipo do documento do colaborador, para ver os tipos aceitos basta ir em /Geral/Enums.
Min: 1 chars
Inteiro
role - Não Função do colaborador dentro de sua empresa.
Min: 3 chars - Max: 240 chars
Alpha-Numérico
permission - Sim Permissão deste colaborador para mais informações veja nesta documentação Geral/Enums/Permissões de usuários.
Alpha-Numérico
groupId - Sim Id do grupo no qual esse usuário pertence.
Inteiro
include - Não A inclusão disponível é ["group"]

Editar colaborador

Não é necessário reenviar todos os campos para sua edição por ex: Caso deseja editar somente o nome basta enviar apenas o campo name atualizado, não é possível atualizar o email e CPF do colaborador através desta API caso se encontre em uma situação que isso seja necessário entre em contato com o nosso time de TI

Requisição:

{
    "permission": "manager",
    "groupId": 2
}
curl --location --request POST 'http://api.onfly.com.br/employees/create' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer token' \
--data-raw '{
    "permission": "manager",
    "groupId": 2
}'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "http://api.onfly.com.br/employees/create",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS =>"{\n\t\"manager\": \"employee\"\n\t\"groupId\": 2\n}",
  CURLOPT_HTTPHEADER => array(
    "Content-Type: application/json",
    "Authorization: Bearer token"
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

import http.client
import mimetypes
conn = http.client.HTTPSConnection("http://api.onfly.com.br")
payload = "{\n\t\"permission\": \"manager\",\n\t\"groupId\": 2\n}"
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer token'
}
conn.request("POST", "/employees/create", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
let myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer token");

let raw = JSON.stringify({"permission":"manager","groupId":2});

let requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("http://api.onfly.com.br/employees/create", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Resposta:

{
    "data": {
        "id": 15,
        "name": "John Doe",
        "email": "jonhdoe@onfly.com.br",
        "role": "Desenvolvedor",
        "groupId": 2,
        "permission": "manager",
        "createdAt": "2020-01-20 22:46:25",
        "updatedAt": "2020-01-20 22:48:09"
    }
}

Requisição HTTP

PUT https://api.onfly.com.br/employees/{employeesId}

Corpo da Requisição

Parâmetro Padrão Obrigatório Descrição
name - Não Nome completo do colaborador.
Min: 3 chars - Max: 190 chars
Alpha-Numérico
firstName - Não Primeiro nome do colaborador.
Min: 3 chars - Max: 190 chars
Alpha-Numérico
lastName - Não Sobrenome do colaborador.
Min: 3 chars - Max: 190 chars
Alpha-Numérico
password - Não Senha do colaborador.
Min: 8 chars - Max: 240 chars
Alpha-Numérico
birthday - Não Data de nascimento do colaborador dentro de sua empresa.
Formato: yyyy-mm-dd
Alpha-Numérico
role - Não Função do colaborador dentro de sua empresa.
Min: 3 chars - Max: 240 chars
Alpha-Numérico
permission - Não Permissão deste colaborador para mais informações veja nesta documentação Geral/Enums/Permissões de usuários.
Alpha-Numérico
groupId - Não Id do grupo no qual esse usuário pertence.
Inteiro
include - Não A inclusão disponível é ["group"]

Grupos

Busca todos os grupos

Requisição HTTP

GET https://api.onfly.com.br/employee-groups

Parâmetros Query

Parâmetro Padrão Obrigatório Descrição
paginate true não Define se os resultados da API ira retornar paginado ou não.
Booleano
page 1 não Caso paginado, aqui é definido o ponteiro da pagina que deseja
Inteiro
include - não A inclusão disponível é ["employees"]

Requisição:

{
    "name": "Operações"
}
curl --location --request POST 'http://api.onfly.com.br/employee-groups' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer token' \
--data-raw '{
    "name": "Operações"
}'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "http://api.onfly.com.br/employee-groups",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS =>"{\n\t\"name\": \"Operações\"\n}",
  CURLOPT_HTTPHEADER => array(
    "Content-Type: application/json",
    "Authorization: Bearer token",
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

import http.client
import mimetypes
conn = http.client.HTTPSConnection("http://api.onfly.com.br")
payload = "{\n\t\"name\": \"Operações\"\n}"
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer token',
}
conn.request("POST", "/employee-groups", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
let myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer token");


let raw = JSON.stringify({"name":"Operações"});

let requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("http://api.onfly.com.br/employee-groups", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Resposta:

{
    "data": {
        "id": 5,
        "name": "Operações",
        "employeesIds": [],
        "createdAt": "2020-01-20 22:54:44",
        "updatedAt": "2020-01-20 22:54:44"
    }
}

Criar grupo

Requisição HTTP

POST https://api.onfly.com.br/employee-groups

Corpo da Requisição

Parâmetro Padrão Obrigatório Descrição
name - Sim Nome do grupo.
Min: 3 chars - Max: 190 chars
Alpha-Numerico - Unico
include - Não A inclusão disponível é ["employees"]

Editar grupo

Não é necessário reenviar todos os campos para sua edição por ex: Caso deseja editar somente a data basta enviar apenas o campo date atualizado

Requisição:

{
    "name": "Vendas"
}
curl --location --request POST 'http://api.onfly.com.br/employee-groups' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer token' \
--data-raw '{
    "name": "Vendas"
}'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "http://api.onfly.com.br/employee-groups",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS =>"{\n\t\"name\": \"Vendas\"\n}",
  CURLOPT_HTTPHEADER => array(
    "Content-Type: application/json",
    "Authorization: Bearer token",
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

import http.client
import mimetypes
conn = http.client.HTTPSConnection("http://api.onfly.com.br")
payload = "{\n\t\"name\": \"Vendas\"\n}"
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer token',
}
conn.request("POST", "/employee-groups", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
let myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer token");


let raw = JSON.stringify({"name":"Vendas"});

let requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("http://api.onfly.com.br/employee-groups", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Resposta:

{
    "data": {
        "id": 5,
        "name": "Vendas",
        "employeesIds": [],
        "createdAt": "2020-01-20 22:54:44",
        "updatedAt": "2020-01-20 22:57:25"
    }
}

Requisição HTTP

PUT https://api.onfly.com.br/employee-groups/{groupId}

Corpo da Requisição

Parâmetro Padrão Obrigatório Descrição
name - Não Nome do grupo.
Min: 3 chars - Max: 190 chars
Alpha-Numerico - Unico
include - Não A inclusão disponível é ["employees"]

Deletar grupo

Requisição HTTP

DELETE https://api.onfly.com.br/employee-groups/{groupId}

Centro de Custo

Busca todos os centros de custo

Requisição HTTP

GET https://api.onfly.com.br/settings/cost-center

Parâmetros Query

Parâmetro Padrão Obrigatório Descrição
paginate true não Define se os resultados da API ira retornar paginado ou não.
Booleano
page 1 não Caso paginado, aqui é definido o ponteiro da pagina que deseja
Inteiro

Requisição:

{
    "name": "SQUAD 200"
}
curl --location --request POST 'http://api.onfly.com.br/settings/cost-center' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer token' \
--data-raw '{
    "name": "SQUAD 200"
}'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "http://api.onfly.com.br/settings/cost-center",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS =>"{\n\t\"name\": \"SQUAD 200\"\n}",
  CURLOPT_HTTPHEADER => array(
    "Content-Type: application/json",
    "Authorization: Bearer token"
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;


import http.client
import mimetypes
conn = http.client.HTTPSConnection("http://api.onfly.com.br")
payload = "{\n\t\"name\": \"SQUAD 200\"\n}"
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer token'
}
conn.request("POST", "/settings/cost-center", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
let myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer token");

let raw = JSON.stringify({"name":"SQUAD 200"});

let requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("http://api.onfly.com.br/settings/cost-center", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Resposta:

{
    "data": {
        "id": 8,
        "name": "SQUAD 200",
        "createdAt": "2020-01-20 23:24:23",
        "updatedAt": "2020-01-20 23:24:23"
    }
}

Criar centro de custo

Requisição HTTP

POST https://api.onfly.com.br/settings/cost-center

Corpo da Requisição

Parâmetro Padrão Obrigatório Descrição
name - Sim Nome do centro de custo.
Min: 2 chars - Max: 190 chars
Alpha-Numérico - Unico

Editar centro de custo

Não é necessário reenviar todos os campos para sua edição por ex: Caso deseja editar somente a data basta enviar apenas o campo date atualizado

Requisição:

{
    "name": "SQUAD 001"
}
curl --location --request POST 'http://api.onfly.com.br/settings/cost-center' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer token' \
--data-raw '{
    "name": "SQUAD 001"
}'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "http://api.onfly.com.br/settings/cost-center",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS =>"{\n\t\"name\": \"SQUAD 001\"\n}",
  CURLOPT_HTTPHEADER => array(
    "Content-Type: application/json",
    "Authorization: Bearer token"
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;


import http.client
import mimetypes
conn = http.client.HTTPSConnection("http://api.onfly.com.br")
payload = "{\n\t\"name\": \"SQUAD 001\"\n}"
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer token'
}
conn.request("POST", "/settings/cost-center", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
let myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer token");

let raw = JSON.stringify({"name":"SQUAD 001"});

let requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("http://api.onfly.com.br/settings/cost-center", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Resposta:

{
    "data": {
        "id": 8,
        "name": "SQUAD 001",
        "createdAt": "2020-01-20 23:24:23",
        "updatedAt": "2020-01-20 23:25:28"
    }
}

Requisição HTTP

PUT https://api.onfly.com.br/settings/cost-center/{costCenterId}

Corpo da Requisição

Parâmetro Padrão Obrigatório Descrição
name - Não Nome do centro de custo.
Min: 2 chars - Max: 190 chars
Alpha-Numérico - Unico

Deletar centro de custo

Para deletar o centro de custo entre em contato com nosso time de TI.

Tag

Busca todas as tags

Requisição HTTP

GET https://api.onfly.com.br/settings/tag

Parâmetros Query

Parâmetro Padrão Obrigatório Descrição
paginate true não Define se os resultados da API ira retornar paginado ou não.
Booleano
page 1 não Caso paginado, aqui é definido o ponteiro da pagina que deseja
Inteiro

Criar tag

Requisição:

{
    "name": "UBER",
    "icon": "mdi-car"
}
curl --location --request POST 'http://api.onfly.com.br/settings/tag' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer token' \
--data-raw '{
    "name": "UBER",
    "icon": "mdi-car"
}'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "http://api.onfly.com.br/settings/tag",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS =>"{\n\t\"name\": \"UBER\",\n\t\"icon\": \"mdi-car\"\n}",
  CURLOPT_HTTPHEADER => array(
    "Content-Type: application/json",
    "Authorization: Bearer token"
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

import http.client
import mimetypes
conn = http.client.HTTPSConnection("http://api.onfly.com.br")
payload = "{\n\t\"name\": \"UBER\",\n\t\"icon\": \"mdi-car\"\n}"
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer token'
}
conn.request("POST", "/settings/tag", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
let myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer token");

let raw = JSON.stringify({"name":"UBER","icon":"mdi-car"});

let requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("http://api.onfly.com.br/settings/tag", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Resposta:

{
    "data": {
        "id": 5,
        "name": "UBER",
        "icon": "mdi-car",
        "iconImageLink": "http://api.onfly.com.br/settings/tag/icon/image/mdi-car",
        "createdAt": "2020-01-20 23:29:59",
        "updatedAt": "2020-01-20 23:29:59"
    }
}

Requisição HTTP

POST https://api.onfly.com.br/settings/tag

Corpo da Requisição

Parâmetro Padrão Obrigatório Descrição
name - Sim Nome da tag.
Min: 2 chars - Max: 190 chars
Alpha-Numérico - Unico
icon mdi-tag Não Icone grafico para representar o centro, para mais informações leia nesta documentação Geral/Icone.
Alpha-Numérico

Editar centro de custo

Não é necessário reenviar todos os campos para sua edição por ex: Caso deseja editar somente a data basta enviar apenas o campo date atualizado

Requisição:

{
    "name": "99"
}
curl --location --request POST 'http://api.onfly.com.br/settings/tag' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer token' \
--data-raw '{
    "name": "99",
}'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "http://api.onfly.com.br/settings/tag",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS =>"{\n\t\"name\": \"99\"\n}",
  CURLOPT_HTTPHEADER => array(
    "Content-Type: application/json",
    "Authorization: Bearer token"
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

import http.client
import mimetypes
conn = http.client.HTTPSConnection("http://api.onfly.com.br")
payload = "{\n\t\"name\": \"99\"\n}"
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer token'
}
conn.request("POST", "/settings/tag", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
let myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer token");

let raw = JSON.stringify({"name":"99"});

let requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("http://api.onfly.com.br/settings/tag", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Resposta:

{
    "data": {
        "id": 6,
        "name": "99",
        "icon": "mdi-car",
        "iconImageLink": "http://api.onfly.com.br/settings/tag/icon/image/mdi-car",
        "createdAt": "2020-01-20 23:30:41",
        "updatedAt": "2020-01-20 23:30:41"
    }
}

Requisição HTTP

PUT https://api.onfly.com.br/settings/tag/{tagId}

Corpo da Requisição

Parâmetro Padrão Obrigatório Descrição
name - Sim Nome da tag.
Min: 2 chars - Max: 190 chars
Alpha-Numérico - Unico
icon mdi-tag Não Icone grafico para representar o centro, para mais informações leia nesta documentação Geral/Icone.
Alpha-Numérico

Deletar tag

Para uma tag entre em contato com nosso time de TI.

Códigos

Permissões de usuários (permissions)

Código Descrição
manager Administrador do sistema, possui todas as permissões.
travel_manager Administrador de viagens, possui as mesmas permissões que employees porem pode comprar para outros colaboradores
employee Colaborador basico, possui a capacidade de gerar despesas e reservar passagens apenas para ele mesmo

Tipos de entidades que aceitam anexos (entityType)

Código Descrição
4 Despesas.

Tipos de documentos aceitos na plataforma (type)

Código Descrição
1 CPF.
2 Passaporte.