ZenEx.Model.Ticket (zen_ex v0.8.0)
Provides functions to operate Zendesk Ticket.
Link to this section Summary
Functions
Create ticket.
Create multiple tickets.
Delete ticket specified by id.
Delete multiple tickets specified by id.
List tickets.
Search for users specified by query.
Show ticket specified by id.
Update ticket specified by id.
Update multiple tickets specified by id.
Link to this section Functions
Link to this function
create(ticket)
@spec create(%ZenEx.Entity.Ticket{ assignee_id: term(), collaborator_ids: term(), created_at: term(), custom_fields: term(), description: term(), due_at: term(), external_id: term(), forum_topic_id: term(), group_id: term(), has_incidents: term(), id: term(), organization_id: term(), priority: term(), problem_id: term(), raw_subject: term(), recipient: term(), requester_id: term(), satisfaction_rating: term(), sharing_agreement_ids: term(), status: term(), subject: term(), submitter_id: term(), tags: term(), ticket_form_id: term(), type: term(), updated_at: term(), url: term(), via: term() }) :: {:ok, %ZenEx.Entity.Ticket{ assignee_id: term(), collaborator_ids: term(), created_at: term(), custom_fields: term(), description: term(), due_at: term(), external_id: term(), forum_topic_id: term(), group_id: term(), has_incidents: term(), id: term(), organization_id: term(), priority: term(), problem_id: term(), raw_subject: term(), recipient: term(), requester_id: term(), satisfaction_rating: term(), sharing_agreement_ids: term(), status: term(), subject: term(), submitter_id: term(), tags: term(), ticket_form_id: term(), type: term(), updated_at: term(), url: term(), via: term() }} | {:error, any()}
Create ticket.
examples
Examples
iex> ZenEx.Model.Ticket.create(%ZenEx.Entity.Ticket{requester_id: xxx, subject: "Ticket Subject", description: "Ticket desc", ...})
{:ok, %ZenEx.Entity.Ticket{requester_id: xxx, ...}}
Link to this function
create_many(tickets)
@spec create_many([ %ZenEx.Entity.Ticket{ assignee_id: term(), collaborator_ids: term(), created_at: term(), custom_fields: term(), description: term(), due_at: term(), external_id: term(), forum_topic_id: term(), group_id: term(), has_incidents: term(), id: term(), organization_id: term(), priority: term(), problem_id: term(), raw_subject: term(), recipient: term(), requester_id: term(), satisfaction_rating: term(), sharing_agreement_ids: term(), status: term(), subject: term(), submitter_id: term(), tags: term(), ticket_form_id: term(), type: term(), updated_at: term(), url: term(), via: term() } ]) :: {:ok, %ZenEx.Entity.JobStatus{ id: term(), message: term(), progress: term(), results: term(), status: term(), total: term(), url: term() }} | {:error, any()}
Create multiple tickets.
examples
Examples
iex> ZenEx.Model.Ticket.create_many([%ZenEx.Entity.Ticket{requester_id: xxx, subject: "Ticket Subject", description: "Ticket desc", ...}, ...])
{:ok, %ZenEx.Entity.JobStatus{id: "xxx"}}
Link to this function
destroy(id)
Delete ticket specified by id.
examples
Examples
iex> ZenEx.Model.Ticket.destroy(1)
{:ok, %ZenEx.Entity.Ticket{requester_id: xxx, ...}}
Link to this function
destroy_many(ids)
@spec destroy_many([integer()]) :: {:ok, %ZenEx.Entity.JobStatus{ id: term(), message: term(), progress: term(), results: term(), status: term(), total: term(), url: term() }} | {:error, any()}
Delete multiple tickets specified by id.
examples
Examples
iex> ZenEx.Model.Ticket.destroy_many([xxx, ...])
{:ok, %ZenEx.Entity.JobStatus{id: "xxx"}}
Link to this function
list(opts \\ [])
List tickets.
examples
Examples
iex> ZenEx.Model.Ticket.list
{:ok, %ZenEx.Collection{}}
Link to this function
search(opts)
@spec search(map()) :: {:ok, %ZenEx.Collection{ count: term(), decode_as: term(), entities: term(), next_page: term(), previous_page: term() }} | {:error, any()}
@spec search(String.t()) :: {:ok, %ZenEx.Collection{ count: term(), decode_as: term(), entities: term(), next_page: term(), previous_page: term() }} | {:error, any()}
Search for users specified by query.
examples
Examples
iex> ZenEx.Model.User.search(%{email: "first.last@domain.com"})
{:ok, %ZenEx.Collection{}}
iex> ZenEx.Model.User.search("David"})
{:ok, %ZenEx.Collection{}}
Link to this function
show(id)
@spec show(integer()) :: {:ok, %ZenEx.Entity.Ticket{ assignee_id: term(), collaborator_ids: term(), created_at: term(), custom_fields: term(), description: term(), due_at: term(), external_id: term(), forum_topic_id: term(), group_id: term(), has_incidents: term(), id: term(), organization_id: term(), priority: term(), problem_id: term(), raw_subject: term(), recipient: term(), requester_id: term(), satisfaction_rating: term(), sharing_agreement_ids: term(), status: term(), subject: term(), submitter_id: term(), tags: term(), ticket_form_id: term(), type: term(), updated_at: term(), url: term(), via: term() }} | {:error, any()}
Show ticket specified by id.
examples
Examples
iex> ZenEx.Model.Ticket.show(1)
{:ok, %ZenEx.Entity.Ticket{id: 1, requester_id: xxx, subject: "Ticket Subject", description: "Ticket desc", ...}}
Link to this function
update(ticket)
@spec update(%ZenEx.Entity.Ticket{ assignee_id: term(), collaborator_ids: term(), created_at: term(), custom_fields: term(), description: term(), due_at: term(), external_id: term(), forum_topic_id: term(), group_id: term(), has_incidents: term(), id: term(), organization_id: term(), priority: term(), problem_id: term(), raw_subject: term(), recipient: term(), requester_id: term(), satisfaction_rating: term(), sharing_agreement_ids: term(), status: term(), subject: term(), submitter_id: term(), tags: term(), ticket_form_id: term(), type: term(), updated_at: term(), url: term(), via: term() }) :: {:ok, %ZenEx.Entity.Ticket{ assignee_id: term(), collaborator_ids: term(), created_at: term(), custom_fields: term(), description: term(), due_at: term(), external_id: term(), forum_topic_id: term(), group_id: term(), has_incidents: term(), id: term(), organization_id: term(), priority: term(), problem_id: term(), raw_subject: term(), recipient: term(), requester_id: term(), satisfaction_rating: term(), sharing_agreement_ids: term(), status: term(), subject: term(), submitter_id: term(), tags: term(), ticket_form_id: term(), type: term(), updated_at: term(), url: term(), via: term() }} | {:error, any()}
Update ticket specified by id.
examples
Examples
iex> ZenEx.Model.Ticket.update(%ZenEx.Entity.Ticket{id: 1, requester_id: xxx, subject: "Ticket Subject", description: "Ticket desc", ...})
{:ok, %ZenEx.Entity.Ticket{id: 1, requester_id: xxx, ...}}
Link to this function
update_many(tickets)
@spec update_many([ %ZenEx.Entity.Ticket{ assignee_id: term(), collaborator_ids: term(), created_at: term(), custom_fields: term(), description: term(), due_at: term(), external_id: term(), forum_topic_id: term(), group_id: term(), has_incidents: term(), id: term(), organization_id: term(), priority: term(), problem_id: term(), raw_subject: term(), recipient: term(), requester_id: term(), satisfaction_rating: term(), sharing_agreement_ids: term(), status: term(), subject: term(), submitter_id: term(), tags: term(), ticket_form_id: term(), type: term(), updated_at: term(), url: term(), via: term() } ]) :: {:ok, %ZenEx.Entity.JobStatus{ id: term(), message: term(), progress: term(), results: term(), status: term(), total: term(), url: term() }} | {:error, any()}
Update multiple tickets specified by id.
examples
Examples
iex> ZenEx.Model.Ticket.update_many([%ZenEx.Entity.Ticket{id: xxx, requester_id: xxx, subject: "Ticket Subject", description: "Ticket desc", ...}, ...])
{:ok, %ZenEx.Entity.JobStatus{id: "xxx"}}