- Notifications
You must be signed in to change notification settings - Fork0
Siftscience API Library for Elixir
License
C404/sift_ex
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This library (based on the officialSiftScience libraries) allows you to interact with the SiftScience API via various functions in Elixir.
First, add sift_ex to yourmix.exs
dependencies:
defdepsdo[{:sift_ex,"~> 0.1"}]end
and run$ mix deps.get
.
Set your Sift API key
Application.put_env(:sift_ex, :api_key, YOUR_API_KEY)
Set your Account ID (optional)
Application.put_env(:sift_ex, :account_id, YOUR_ACCOUNT_ID)
iex> SiftEx.start# send a transaction event -- note this is blockingiex> event = "$transaction"iex> user_id = "23069" # User ID's may only contain a-z, A-Z, 0-9, =, ., -, _, +, @, :, &, ^, %, !, $iex> properties = %{ "$user_id" => user_id, "$user_email" => "buyer@gmail.com", "$seller_user_id" => "2371", "seller_user_email" => "seller@gmail.com", "$transaction_id" => "573050", "$payment_method" => %{ "$payment_type" => "$credit_card", "$payment_gateway" => "$braintree", "$card_bin" => "542486", "$card_last4" => "4444" }, "$currency_code" => "USD", "$amount" => 15230000,}iex> response = SiftEx.track(event, properties)iex> response["status"] # returns Sift status, default is 0iex> response["error_message"] # returns Sift error message, default is "OK"iex> IO.inspect response # for more details of the response format# Request a score for the user with user_id 23069response = SiftEx.score(user_id)# Label the user with user_id 23069 as Bad with all optional fieldsiex> response = SiftEx.label(user_id, %{ "$is_bad" => true, "$abuse_type" => "payment_abuse", "$description" => "Chargeback issued", "$source" => "Manual Review", "$analyst" => "analyst.name@your_domain.com"})# Get the status of a workflow runiex> response = SiftEx.get_workflow_status('my_run_id')# Get the latest decisions for a useriex> response = SiftEx.get_user_decisions('example_user_id')# Get the latest decisions for an orderiex> response = SiftEx.get_order_decisions('example_order_id')
Check out the official documentationhere for more informations
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
Various tests included, just run:
mix deps.getmix test
Copyright (c) 2015 Thibault Hagler. See the LICENSE file for license rights and limitations (MIT).
About
Siftscience API Library for Elixir
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors2
Uh oh!
There was an error while loading.Please reload this page.