Como podemos ajudar?

[Enterprise] API de tickets de atendimento de suporte
38 min
Criado por Karine Moreira em 09/12/2024 15:29
Atualizado por Leonora Alves em 18/02/2025 16:04

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,
InAttendance,
Stopped,
Canceled,
Resolved,
Closed

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).

1

Via web pelo cliente

2

Via web pelo agente

3

Recebido via email

4

Gatilho do sistema

5

Chat (online)

7

Email enviado pelo sistema

8

Formulário de contato

9

Via web API

13

ReceivedCall

14

MadeCall

15

LostCall

16

DropoutCall

21

NotAnsweredCall

23

WhatsApp Business

24

NLU

26

WhatsApp (NLU)


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.
image (37).png

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).

email

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).

0

First Action

1

Via web pelo cliente

2

Via web pelo agente

3

Recebido via email

4

Gatilho do sistema

5

Chat (online)

6

Chat (offline)

7

Email enviado pelo sistema

8

Formulário de contato

9

Via web API

10

Abertura automática de tickets

13

Chamada recebida integração Telefonia

14

Chamada realizada integração Telefonia

15

Chamada perdida integração Telefonia

16

Chamada que obteve desistência na fila de espera integração Telefonia

21

Chamada não atendida integração Telefonia

23

WhatsApp Business

24

NLU

25

WhatsApp Ativo

26

WhatsApp (NLU)

27

WhatsApp Ativo (NLU)


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:

ticket.owner - E-mail do agente responsável

ticket.clients - ID do contato

businessName

string

128

 

Nome (Somente leitura).

email

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: anexos

Retorno: Status 200 e no corpo os detalhes dos anexos inseridos (nome dos arquivos, hashes e possíveis erros)