As nossas API's permitem até 10 requisições por minuto. Para aumentar esse limite, entre em contato com o suporte. Saiba mais sobre horários e limites das API's.
⚠️Atenção: Na API de Tickets, após 3 requisições com erro, o código 429 - Too many failed requests será retornado, bloqueando requisições por 60 segundos. Esse tempo sobra após mais 3 erros consecutivos. O tempo de espera está no parâmetro retry-after do header da resposta.
https://api.movidesk.com/public/v1
Tickets
URL: /tickets Métodos: GET / POST / PATCH
Tickets/Past
URL: /tickets/past Métodos: GET
⚠️Atenção: A rota /tickets traz os tickets com a data de atualização (lastupdate) inferior a 90 dias. Tickets que possuem uma data de atualização mais antiga devem ser buscados na rota /tickets/past. A quantidade máxima de retorno em um GET de lista de tickets será de 100 tickets por página.
Layout
ticket
Propriedade | Tipo | Tamanho | Obrigatório | Descrição | ||||||||||||||||||||||||||||||||
id | string | 10 |
| Número do ticket (somente leitura). | ||||||||||||||||||||||||||||||||
protocol | string | 30 |
| Protocolo do ticket (somente leitura). *Caso não utilizado será apresentado como null. | ||||||||||||||||||||||||||||||||
type | int | 1 | ✓ | Tipo do ticket. 1 = Interno 2 = Público. | ||||||||||||||||||||||||||||||||
subject | string | 350 |
| Assunto do ticket. | ||||||||||||||||||||||||||||||||
category | string | 128 |
| Nome da categoria do ticket. Deve ser informada uma categoria existente e que esteja relacionada ao tipo e ao serviço (caso este esteja informado) do ticket. | ||||||||||||||||||||||||||||||||
urgency | string | 128 |
| Nome da urgência do ticket. Deve ser informada uma urgência existente e que esteja relacionada a categoria (caso esta esteja informada no ticket). | ||||||||||||||||||||||||||||||||
status | string | 128 | * | Nome do status do ticket. Para alterar esse campo deve ser também informada a justificativa. O status deve ser um existente e que esteja relacionado ao tipo do ticket. *Caso não informado, será utilizado o status base Novo padrão. | ||||||||||||||||||||||||||||||||
baseStatus | string | 128 |
| Nome do status base do ticket (Somente leitura). New, | ||||||||||||||||||||||||||||||||
justification | string | 128 |
| Nome da justificativa do ticket. Deve ser informada uma justificativa existente que esteja relacionada ao status do ticket. O preenchimento desse campo é obrigatório quando o status do ticket o exigir. Para alterar esse campo deve ser também informado o status. | ||||||||||||||||||||||||||||||||
origin | int | 1 |
| Canal de abertura do ticket (Somente leitura).
| ||||||||||||||||||||||||||||||||
createdDate | datetime UTC | 7 | * | Data de abertura do ticket. A data informada deve estar no formato UTC*. *Caso não for informada, será preenchida com a data atual. Somente leitura após a criação. | ||||||||||||||||||||||||||||||||
originEmailAccount | string | 128 |
| Conta de e-mail na qual o ticket foi recebido (Somente leitura). | ||||||||||||||||||||||||||||||||
owner | person |
|
| Dados do responsável pelo ticket. Para alterar esse campo deve ser informada também a equipe do responsável pelo ticket. | ||||||||||||||||||||||||||||||||
ownerTeam | string | 128 |
| Equipe do responsável pelo ticket. Para alterar esse campo deve ser informado também o responsável pelo ticket. Caso o responsável pelo ticket esteja informado, a equipe do responsável deve estar associada a ele. | ||||||||||||||||||||||||||||||||
createdBy | person |
| ✓ | Dados do gerador do ticket. | ||||||||||||||||||||||||||||||||
serviceFull | array | 1024 |
| Lista com os nomes dos níveis do serviço selecionado no ticket (Somente leitura). | ||||||||||||||||||||||||||||||||
serviceFirstLevelId | int | 10 |
| Id (Código) do serviço selecionado no ticket. | ||||||||||||||||||||||||||||||||
serviceFirstLevel | string | 1024 |
| Nome do primeiro nível do serviço selecionado no ticket (Somente leitura). Nome do serviço que está selecionado no ticket. | ||||||||||||||||||||||||||||||||
serviceSecondLevel | string | 1024 |
| Nome do segundo nível do serviço selecionado no ticket (Somente leitura). | ||||||||||||||||||||||||||||||||
serviceThirdLevel | string | 1024 |
| Nome do terceiro nível do serviço selecionado no ticket (Somente leitura). Nome do serviço de primeiro nível. | ||||||||||||||||||||||||||||||||
contactForm | string | 128 |
| Nome do formulário de contato através do qual o ticket foi aberto (Somente leitura). | ||||||||||||||||||||||||||||||||
tags | array |
|
| Lista de strings com as TAGs as quais o ticket esta relacionado. Caso sejam informadas TAGs inexistentes, as mesmas serão adicionadas na base de dados. | ||||||||||||||||||||||||||||||||
cc | string | 1024 |
| Relação dos e-mails informados no campo Cc, separados por vírgula (Somente leitura). | ||||||||||||||||||||||||||||||||
resolvedIn | datetime UTC |
|
| Data na qual o ticket foi indicado pelo agente como resolvido. A data informada deve estar no formato UTC. | ||||||||||||||||||||||||||||||||
reopenedIn | datetime UTC |
|
| Data na qual o ticket teve a ultima reabertura (Somente leitura). | ||||||||||||||||||||||||||||||||
closedIn | datetime UTC |
|
| Data na qual o ticket foi indicado como fechado. A data informada deve estar no formato UTC. | ||||||||||||||||||||||||||||||||
lastActionDate | datetime UTC |
|
| Data UTC da última ação do ticket (Somente leitura). | ||||||||||||||||||||||||||||||||
actionCount | int |
|
| Quantidade de ações do ticket (Somente leitura). | ||||||||||||||||||||||||||||||||
lastUpdate | datetime UTC |
|
| Data UTC da ultima alteração do ticket (Somente leitura). | ||||||||||||||||||||||||||||||||
lifetimeWorkingTime | int |
|
| Tempo de vida do ticket em minutos em horas úteis desde a abertura (Somente leitura). | ||||||||||||||||||||||||||||||||
stoppedTime | int |
|
| Tempo que o ticket ficou no status parado em minutos em horas corridas (Somente leitura). | ||||||||||||||||||||||||||||||||
stoppedTimeWorkingTime | int |
|
| Tempo que o ticket ficou no status parado em minutos em horas úteis (Somente leitura). | ||||||||||||||||||||||||||||||||
resolvedInFirstCall | bool |
|
| Indicador que representa se o ticket foi resolvido já no momento da abertura ou num momento posterior (Somente leitura). | ||||||||||||||||||||||||||||||||
chatWidget | string | 128 |
| Aplicativo de chat através do qual o ticket foi aberto (Somente leitura). | ||||||||||||||||||||||||||||||||
chatGroup | string | 128 |
| Grupo de chat através do qual o ticket foi aberto (Somente leitura). | ||||||||||||||||||||||||||||||||
chatTalkTime | int |
|
| Tempo de duração do chat em segundos (Somente leitura). | ||||||||||||||||||||||||||||||||
chatWaitingTime | int |
|
| Tempo que o cliente ficou aguardando para ser atendido em segundos (Somente leitura). | ||||||||||||||||||||||||||||||||
slaAgreement | string | 128 |
| Contrato SLA utilizado no ticket (Somente leitura). | ||||||||||||||||||||||||||||||||
slaAgreementRule | string | 128 |
| Regra do contrato SLA (Somente leitura). | ||||||||||||||||||||||||||||||||
slaSolutionTime | int |
|
| Tempo de solução do contrato SLA (Somente leitura). | ||||||||||||||||||||||||||||||||
slaResponseTime | int |
|
| Tempo de resposta do contrato SLA (Somente leitura). | ||||||||||||||||||||||||||||||||
slaSolutionChangedByUser | bool |
|
| Indica se o contrato SLA foi manualmente alterado pelo usuário (Somente leitura). | ||||||||||||||||||||||||||||||||
slaSolutionChangedBy | person |
|
| Dados da pessoa que alterou o contrato SLA (Somente leitura). | ||||||||||||||||||||||||||||||||
slaSolutionDate | datetime UTC |
|
| Data de solução do SLA. Caso informado, será considerado que o SLA foi manualmente alterado pelo usuário que criou a ação. A data informada deve estar no formato UTC. | ||||||||||||||||||||||||||||||||
slaSolutionDateIsPaused | bool |
|
| Indica se a data de solução do SLA está pausada (Somente leitura). | ||||||||||||||||||||||||||||||||
slaResponseDate | datetime UTC |
|
| Data UTC de resposta do SLA (Somente leitura). | ||||||||||||||||||||||||||||||||
slaRealResponseDate | datetime UTC |
|
| Data UTC real da resposta do SLA (Somente leitura). | ||||||||||||||||||||||||||||||||
clients | person |
| ✓ | Lista com os clientes do ticket. | ||||||||||||||||||||||||||||||||
actions | actions |
| ✓ | Lista com as ações do ticket. | ||||||||||||||||||||||||||||||||
parentTickets | parentTickets |
|
| Lista com os tickets pais. | ||||||||||||||||||||||||||||||||
childrenTickets | childrenTickets |
|
| Lista com os tickets filhos. | ||||||||||||||||||||||||||||||||
ownerHistories | ownerHistories |
|
| Lista com os históricos de responsabilidades do ticket (Somente leitura). | ||||||||||||||||||||||||||||||||
statusHistories | statusHistories |
|
| Lista com os históricos de status do ticket (Somente leitura). | ||||||||||||||||||||||||||||||||
customFieldValues | customField |
|
| Lista com os valores dos campos adicionais do ticket. |
⚠️ Atenção: As APIs de atendimento de suporte podem demorar alguns minutos para atualizar tickets, usuários e outros registros, o que pode fazer com que eles não apareçam imediatamente nos resultados da pesquisa.
Tickets » Clientes
ticket.clients[n]
Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
id | string | 64 | ✓ | Id do cliente (Contato) (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 (Somente leitura). |
isDeleted | bool |
|
| Verdadeiro se o cliente foi deletado (Somente leitura). |
organization | person |
|
| Organização do cliente (Somente leitura). |
Tickets » Ações
ticket.actions[n]
Propriedade | Tipo | Tamanho | Obrigatório | Descrição | ||||||||||||||||||||||||||||||||||||||||||
id | int | 10 | * | Id (Número da ação) (Somente leitura). *Deve ser informado quando necessário alterar a ação já existente. | ||||||||||||||||||||||||||||||||||||||||||
type | int | 1 | ✓ | Tipo da ação: 1 = Interna 2 = Pública. | ||||||||||||||||||||||||||||||||||||||||||
origin | int | 1 |
| Origem da ação (Somente leitura).
| ||||||||||||||||||||||||||||||||||||||||||
description | string | max | ✓ | Descrição da ação. Em operações de escrita, esse campo será interpretado como HTML e deve ser corretamente formatado para ser apresentado normalmente na tela de tickets. Em operações de leitura, esse campo é somente texto. | ||||||||||||||||||||||||||||||||||||||||||
htmlDescription | string | max |
| Descrição da ação em formato HTML (Somente leitura). *Esse campo só é retornado quando a busca é feita por ID do Ticket. Na listagem de Tickets ele não será retornado. Para retornar o HTML, deve-se utilizar o endpoint /tickets/htmldescription. | ||||||||||||||||||||||||||||||||||||||||||
status | string | 128 |
| Status da ação (Somente leitura). | ||||||||||||||||||||||||||||||||||||||||||
justification | string | 128 |
| Justificativa da ação (Somente leitura). | ||||||||||||||||||||||||||||||||||||||||||
createdDate | datetime UTC |
| * | Data de criação da ação. A data informada deve estar no formato UTC. *Caso não informada, será preenchida com a data atual. | ||||||||||||||||||||||||||||||||||||||||||
createdBy | person |
| * | Dados do gerador da ação. *Obrigatório somente se houver registro de apontamentos na criação ou alteração da ação via API. | ||||||||||||||||||||||||||||||||||||||||||
isDeleted | bool |
|
| Verdadeiro se a ação foi deletada (Somente leitura). | ||||||||||||||||||||||||||||||||||||||||||
timeAppointments | appointments |
|
| Dados dos apontamentos de hora. | ||||||||||||||||||||||||||||||||||||||||||
expenses | expenses |
|
| Dados de despesas. | ||||||||||||||||||||||||||||||||||||||||||
attachments | attachments |
|
| Dados dos anexos (Somente leitura). | ||||||||||||||||||||||||||||||||||||||||||
tags | array |
|
| Lista de strings com as TAGs as quais a ação esta relacionada. Caso sejam informadas TAGs inexistentes, as mesmas serão adicionadas na base de dados. |
Tickets » Ações » Apontamentos de horas
ticket.actions.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. |
accountedTime | decimal |
|
| Tempo contabilizado do apontamento em decimal. Ex: 7.7666666666666666 (Somente leitura) |
workTypeName | string |
| ✓ | Tipo do horário apontado. |
createdBy | person |
| ✓ | Dados do gerador do apontamento. |
createdByTeam | team |
| * | Dados do time do gerador do apontamento. |
Tickets » Ações » Despesas
ticket.actions.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 | ✓ | ID da pessoa que apontou a despesa. |
createdByTeam | team | 128 |
| Nome da Equipe da pessoa que apontou a despesa. |
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. |
Tickets » Ações » Anexos
ticket.actions.attachments[n]
Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
fileName | string | 255 | ✓ | Nome do arquivo enviado (Somente leitura). |
path | string | 255 | ✓ | Hash do arquivo enviado (Somente leitura). |
createdBy | person |
|
| Dados da pessoa que enviou o arquivo (Somente leitura). |
createdDate | datetime UTC |
|
| Data UTC que o arquivo foi enviado (Somente leitura). |
Tickets » Tickets Pais/Filhos
ticket.parentTickets[n]
ticket.childrenTickets[n]
Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
id | int |
| ✓ | Id (Número) do ticket. |
subject | string | 128 |
| Assunto do ticket (Somente leitura). |
isDeleted | bool |
|
| Verdadeiro se foi deletado (Somente leitura). |
Tickets » Históricos de responsabilidades
ticket.ownerHistories[n]
Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
ownerTeam | string | 128 |
| Equipe do responsável pelo ticket (Somente leitura). |
owner | person |
|
| Dados do responsável pelo ticket (Somente leitura). |
permanencyTimeFullTime | double |
|
| Tempo de permanência do responsável pelo ticket em segundos. (Somente leitura). |
permanencyTimeWorkingTime | double |
|
| Tempo útil de permanência do responsável pelo ticket em segundos. (Somente leitura). |
changedBy | person |
|
| Dados da pessoa que alterou o responsável pelo ticket (Somente leitura). |
changedDate | datetime UTC |
|
| Data UTC que o responsável pelo ticket foi alterado (Somente leitura). |
Tickets » Históricos de status
ticket.statusHistories[n]
Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
status | string | 128 |
| Status do ticket (Somente leitura). |
justification | string | 128 |
| Justificativa do ticket (Somente leitura). |
permanencyTimeFullTime | double |
|
| Tempo de permanência do status do ticket em segundos. (Somente leitura). |
permanencyTimeWorkingTime | double |
|
| Tempo útil de permanência do status do ticket em segundos. (Somente leitura). |
changedBy | person |
|
| Dados da pessoa que alterou o status do ticket (Somente leitura). |
changedDate | datetime UTC |
|
| Data UTC que o status do ticket foi alterado (Somente leitura). |
Tickets » Campos adicionais
ticket.customFieldValues[n]
Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
customFieldId | int | 64 | ✓ | Id do campo adicional (pode ser obtido na listagem de campos adicionais no website). |
customFieldRuleId | int | 64 | ✓ | Id da regra de exibição dos campos adicionais (pode ser obtido na listagem de regras para exibição no website). |
line | int | 64 | ✓ | Número da linha da regra de exibição na tela do ticket. Quando a regra não permitir a adição de novas linhas deve ser informado o valor 1 e não devem ser repetidos valores de campos adicionais para o id da regra em conjunto com o id do campo. Para alterar o valor de um campo deve ser informada a linha em que ele se encontra. Os campos que estiverem na base de dados e não forem enviados no corpo da requisição serão excluídos. |
value | string | max | * | Valor texto do campo adicional. *Obrigatório quando o tipo do campo for: texto de uma linha, texto com várias linhas, texto HTML, expressão regular, numérico, data, hora, data e hora, e-mail, telefone ou URL. Os campos de data devem estar em horário *UTC e no formato YYYY-MM-DDThh:MM:ss.000Z e o campo hora deve ser informado juntamente com a data fixa "1991-01-01". O campo numérico deve estar no formato brasileiro, por exemplo "1.530,75". |
items | items |
| * | Lista de itens. *Obrigatório quando o tipo do campo for: lista de valores, lista de pessoas, lista de clientes, lista de agentes, seleção múltipla ou seleção única. Deve ser informado apenas um item se o campo adicional não permitir seleção múltipla. Quando o campo for arquivo, ele é somente leitura. |
*Observação: Serão apresentadas na consulta da propriedade customFieldValues apenas campos adicionais que estiverem com suas regras de exibição sendo atingidas no momento da consulta.
Tickets » Campos adicionais » Itens
ticket.customFieldValues.items[n]
Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
personId | int | 64 | * | Id da empresa, departamento ou pessoa. *Obrigatório quando o tipo do campo for lista de pessoas. |
clientId | int | 64 | * | Id da empresa, departamento ou pessoa. *Obrigatório quando o tipo do campo for lista de clientes. |
team | string | 128 | * | Nome da equipe. *Obrigatório quando o tipo do campo lista de agentes (o personId pode ser informado para especificar o agente da equipe). |
customFieldItem | string | 256 | * | Nome do item do campo adicional. *Obrigatório quando o tipo do campo for: lista de valores, seleção múltipla ou seleção única. |
Person
ticket.clients[n].organization
ticket.actions[n].createdBy
ticket.actions[n].timeAppointments[n].createdBy
ticket.owner
ticket.createdBy
ticket.slaSolutionChangedBy
Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
id | string | 64 | ✓ | Id da pessoa sendo: |
businessName | string | 128 |
| Nome (Somente leitura). |
string | 128 |
| E-mail principal (Somente leitura). | |
phone | string | 128 |
| Telefone principal (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 (Somente leitura). |
Team
ticket.actions[n].timeAppointments[n].createdByTeam
Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
id | int |
| ✓ | Id do time (Somente leitura). |
name | string | 128 |
| Nome do time (Somente leitura). |
*UTC: O Tempo Universal Coordenado (do inglês Universal Time Coordinated) é o fuso horário de referência a partir do qual se calculam todas as outras zonas horárias do mundo. Ex: Se o seu fuso horário for o de Brasília (UTC-03:00) e o horário atual for 15h30, o horário UTC será 18h30.
Trabalhando com os dados
Para acessar os dados, é necessário gerar uma chave para a API (token). Para isso, acesse Atendimento de Suporte > Configurações > Conta > Parâmetros, na guia ambiente, e clique em "Gerar nova chave". Você pode gerar uma nova chave sempre que precisar, mas isso fará com que programas que usavam a chave antiga parem de funcionar.
Todo o fluxo de dados (Visualização/Inserção/Alteração) devem possuir o formato JSON conforme exemplo abaixo:
{
"id":1,
"protocol":"MOVI202109000001",
"type":2,
"subject":"Assunto",
"category":"Categoria",
"urgency":"Urgência",
"status":"Status",
"baseStatus":"Status base",
"justification":"Justificativa",
"origin":9,
"createdDate":"2016-11-18T14:25:07.1920886",
"originEmailAccount":"[email protected]",
"owner":{
"id":"CodRefDoResponsável",
"personType":1,
"profileType":1,
"businessName":"Nome do responsável",
"email":"[email protected]",
"phone":"(47) 99999-9999"
},
"ownerTeam":"Equipe (do) responsável",
"createdBy":{
"id":"CodRefDoGeradorDoTicket",
"personType":1,
"profileType":2,
"businessName":"Nome do gerador do ticket",
"email":"[email protected]",
"phone":"(47) 99999-9999"
},
"serviceFull":[
"Serviço nível 1",
"Serviço nível 2",
"Serviço nível 3"
],
"serviceFirstLevelId":1,
"serviceFirstLevel":"Serviço nível 1",
"serviceSecondLevel":"Serviço nível 2",
"serviceThirdLevel":"Serviço nível 3",
"contactForm":"Formulário de contato",
"tags":[
"Tag1",
"Tag2",
"Tag3"
],
"cc":"[email protected],[email protected]",
"resolvedIn":"2016-11-19T14:25:07.1920886",
"reopenedIn":"2016-11-20T14:25:07.1920886",
"closedIn":"2016-11-21T14:25:07.1920886",
"lastActionDate":"2016-11-21T14:25:07.1920886",
"actionCount":1,
"lastUpdate":"2016-11-21T14:25:07.1920886",
"lifeTimeWorkingTime":9999,
"stoppedTime":9,
"stoppedTimeWorkingTime":9,
"resolvedInFirstCall":false,
"chatWidget":"Chat - Exemplo",
"chatGroup":"Grupo do Chat",
"chatTalkTime":999,
"chatWaitingTime":9,
"sequence":2,
"slaAgreement":"SLA Utilizado",
"slaAgreementRule":"SLA Regra Utilizado",
"slaSolutionTime":999,
"slaResponseTime":99,
"slaSolutionChangedByUser":false,
"slaSolutionChangedBy":{
"id":"CodRef",
"personType":1,
"profileType":3,
"businessName":"Nome da pessoa que realizou a alteração",
"email":"[email protected]",
"phone":"(47) 99999-9999"
},
"slaSolutionDate":"2016-11-21T14:25:07.1920886",
"slaSolutionDateIsPaused":false,
"slaResponseDate":"2016-11-21T14:25:07.1920886",
"slaRealResponseDate":"2016-11-21T14:25:07.1920886",
"clients":[
{
"id":"CodRefDoCliente",
"personType":2,
"profileType":2,
"businessName":"Nome do cliente",
"email":"[email protected]",
"phone":"(47) 99999-9999",
"isDeleted":false,
"organization":{
"id":"CodRefDaOrganização",
"personType":1,
"profileType":2,
"businessName":"Nome da organização",
"email":"[email protected]",
"phone":"(47) 99999-9999"
}
}
],
"actions":[
{
"id":1,
"type":2,
"origin":9,
"description":"Descrição da ação",
"status":"Status",
"justification":"Justificativa",
"createdDate":"2016-11-21T14:25:07.1920886",
"createdBy":{
"id":"CodRefDoGeradorDaAção",
"personType":1,
"profileType":1,
"businessName":"Nome do gerador da ação",
"email":"[email protected]",
"phone":"(47) 99999-9999"
},
"isDeleted":false,
"timeAppointments":[
{
"id":1,
"activity":"Atividade do apontamento",
"date":"2016-11-21T00:00:00",
"periodStart":"21:32:13.7345254",
"periodEnd":"21:39:08.3443985",
"workTime":"00:06:54.6098731",
"accountedTime":7.7666666666666666,
"workTypeName":"Hora Extra",
"createdBy":{
"id":"CodRefDoGeradorDoApontamento",
"personType":1,
"profileType":1,
"businessName":"Nome do gerador do apontamento",
"email":"[email protected]",
"phone":"(47) 99999-9999"
},
"createdByTeam":{
"id":101,
"name":"Qualidade"
}
}
],
"expenses":[
{
"id":12,
"type":"Transporte",
"serviceReport":"0",
"createdBy":{
"id":"9B7387E9-4C46-4BD0",
"personType":1,
"profileType":3,
"businessName":"Administrador",
"email":null,
"phone":null,
"address":null,
"complement":null,
"cep":null,
"city":null,
"bairro":null,
"number":null,
"reference":null
},
"createdByTeam":null,
"date":"2018-11-05T18:22:00",
"quantity":null,
"value":145.11
},
{
"id":13,
"type":"Alimentação",
"serviceReport":"0",
"createdBy":{
"id":"9B7387E9-4C46-4BD0",
"personType":1,
"profileType":3,
"businessName":"Administrador",
"email":null,
"phone":null,
"address":null,
"complement":null,
"cep":null,
"city":null,
"bairro":null,
"number":null,
"reference":null
},
"createdByTeam":null,
"date":"2018-11-05T18:22:00",
"quantity":null,
"value":25.33
}
],
"attachments":[
{
"fileName":"minhaImagem.png",
"path":"7BDEA1B62A8641FF86982D0CF9F3DEC0",
"createdBy":{
"id":"CodRefDeQuemEnviouOArquivo",
"personType":1,
"profileType":1,
"businessName":"Nome de quem enviou o arquivo",
"email":"[email protected]",
"phone":"(47) 99999-9999"
},
"createdDate":"2017-05-29T14:19:50.0129141"
}
],
"parentTickets":[
{
"id":2,
"subject":"Assunto do ticket pai",
"isDeleted":false
}
],
"childrenTickets":[
{
"id":3,
"subject":"Assunto do ticket filho",
"isDeleted":false
}
],
"satisfactionSurveyResponses":[
{
"id":1,
"responsedBy":{
"id":"CodRefDeQuemRespondeuAPesquisa",
"personType":1,
"profileType":2,
"businessName":"Nome de quem respondeu a pesquisa",
"email":"[email protected]",
"phone":"(47) 99999-9999"
},
"responseDate":"2016-11-22T14:25:07.1920886",
"satisfactionSurveyModel":2,
"satisfactionSurveyNetPromoterScoreResponse":null,
"satisfactionSurveyPositiveNegativeResponse":null,
"satisfactionSurveySmileyFacesResponse":5,
"comments":"Comentário na resposta da pesquisa"
}
],
"customFieldValues":[
{
"customFieldId":3,
"customFieldRuleId":2,
"line":1,
"value":null,
"items":[
{
"personId":null,
"clientId":null,
"team":null,
"customFieldItem":"um"
}
]
},
{
"customFieldId":1,
"customFieldRuleId":1,
"line":1,
"value":"texto via api",
"items":[
]
}
]
}
]
}
Obtendo dados
Método GET
Obtendo um único ticket
⚠️Atenção: Lista ou Array: As variáveis de tipo lista ou “array” serão apresentadas somente na consulta de tipo “ticket individual”, conforme exemplo a seguir, não sendo exibidos no retorno de consulta do tipo “lista de tickets”.
GET: /tickets
Parâmetros: id / protocol, token
Exemplo:
Obtendo o ticket com o id 1
GET: https://api.movidesk.com/public/servir/v1/tickets?token=52ee6ca5-8639-422b-bafe-470013c11176&id=1
Retorno:
{ "id": 1,
"protocol":"MOVI202109000001", "type": 2, "origin": 0, "status": "Novo", "justification": null, ... Demais colunas no formato do layout acima }
Obtendo o ticket com o protocolo MOVI202109000001
GET: https://api.movidesk.com/public/v1/tickets?token=52ee6ca5-8639-422b-bafe-470013c11176&protocol=MOVI202109000001
Retorno:
{ "id": 1,
"protocol":"MOVI202109000001", "type": 2, "origin": 0, "status": "Novo", "justification": null, ... Demais colunas no formato do layout acima }
⚠️ Atenção: Campos adicionais: Serão apresentadas na consulta da propriedade customFieldValues apenas campos adicionais que estiverem com suas regras de exibição sendo atingidas no momento da consulta.
Obtendo uma lista de tickets
⚠️ Atenção: Lista ou Array: As variáveis de tipo lista ou “array” serão apresentadas somente na consulta de tipo “ticket individual”, conforme exemplo a seguir, não sendo exibidos no retorno de consulta do tipo “lista de tickets”.
GET: /tickets
Parâmetros: token, (LastUpdate e/ou CreatedDate e/ou Status)
Exemplo:
Obtendo uma lista de tickets (é obrigatório o uso de algum filtro)
GET: https://api.movidesk.com/public/servir/v1/tickets?token=52ee6ca5-8639-422b-bafe-470013c11176&status=Novo
Retorno:
[
{
"id": 1,
"type": 2,
"origin": 0,
"status": "Novo"
},
{
"id": 2,
"type": 2,
"origin": 0,
"status": "Novo"
}
... Demais itens da lista
]Paginação da lista de tickets
GET: /tickets
Parâmetros: token, (Page e/ou Size)
⚠️ Atenção: A lista será paginada com uma quantidade máxima de 100 registros por página, podendo ser utilizado a paginação com os recursos:
Page: ID da página buscada (A primeira página será por default a número 0 e deverá ser a página padrão a ser mostrada caso a busca não possua filtros de paginação).
Size: Quantidade de itens que serão retornados (Máximo 100 itens e caso seja adicionado um valor maior, será desconsiderado e apresentado apenas 100 itens).
GET: https://api.movidesk.com/public/servir/v1/tickets?token=52ee6ca5-8639-422b-bafe-470013c11176&status=Novo&page=0&size=100
Retorno:
[
{
"id": 1,
"type": 2,
"origin": 0,
"status": "Novo"
},
{
"id": 2,
"type": 2,
"origin": 0,
"status": "Novo"
}
... Demais itens da lista
]Inserindo dados
Método POST
GET: /tickets
Parâmetros: token
Headers: Content-Type: application/json
Corpo do post: {objeto JSON}
Exemplo:
POST: https://api.movidesk.com/public/v1/tickets?token=52ee6ca5-8639-422b-bafe-470013c11176&returnAllProperties=false
Headers: Content-Type: application/json
RequestBody:
{
"type": 2,
"subject": "Assunto",
"category": "Categoria",
"urgency": "Urgência",
"status": "Status",
"justification": "Justificativa",
"createdDate": "2016-11-18T14:25:07.1920886",
... Demais colunas no formato do layout acima
}Retorno: Status 200 e no corpo o id (número) do ticket inserido.
Atualizando dados
Método PATCH
Diferentemente da inserção de dados (POST) a atualização é efetuada de forma parcial. Sendo assim, é necessário enviar ao servidor somente os dados que se deseja alterar.
⚠️ Atenção: A alteração das listas (objetos filhos) sempre sobrescreve todos os itens da lista.
Nas listas de ações e apontamentos deve ser informado o Id no corpo para indicar alteração, pois quando o Id não for informado (for igual a zero) as ações e apontamentos serão inseridos e não alterados. Nas listas de clientes e apontamentos serão excluídos os clientes e apontamentos que não forem informados no corpo.
PATCH: /tickets
Parâmetros: token, id
Headers: Content-Type: application/json
Corpo do post: {objeto JSON}
Exemplos:
Alterando o assunto do ticket com id (número do ticket) 1
PATCH: https://api.movidesk.com/public/v1/tickets?token=52ee6ca5-8639-422b-bafe-470013c11176&id=1
Headers: Content-Type: application/json
RequestBody:
{
"subject": "Movidesk"
}Retorno: Status 200
No exemplo acima, é alterado somente o campo subject, os demais campos permanecem inalterados
Removendo as tags do ticket com id (número do ticket) 1
PATCH: https://api.movidesk.com/public/v1/tickets?token=52ee6ca5-8639-422b-bafe-470013c11176&id=1
Headers: Content-Type: application/json
RequestBody:
{
"tags": []
}Retorno: Status 200
Como as tags estão em uma lista, no exemplo acima, todas as tags serão removidas. Pois os valores informados na lista sempre sobrescrevem os valores previamente gravados.
Anexos
URL: /ticketFileUpload Método: POST
Layout
Parâmetro | Tipo | Tamanho | Obrigatório | Descrição |
id | int | 10 | ✓ | Id (número) do ticket existente. |
actionId | int | 10 | ✓ | Id (número) da ação existente. |
POST: /ticketFileUpload
Parâmetros: token, id e action Id
Headers: Content-Type: multipart/form-data
Corpo do post: anexos
Exemplo:
POST: https://api.movidesk.com/public/v1/ticketFileUpload?token=52ee6ca5-8639-422b-bafe-470013c11176&id=1452&actionId=1
Headers: Content-Type: multipart/form-data
RequestBody: anexosRetorno: Status 200 e no corpo os detalhes dos anexos inseridos (nome dos arquivos, hashes e possíveis erros)