Búsquedas recientes


No hay búsquedas recientes

Proper use of undocumented attachment_ids field in side conversations API.



Publicado 10 jun 2024

I am part of a team developing an application installed to the ticket_sidebar location. As part of this we want to be able to programatically create side conversations for our users.

 

We've had success doing by calling the side conversations API via ZAFClient:

https://developer.zendesk.com/api-reference/ticketing/side_conversation/side_conversation/#create-side-conversation

 

Our code is essentially this, which works: 

const { 'ticket.id': id } = (await client.get(
  'ticket.id',
));

const message = {
  "message": {
    "subject": "My printer is on fire!",
    "body": "The smoke is very colorful.",
    "to": [
      { "email": "someone@example.com" } 
    ],
  }
};

await client.request({
  contentType: 'application/json',
  url: `/api/v2/tickets/${id}/side_conversations`,
  type: 'POST',
  data: JSON.stringify(message),
  dataType: 'json',
})

We would also like the ability to add attachments. This is where we run into issues.

The example code from the documentation would suggest this is possible:

{
  "message": {
    "subject": "My printer is on fire!",
    "body": "The smoke is very colorful.",
    "to": [
      { "email": "someone@example.com" }
    ],
    "attachment_ids": ["0123456789"]
  },

However the attachment_ids field is not documented on the associated Message object, and in testing always results in an error that the attachment was not found.

https://developer.zendesk.com/api-reference/ticketing/side_conversation/side_conversation_event/#messages

 

Our expectation was that we could get a list of attachments by first making a request to /api/v2/tickets/${id}/comments.json , then use the attachment IDs from that as part of the message payload. (We've also confirmed work with the api/v2/attachments/ endpoint). Inspecting the GraphQL network requests that are made when creating a side conversation via the UI also results in the same attachment IDs being used - so it is unclear why these attachments aren't being found.

 

TL;DR - is the attachment_ids field actually supported in the side conversations API, and if so what do we need to do to get this to work?


1

8

8 comentarios

Hi 6419473119898 is your issue fixed? We have the same goal and like you we haven't found much from the documentations. Appreciate it if you can share the outcome. Thank you

0


I am having the same issue. Erica, if you could help me as well, I would greatly appreciate it.

0


Hey Erica, no worries at all!

 

A demo would be appreciated if you have the time, thanks.

 

 

0


Hi Lachlan, 
 
Apologies for the delay, I was out of office for the end of last week. I can definitely put together a little demo for you today. Otherwise, I can also pull you into a ticket and get a better look at your code directly and see if we can troubleshoot from there. 
 
Let me know whichever you prefer. Happy to help!

0


Thanks Erica, do you know if there are any examples of this anywhere? Our attempts resulted in getting a 500 error back from the server. It's not too clear how to express that the payload is multipart/form-data when using request()

0


Hi Lachlan!
 
Yes, you can utilize the request method to upload the attachment via the API. You'll just want to be sure to capture that attachment_id that is returned once uploaded.

1


Having looked at this a bit further it seems like the expected approach is to upload an attachment via 

https://developer.zendesk.com/api-reference/ticketing/side_conversation/side_conversation_attachment/, retrieve the UUID from the response - and then use this in the payload for creating the side conversation.

 

Is it possible to perform the upload via ZAFClient's request method?

0


On a similar note, it doesn't look like the CC or BCC fields are available via this API either, whilst they are available via the UI.

0


Iniciar sesión para dejar un comentario.

¿No encontró lo que buscaba?

Nueva publicación