traitify_elixir alternatives and similar packages
Based on the "Third Party APIs" category.
Alternatively, view traitify_elixir alternatives based on common mentions on social networks and blogs.
-
google-cloud
Elixir client libraries for accessing Google APIs. -
gringotts
A complete payment library for Elixir and Phoenix Framework -
statix
Fast and reliable Elixir client for StatsD-compatible servers -
MongoosePush
MongoosePush is a simple Elixir RESTful service allowing to send push notification via FCM and/or APNS. -
commerce_billing
A payment processing library for Elixir -
sendgrid
Create and send composable emails with Elixir and SendGrid. -
mailchimp
A basic Elixir wrapper for version 3 of the MailChimp API -
diplomat
Elixir library for interacting with Google's Cloud Datastore -
sparkpost
SparkPost client library for Elixir https://developers.sparkpost.com -
forcex
Elixir library for the Force.com / Salesforce / SFDC REST API -
elixtagram
:camera: Instagram API client for the Elixir language (elixir-lang) -
google_sheets
Elixir library for fetching Google Spreadsheet data in CSV format -
amazon_product_advertising_client
An Amazon Product Advertising API client for Elixir -
pay_pal
:money_with_wings: PayPal REST API client for the Elixir language (elixir-lang) -
cashier
Cashier is an Elixir library that aims to be an easy to use payment gateway, whilst offering the fault tolerance and scalability benefits of being built on top of Erlang/OTP -
elixir_ipfs_api
The Elixir library that is used to communicate with the IPFS REST endpoint. -
dogstatsd
An Elixir client for DogStatsd https://www.datadoghq.com/ -
airbrake
An Elixir notifier to the Airbrake/Errbit. System-wide error reporting enriched with the information from Plug and Phoenix channels.
Build time-series-based applications quickly and at scale.
Do you think we are missing an alternative of traitify_elixir or a related project?
README
Traitify Elixir
An Elixir client library for the Traitify Developer's API
Using
It is simple to add to any project. If you are using the hex package manager, just add the following to your mix file:
def deps do
[ { :traitify_elixir, '~> 0.1.1' } ]
end
If you aren't using hex, add the a reference to the github repo.
def deps do
[ { :traitify_elixir, github: "traitify/traitify_elixir" } ]
end
Then run mix deps.get
in the shell to fetch and compile the dependencies.
Configuration
Next, set the environment variables for the API host and your secret key. You can obtain a secret key from the developer portal. Once you register on the site, you will be provided a key as well as information on the API host.
$ export TRAITIFY_API_HOST=https://api-sandbox.traitify.com
$ export TRAITIFY_API_KEY=<your_unique_secret_key>
Example Usage
Decks
Retrieving a list of available decks is simple. Just call the all function on the Client module and pass it :decks
.
$ iex -S mix
iex(1)> decks = Traitify.Client.all(:decks)
The all function returns the JSON response body from the Traitify API.
iex(2)> deck = List.first(decks)
iex(3)> deck["id"]
"career-deck"
Assessments
Once you have a deck id, you can then create an assessment.
iex(4)> assessment = Traitify.Client.create(:assessments, %{deck_id: deck["id"]})
%{"completed_at" => nil, "created_at" => 1414427522010,
"deck_id" => "career-deck", "id" => "3668590b-f32f-4db0-94e3-d35703b28820",
"tags" => nil}
Slides
Now that you have an assessment, it's time to get a list of the slides for that assessment
iex(5)> slides = Traitify.Client.all(:slides, assessment_id: assessment["id"]})
For each slide you can send the user's response or you can send a bulk set of responses. Here is an example of updating for a single slide:
iex(6)> Client.update(:slides, %{response: <user's answer here>, time_taken: 2},
assessment_id: assessment["id"],
slide_id: <slide id here>)
Results
Finally you can retrieve the personality types/traits results for a completed assessment. If the assessment is not complete, you will receive an 'Assessment Not Found' message.
iex(7)> personality_types = Traitify.Client.all(:personality_types, [assessment_id: assessment["id"]])
iex(8)> personality_traits = Traitify.Client.all(:personality_traits, [assessment_id: assessment["id"]])
More Examples
You can check out the Elixir example application to get ideas for your own implementation. If you have questions, please contact [email protected]