https://api.movidesk.com/public/v1
Consumo de contrato de horas
URL: /timeAgreementConsumption Métodos: GET
Layout
timeAgreementConsumption
Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
---|---|---|---|---|
id | string | 64 | Número do consumo de contrato de horas (somente leitura). Esse ID corresponde ao registro de fechamento do período. Em períodos abertos, o ID retornado é zero, pois o fechamento ainda não foi gerado | |
name | string | 128 | ✓ | Nome do contrato de horas |
startPeriod | DateTime | 19 | ✓ | Início do período (formato 2019-10-01T00:00:00). Propriedade referente ao campo "period", utilizada apenas como filtro para buscar mais de um período |
endPeriod | DateTime | 19 | Fim do período. Propriedade referente ao campo "period", utilizada apenas como filtro para buscar mais de um período | |
baseAmount | decimal | 18,2 | Valor base do contrato | |
exceededHourAmount | decimal | Valor total de horas excedentes | ||
renewalDay | int | 2 | Dia de renovação do contrato de horas | |
contractedHours | int | Horas contratadas | ||
differentiateHoursFranchise | bool | Informa se diferencia horas da franquia por atividade | ||
differentiateHoursConsumption | bool | Usada para diferenciar franquia de horas e valores por atividade e tipos de hora | ||
period | time | Período do apontamento de horas. | ||
consumedHours | double | Horas consumidas no contrato de horas. Este valor é exibido somente quando o período está fechado | ||
discount | decimal | 18,2 | Desconto no contrato de horas | |
discountType | int | 1 | Percent = 0, Curency =1 | |
timeAppointments | appointments | Lista com os apontamentos de horas do contrato de horas. ver documentação | ||
expenses | expenses | Lista com as despesas do contrato de horas. ver documentação | ||
clients | person | Lista com os clientes do contrato de horas. ver documentação |
Consumo de contrato de horas > Clientes
timeAgreementConsumption.client[n]
Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
---|---|---|---|---|
id | string | 64 | ✓ | Id (Cod. ref.) da empresa, departamento ou pessoa relacionado como cliente do ticket (Somente leitura). |
businessName | string | 128 | Nome do cliente (Somente leitura). | |
string | 128 | E-mail principal do cliente (Somente leitura). | ||
phone | string | 128 | Telefone principal do cliente (Somente leitura). | |
personType | int | 1 | ✓ | Pessoa = 1, Empresa = 2, Departamento = 4 (Somente leitura). |
profileType | int | 1 | ✓ | Agente = 1, Cliente = 2, Agente e Cliente = 3 (Somente leitura). |
isDeleted | bool | Verdadeiro se o cliente foi deletado (Somente leitura). | ||
organization | person | Organização do cliente (Somente leitura). ver documentação |
Consumo de contrato de horas » Apontamentos de horas
timeAgreementConsumption.timeAppointments[n]
Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
---|---|---|---|---|
id | int | * | Id (Código) do apontamento (Somente leitura). *Deve ser informado quando necessário alterar o apontamento já existente. | |
activity | string | 128 | ✓ | Deve ser uma atividade cadastrada previamente no sistema. |
date | datetime | ✓ | Deve conter a data com as horas zeradas Ex: 2016-08-24T00:00:00. | |
periodStart | time | * | Período inicial do apontamento. Ex: 08:00:00. *Obrigatório quando determinado via parametrização. | |
periodEnd | time | * | Período final do apontamento. Ex: 12:00:00. *Obrigatório quando determinado via parametrização. | |
workTime | time | * | Tempo total do apontamento. Ex: 04:00:00. *Obrigatório quando determinado via parametrização. | |
workTypeName | string | ✓ | Tipo do horário apontado. | |
createdBy | person | ✓ | Dados da pessoa que realizou o apontamento. ver documentação | |
createdByTeam | team | * | Dados da equipe da pessoa que apontou a despesa. ver documentação |
Consumo de contrato de horas » Despesas
timeAgreementConsumption.expenses[n]
Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
---|---|---|---|---|
id | int | 1 | Campo Identificador único da Despesa. | |
type | string | 128 | ✓ | Descrição do Tipo de Despesa relacionado ao apontamento. |
serviceReport | string | 128 | Número do Relatório de Serviço emitido contendo a despesa. Somente Leitura. | |
createdBy | person | 128 | ✓ | Dados da pessoa que realizou o apontamento da despesa. ver documentação |
createdByTeam | team | 128 | Dados da equipe da pessoa que apontou a despesa. ver documentação | |
date |
datetime UTC |
✓ | Data de criação da pessoa. Deve ser menor ou igual a data atual. A data informada deve estar no formato UTC*. | |
quantity | int | 1 | * | Quantidade de apontamento. *Obrigatório quando não informado o campo value. |
value | decimal | 18,2 | * |
Valor em moeda apontado. *Obrigatório quando não informado o campo quantity. |
Person
timeAgreementConsumption.timeAppointments[n].createdBy
timeAgreementConsumption.expenses[n].createdBy
timeAgreementConsumption.clients[n].organization
Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
---|---|---|---|---|
id | string | 64 | ✓ | Id (Cod. ref.) da organização (Somente leitura). |
businessName | string | 128 | Nome da organização (Somente leitura). | |
string | 128 | E-mail principal da organização (Somente leitura). | ||
phone | string | 128 | Telefone principal da organização (Somente leitura). | |
personType | int | 1 | Tipo da pessoa: Pessoa = 1, Empresa = 2, Departamento = 4 (Somente leitura). | |
profileType | int | 1 | Perfil da pessoa: Agente = 1, Cliente = 2, Agente e Cliente = 3 (Somente leitura). |
Team
timeAgreementConsumption.timeAppointments[n].createdByTeam
timeAgreementConsumption.expenses[n].createdByTeam
Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
---|---|---|---|---|
id | int | ✓ | Id (Cod. ref.) do time (Somente leitura). | |
name | string | 128 | Nome do time (Somente leitura). |
Trabalhando com os dados
Para ter acesso aos dados é necessário que previamente seja gerada uma chave para a API
Para gerar uma chave para a API (token), acesse ao Movidesk, vá em Configurações / Conta / Parâmetros e na guia ambiente clique no botão "Gerar nova chave" caso ainda não tenha uma criada.
Você poderá repetir essa operação sempre que quiser gerar uma nova chave de acesso, mas lembre-se que ao gerar uma nova chave, todos os programas que utilizarem a chave antiga irão parar de funcionar.
Todo o fluxo de dados (Visualização) devem possuir o formato JSON conforme exemplo abaixo:
{
"id": 1,
"name": "contrato",
"baseAmount": 0,
"exceededHourAmount": 0,
"renewalDay": 5,
"contractedHours": 30,
"differentiateHoursFranchise": false,
"differentiateHoursConsumption": false,
"period": "2018-12-01T00:00:00",
"consumedHours": 1,
"discount": null,
"discountType": null,
"timeAppointments": [
{
"id": 222,
"activity": "Atividade",
"date": "2018-12-19T00:00:00",
"periodStart": "10:41:00",
"periodEnd": "11:41:00",
"workTime": "01:00:00",
"workTypeName": "Extra",
"createdBy": {
"id": "571AE126-101B-43C7",
"personType": 1,
"profileType": 3,
"businessName": "Luiz",
"email": "email@movidesk.com",
"phone": "47983232821",
"address": null,
"complement": null,
"cep": null,
"city": null,
"bairro": null,
"number": null,
"reference": null
},
"createdByTeam": {
"id": 1755,
"name": "Nome"
},
"ticketNumber": "98868",
"actionNumber": 83
}
],
"expenses": [
{
"id": 74,
"type": "tipo",
"serviceReport": "0",
"createdBy": {
"id": "571AE126-101B-43C7",
"personType": 1,
"profileType": 3,
"businessName": "Tatiana ",
"email": "andre.vargas@movidesk.com",
"phone": "47-84211821",
"address": null,
"complement": null,
"cep": null,
"city": null,
"bairro": null,
"number": null,
"reference": null
},
"createdByTeam": null,
"date": "2018-12-18T00:00:00",
"quantity": 14,
"value": 70
}
],
"clients": [
{
"id": "123",
"personType": 2,
"profileType": 2,
"businessName": "Maria",
"email": maria@gmail.com,
"phone": 48996888222,
"isDeleted": false,
"organization": null,
"address": null,
"complement": null,
"cep": null,
"city": null,
"bairro": null,
"number": null,
"reference": null
},
{
"id": "312",
"personType": 2,
"profileType": 2,
"businessName": "João",
"email": joao@gmail.com,
"phone": 48996338222,
"isDeleted": false,
"organization": null,
"address": null,
"complement": null,
"cep": null,
"city": null,
"bairro": null,
"number": null,
"reference": null
}
]
}
Obtendo dados
Método GET
Obtendo um único contrato de horas
GET: /timeAgreementConsumption
Parâmetros: name, token
Exemplo:
Obtendo o contrato com o id 1
GET: https://api.movidesk.com/public/v1/timeAgreementConsumption?token=448f8647-50cb-47e2-995c-b2bbe474486a&name&startPeriod=periodoinicial&endPeriod=periodofinal
Retorno:
{ "id": 1,
"name": "contrato",
"baseAmount": 0,
"exceededHourAmount": 0,
"renewalDay": 5,
"contractedHours": 30,
... Demais colunas no formato do layout acima }
Obtendo uma lista de contratos de horas
GET: /timeAgreementConsumption
Parametros: token, $select
Exemplo:
Obtendo uma lista de contratos de horas(é obrigatório o uso da cláusula $select)
GET: https://api.movidesk.com/public/v1/timeAgreementConsumption?token=52ee6ca5-8639-422b-bafe-470013c11176&$select=name,renewalDay
Retorno:
[
{
"name": "contrato",
"renewalDay": "5"
},
{
"name": "contrato2",
"renewalDay": "10"
}
... Demais itens da lista
]
Obtendo os contratos de horas com filtros
GET: /timeAgreementConsumption
Para permitir e simplificar consultas com filtros, a API utiliza o protocolo aberto OData. Os filtros possíveis são:
Parâmetros: token, $select
• $filter: a expressão especificada com esse filtro é avaliada para cada item do retorno da consulta e somente os itens em que o resultado da expressão for verdadeiro serão incluídos no retorno final;
• $orderby: permite que os itens do retorno da consulta sejam ordenados de forma ascendente (asc) ou descendente (desc). Se não for especificado asc ou desc, o padrão será asc;
• $top: permite especificar o número de itens que devem ser incluídos no retorno da consulta;
• $skip: permite especificar a quantidade de itens que devem ser ignorados e não incluídos no retorno da consulta;
• $select: permite especificar propriedades especificas dos itens que devem ser preenchidas no retorno da consulta;
• $expand: permite expandir as coleções filhas dos itens consultados.
Exemplos:
Obtendo o nome e o dia de renovação dos contratos de horas que possuam o número de horas contratadas maior do que 30:
GET: https://api.movidesk.com/public/v1/timeAgreementConsumption?token=52ee6ca5-8639-422b-bafe-470013c11176&$select=name,renewalDay&$filter=contractedHours gt 30
Retorno:
[
{
"name": "contrato3",
"renewalDay": "9"
},
{
"name": "contrato5",
"renewalDay": "11"
}
]
Obtendo o id, nome e dia de renovação dos contratos de horas que possuam o número de horas contratadas maior do que 30 e ordenados de forma descendente em relação ao nome:
GET: https://api.movidesk.com/public/v1/timeAgreementConsumption?token=52ee6ca5-8639-422b-bafe-470013c11176&$select=id,name,renewalDay&$filter=contractedHours gt 30&$orderby=id desc
Retorno:
[ {
"id": "29",
"name": "contrato3",
"renewalDay": "9"
},
{
"id": "20",
"name": "contrato5",
"renewalDay": "11"
}, ... Demais itens da lista que possuam as horas contratadas maior do que 30 e ordenados de forma descendente em relação ao id ]