Show Changes to Ticket

Returns the changes the macro would make to a ticket. It doesn't actually change a ticket. You can use the response data in a subsequent API call to the Tickets endpoint to update the ticket. The response includes only the ticket fields that would be changed by the macro. To get the full ticket object after the macro is applied, see [Show Ticket After Changes](#show-ticket-after-changes). #### Allowed For * Agents

Script zendesk Verified

by hugo697 ยท 11/7/2023

The script

Submitted by hugo697 Typescript (fetch-only)
Verified 377 days ago
1
type Zendesk = {
2
  username: string;
3
  password: string;
4
  subdomain: string;
5
};
6
/**
7
 * Show Changes to Ticket
8
 * Returns the changes the macro would make to a ticket. It doesn't actually
9
change a ticket. You can use the response data in a subsequent API call
10
to the Tickets endpoint to update the ticket.
11

12
The response includes only the ticket fields that would be changed by the
13
macro. To get the full ticket object after the macro is applied,
14
see [Show Ticket After Changes](#show-ticket-after-changes).
15

16
#### Allowed For
17
* Agents
18

19
 */
20
export async function main(auth: Zendesk, macro_id: string) {
21
  const url = new URL(
22
    `https://${auth.subdomain}.zendesk.com/api/v2/macros/${macro_id}/apply`
23
  );
24

25
  const response = await fetch(url, {
26
    method: "GET",
27
    headers: {
28
      Authorization: "Basic " + btoa(`${auth.username}:${auth.password}`),
29
    },
30
    body: undefined,
31
  });
32
  if (!response.ok) {
33
    const text = await response.text();
34
    throw new Error(`${response.status} ${text}`);
35
  }
36
  return await response.json();
37
}
38