Recent searches
No recent searches
tiago
Joined Mar 01, 2023
·
Last activity Mar 07, 2023
Following
0
Followers
0
Total activity
4
Vote
1
Subscription
1
ACTIVITY OVERVIEW
BADGES
ARTICLES
POSTS
COMMUNITY COMMENTS
ARTICLE COMMENTS
ACTIVITY OVERVIEW
Latest activity by tiago
tiago commented,
Dear, thank you.
Unfortunately I've tried that way, too. Whether converting to string or forwarding the direct object, the result is the same.
View comment · Posted Mar 01, 2023 · tiago
0
Followers
0
Votes
0
Comments
tiago created a post,
Estamos tentando atualizar o valor de campos personalizados do ticket via aplicativo privado e não estamos conseguindo. Ocorre que, ao fazer a chamada via aplicativo, os campos não são atualizados, mas se o faço via postman, os campos são atualizados normalmente.
A chamada está sendo efetuada conforme orientado em https://developer.zendesk.com/api-reference/ticketing/tickets/tickets/#update-ticket, via endpoint PUT /api/v2/tickets/{ticket_id}
.
Tanto o objeto que estou enviando na carga via aplicativo, quanto via postman são idênticos em sua estrutura. Inclusive, se eu copiar o objeto do código do aplicativo e colar no postman, ele é enviado normalmente,
Em ambos os casos, a chamada retorna o próprio ticket e o status 200 ok, com a diferença que na chamada via postman os campos são atualizados e via aplicativo não.
Além disto, antes de cada update, faço antes uma chamada para o endpoint show ticket, para evitar colisão de dados, conforme orientado em https://developer.zendesk.com/documentation/ticketing/managing-tickets/creating-and-updating-tickets/#protecting-against-ticket-update-collisions.
Segue um exemplo do body da requisição:
{
"ticket": {
"custom_fields": [
{
"id": 13431756835092,
"value": "Teste15"
},
{
"id": 13431774140948,
"value": null
},
{
"id": 13431762748692,
"value": null
},
{
"id": 13431792046868,
"value": null
},
],
"updated_stamp": "2021-08-24T16:53:51Z", //retirado do showTicketEndpoint GET /api/v2/tickets/{ticket_id}
"safe_update": true,
}
}
Já modifiquei o objeto de diversas formas. Inclusive incluindo a propriedade requester_id, conforme https://developer.zendesk.com/api-reference/ticketing/tickets/tickets/#json-format
Também verifiquei se todas as informações estão sendo instanciadas corretamente e está tudo ok.
A forma como estou fazendo as chamadas é:
const getTicketEndpoint = {
type: "GET",
url: `${urlBase}/api/v2/tickets/${ticketId}`,
headers: { contentType: "application/json", },
}
const endpoint1Response = await client.request(getTicketEndpoint)
const ticketUpdateEndpoint = {
type: "PUT",
url: `${urlBase}/api/v2/tickets/${ticketId}`,
headers: {
contentType: "application/json",
Accept: 'application/json',
},
data:{
"ticket": {
"custom_fields": [
{ "id": 34, "value": "novo valor" }
{ "id": 82, "value": "novo valor" }
],
"updated_stamp": "2021-08-24T16:53:51Z", //retirado do showTicketEndpoint GET /api/v2/tickets/{ticket_id}
"safe_update": true,
}
}
}
const endpoint2Response = await client.request(ticketUpdateEndpoint)
A chamada está sendo feita dentro de uma função assíncrona e conforme informado ela retorna status 200.
Encontrei dois tópicos relacionados, mas que não ajudaram para o meu caso. A saber:
https://support.zendesk.com/hc/en-us/community/posts/4408868955034-How-to-update-custom-field-values-using-API-
https://support.zendesk.com/hc/en-us/community/posts/4408861037722-Trying-to-update-field-via-API-but-no-change-on-ticket
Agradeço imensamente qualquer ajuda em relação ao problema.
Posted Mar 01, 2023 · tiago
0
Followers
2
Votes
2
Comments