API do Movidesk - Manutenção e manipulação de campos adicionais
12 min
Criado por Cassio Fiorin em 06/01/2023 11:09
Atualizado por Karine Moreira em 12/09/2024 12:28
Importante: Nossas API's possuem um limite de 10 requisições por minuto para garantir um comportamento saudável no seu uso. Caso você tenha um cenário específico que precise aumentar o uso, entre em contato com o nosso time de atendimento para análise de viabilidade. Saiba mais sobre horários e limites das API's
https://api.movidesk.com/public/v1/ticketCustomFieldValue/

Tickets

  URL: /ticketCustomFieldValue
  Métodos: POST
 
Esta API utiliza apenas o método POST, a operação deve ser indicada na URL, conforme exemplos abaixo.
 
Descrição da Aplicação:

A API desenvolvida disponibiliza três endpoints para modificação de valores de campos adicionais, centralizados no recursos: public\v1\ticketCustomFieldValue\{operação}.
A operação pode ser uma entre: InsertValues, UpdateValues e DeleteValues.
Cada recurso é responsável por inserir novos dados, atualizar dados existentes e deletar dados, respectivamente.  
 
InsertValues

Permite inserir novos valores dentro de um campo adicional.
Suporte Para: Lista de Valores
Contrato:
Body:
{
"customfieldid": "number";
"customfieldvalues": ["string"]
}
 
Layout
Propriedade
Tipo
Descrição
Obrigatório
Exemplo
customfieldid
Numérico
Identificador do campo adicional que será modificado
✓
5
customfieldvalues
Lista de strings
Lista de valores que serão inseridos
✓
["Option A", "Option B"]
 
Erros Impeditivos:

Invalid body format! -> Se o formato da requisição estiver incorreto (faltar parâmetros ou campos incompletos)
Field with ID {id} not found -> Se não for encontrado um campo adicional com o ID fornecido.
 
 
Retorno:

A API irá retornar uma nova lista informando o status de cada valor inserido, com uma propriedade success caso nenhum problema seja encontrado, ou uma propriedade Message indicando o que houve de errado:
The value {value} already exists as an option for the field {name}. -> Se um valor já existente no campo com o ID fornecido for inserido.
 
UpdateValues.

Permite editar valores dentro de um campo adicional.
Suporte Para: Lista de Valores
Contrato:
Body:
{ 
"customfieldid": "number",
 
"customfieldvalues": [
{
"oldname": "string",
"newname": "string"
}
]
}


Layout

Propriedade
Tipo
Descrição
Obrigatório
Exemplo
customfieldid
Numérico
Identificador do campo adicional que será modificado
✓
5
customfieldvalues
Lista de strings
Lista de valores que serão modificados
✓
[{"oldname: "Option A", "newname": "Main Option"}]

Erros Impeditivos:

Invalid body format! -> Se o formato da requisição estiver incorreto (faltar parâmetros ou campos incompletos) ou não possuir valores dentro do parâmetro customfieldvalues.
Field with ID {id} not found -> Se não for encontrado um campo adicional com o ID fornecido.

Retorno:

A API irá retornar uma nova lista informando o status de cada valor inserido, com uma propriedade success caso nenhum problema seja encontrado, ou uma propriedade Message indicando o que houve de errado:
The value {oldName} does not exists on the custom field {name}. → Se não for encontrado um campo com o valor name para ser alterado.
The value {newName} already exists on the custom field {name}. → Se o valor para qual está tentando ser alterado já existir dentro do campo com o ID fornecido.

DeleteValues.

Permite deletar valores dentro de um campo adicional.
Suporte Para: Lista de Valores
Contrato:
body: 
{
 "customfieldid": number,
 "customfieldvalues": [string]
}

Layout

Propriedade
Tipo
Descrição
Obrigatório
Exemplo
customfieldid
Numérico
Identificador do campo adicional que será modificado
✓
5
customfieldvalues
Lista de strings
Lista de valores que serão removidos
✓
["Option A", "Option B"]
Erros Impeditivos:

Invalid body format! -> Se o formato da requisição estiver incorreto (faltar parâmetros ou campos incompletos) ou não possuir valores dentro do parâmetro customfieldvalues.
Field with ID {id} not found -> Se não for encontrado um campo adicional com o ID fornecido.

Retorno:

A API irá retornar uma nova lista informando o status de cada valor inserido, com uma propriedade success caso nenhum problema seja encontrado, ou uma propriedade Message indicando o que houve de errado:
Could not delete {name}, the field {field} will be empty! If this is intentional, a manual delete must be done. → Se for uma tentativa de excluir o ultimo valor de um campo com o ID fornecido, como regra, não é permitido campos sem valores.
The value {name} does not exists on the custom field {field}. → Se não for encontrado um valor name para ser deletado no campo com o ID fornecido.
 
Inserindo Valores
Método: POST
POST: /InsertValues
Parâmetros: token


Exemplo:

POST:https://api.movidesk.com/public/v1/ticketCustomFieldValue/InsertValues/?token=ec3d4562-5438-41aa-8af6-dc7708e0c75a

Body:
 {
"customfieldid": "125529",
"customfieldvalues": ["Opção A", "Opção B", "Opção C"]
}
Retorno:
{
"values": [
{
"name": "Opção A",
"success": true,
"message": ""
},
{
"name": "Opção B",
"success": true,
"message": ""
},
{
"name": "Opção C",
"success": true,
"message": ""
}
]
}
 
Atualizando Valores
Método: POST
POST: /UpdateValues
Parâmetros: token


Exemplo:
POST:https://api.movidesk.com/public/v1/ticketCustomFieldValue/UpdateValues/?token=ec3d4562-5438-41aa-8af6-dc7708e0c75a

Body:
{
"customfieldid": "125529",
"customfieldvalues": [
{
"oldname": "OPÇÃO A",
"newname": "OPÇÃO 1"
},
{
"oldname": "OPÇÃO B",
"newname": "OPÇÃO 2"
},
{
"oldname": "OPÇÃO C",
"newname": "OPÇÃO 3"
}
]
}

Retorno:
{
"values": [
{
"name": "OPÇÃO A",
"success": true,
"message": ""
},
{
"name": "OPÇÃO B",
"success": true,
"message": ""
},
{
"name": "OPÇÃO C",
"success": true,
"message": ""
}
]
}
Excluindo Valores
Método: POST
POST: /DeleteValues
Parâmetros: token


Exemplo:
POST:https://api.movidesk.com/public/v1/ticketCustomFieldValue/DeleteValues/?token=ec3d4562-5438-4138-8af6-dc7708e0c75a


Body:

{
"customfieldid": "125529",
"customfieldvalues":
[

"Opção 1",
"Opção 2",
"Opção 3"
]
}


Retorno:

{
"values": [
{
"name": "Opção 1",
"success": true,
"message": ""
},
{
"name": "Opção 2",
"success": true,
"message": ""
},
{
"name": "Opção 3",
"success": true,
"message": ""
}
]
}