zen_ex 
Zendesk REST API client for Elixir
zen_ex is composed of Models and Entities. See Usage.
Installation
Add zen_ex to your list of dependencies in mix.exs:
def deps do
[{:zen_ex, "~> 0.3.0"}]
end
Update your dependencies:
% mix deps.get
Add your Zendesk settings to your config:
config :zen_ex,
subdomain: "your-zendesk-subdomain",
user: "otoyo@otoyo.com",
api_token: "xxxx"
See also: Generating a new API token
Usage
# List users
users = ZenEx.Model.User.list.entities
# Show user
user = ZenEx.Model.User.show(1)
# Create user
user = ZenEx.Model.User.create(%ZenEx.Entity.User{name: "otoyo", email: "otoyo@otoyo.com"})
# List tickets
collection = ZenEx.Model.Ticket.list(per_page: 100, sort_order: "desc")
tickets = collection.entities
next_tickets = collection |> ZenEx.Collection.next
# Show ticket
ticket = ZenEx.Model.Ticket.show(1)
# Create ticket
ticket = ZenEx.Model.Ticket.create(%ZenEx.Entity.Ticket{subject: "My printer is on fire!", description: "But no problem."})
See also under ZenEx.Model.
Supported API
Core API
- Users
listshowcreateupdatecreate_or_updatedestroycreate_manyupdate_manycreate_or_update_manydestroy_many
- Tickets
listshowcreateupdatedestroycreate_manyupdate_manydestroy_many
- Dynamic contents
listshowcreateupdatedestroy
- Variants of dynamic contents
listshowcreatecreate_manyupdateupdate_manydestroy
- Locales
show
- Job statuses
listshowshow_many
Help Center API
- Categories
listshowcreateupdatedestroy
- Sections
listshowcreateupdatedestroy
- Articles
listshowcreateupdatesearchdestroy
- Translations
listlist_missingshowcreateupdatedestroy
Contributing
Contributions are welcome ;)
LICENSE
ZenEx is released under CC0-1.0 (see LICENSE).