BliBli - Integration Guide.pdf
Short Description
Download BliBli - Integration Guide.pdf...
Description
Customer Name
BliBli
Make a free account
Payment Abuse
1 week: Testing phase
Test data in Sandbox account
Sync before going live
https://siftscience.com/signup
Send REST API events (details on "User Flow" sheet)
https://siftscience.com/develo https://siftscience .com/developers/docs/cur pers/docs/curl/events-api l/events-api
Install the JS snippet for all web traffic
https://siftscience.com/develo https://siftscience .com/developers/docs/java pers/docs/javascript/javascr script/javascript-api ipt-api
Send full live data to Sandbox API Keys Sift will take a look, confirm data values look good.
"Go live"
Switch data to Production account
Send feedback to Sift through Decisions API and console
https://siftscience.com/develo https://siftscience .com/developers/docs/cur pers/docs/curl/decisions-a l/decisions-api/overview pi/overview
(optional) Backfill data for previous 3 months
https://siftscience.com/resourc https://siftscience .com/resources/tutorials/sen es/tutorials/sending-histo ding-historical-data rical-data
Client Libraries
Java
https://siftscience.com/resour https://siftscience .com/resources/plugins/cl ces/plugins/client-libraries#java ient-libraries#java
Integration Phase
User action
Sift API Event
Creates account
$create_account
Updates account details
$update_account
After user attempts to checkout but before charging the payment method
$create_order
The result for charging the payment method
$transaction
User changes order details
$update_order
User logs-in
$login
User logs-out
$logout
Comments Send updated fields only
Send ALL order details sent previously
Event: $create_account/$update_account
Key
https://siftscience.com/developers/docs/curl/events-api/reserved-events/create-account
complete m
missing incomplete/incorrect
n/a
Use Synchronous Workflows?
No
Field
Type
$user_id
string
$session_id
string
$user_email
string
$ip
string
$name
string
$phone
string
$payment_methods [ ]
array
$payment_type
enum
e.g "$credit_card"
$payment_gateway
enum
e.g "$stripe"
$card_bin
string
first 6 digits "123456"
received by blibli after payment is done on payment gateway side
$card_last4
string
last 4 digits "6789"
received by blibli after payment is done on payment gateway side
$billing_address { }
address
$name
string
$address1
string
$city
string
$region
string
$country
string
2-letter country code "US", "ES"
$phone
string
"+1-415-555-2323"
$zipcode
Sample
Status
m "192.168.1.1"
m
Sift comments
BliBli comments
not sent to backend microservice that create/update the user not sent to backend microservice that create/update the user not available during create - avaliable on update
"+1-415-555-2323"
not available during create - avaliable on update on update, can be available only if the user opt to save their cc token w blibli we have two: http://speedorder.asia/2016/, https://midtrans.com/
can be edited when making an order, we use the default address as billing address.
m
string
In Indonesia: Contry -> Province -> City -> District -> Sub-district
zipcode is tied to a subdistrict
$shipping_address
the default are set as billing address
$name
string
$address1
string
$city
string
$region
string
$country
string
2-letter country code "US", "ES"
$phone
string
"+1-415-555-2323"
$zipcode
string
Custom Fields
not available
m
Event: $create_order/$update_order
complete
Key
https://siftscience.com/developers/docs/curl/events-api/reserved-events/create-order
m
Use Synchronous Workflows?
n/a
missing incomplete/incorrect
No
Field
Type
$user_id
string
$session_id
string
$order_id
string
$user_email
string
Sample
Status m
not available Sift comments
BliBli comments
Same on account create/update.
see account create/update
"12345"
$ip
string
"192.168.1.1"
$amount
int
in micros e.g $1 = 1000000
$currency_code
string
"USD"
for this one I think its available, we use it for our in house rule based fraud system
$shipping_address $name
string
$address1
string
$city
string
$region
string
$country
s tr in g
2 -l et te r c ou nt ry co de "U S" , " ES "
$phone
string
"+1-415-555-2323"
$zipcode
string
$billing_address { }
address
$name
string
$address1
string
$city
string
$region
string
$country
s tr in g
2 -l et te r c ou nt ry co de "U S" , " ES "
$phone
string
"+1-415-555-2323"
$zipcode
m
see account create/update
see account create/update
m
see account create/update
string
$items [ ]
array
$item_id
string
TODO: check list of the whole reserved items
$product_title
string
$price
int
in micros e.g $1 = 1000000
$currency_code
string
MXN, USD, CAD, EUR
$quantity
int
$brand
string
$category
string
$tags
string [ ]
[fashion, shoes]
m
what is example for this data? If it's avaliable, you can use this. However, if the product doesn't have this field, it can be removed. not all product has this, we use free text for this field, merchant can put almost anything
$size
string
$payment_methods [ ]
array
$payment_type
enum
$payment_gateway
enum
e.g "$paypal"
see account create/update
$card_bin
string
first 6 digits "123456"
see account create/update
$card_last4
string
last 4 digits "6789"
see account create/update
$promotions [ ]
promotion [ ]
$promotion_id
string
e.g "COUPON140"
$description
s tr ing
e. g p ro mo co de " $15 of f"
$seller_user_id
string
$expedited_shipping
bool
e.g "$credit_card", "points", "store_credit"
m
in blibli each order-item can be from different seller, it should be a field inside the "item" document
m
any order with any status or only order with specific status?
Custom Fields channel
string
web/ios/android
traffic_source
string
direct, google, facebook.com
traffic_medium
string
organic, cpc, direct, referral
first_order
bool
TRUE, FALSE
Event: $transaction
complete
Key
https://siftscience.com/developers/docs/curl/events-api/reserved-events/transaction
m
Use Synchronous Workflows?
n/a
missing incomplete/incorrect
No
Field
Type
$user_id
string
Comments
$order_id
string
"12345"
$transaction_id
string
"12345"
$transaction_type
enum
not available
Status Sift comments
BliBli comments
e.g $sale/$void/$refund/$auth/$capture
$transaction_status
enum
$success/$failure/$pending
$amount
int
in micros e.g $1 = 1000000
$currency_code
string
"USD"
$user_email
string
$billing_address { }
address
$name
string
$address1
string
$city
string
$region
string
$country
string
$zipcode
string
$phone
string
m
see account create/update
2-letter country code "US", "ES" m "+1-415-555-2323"
$payment_method { } $payment_type
enum
e.g "$credit_card"
enum
e.g "$stripe"
see account create/update
$card_bin
string
first 6 digits "123456"
see account create/update
$card_last4
string
last 4 digits "6789"
see account create/update
$cvv_result_code
string
m
$avs_result_code
string
m
need to check if we get this or not from payment gateway
$session_id
string
m
is this the same session id from browser session_id?, the transaction update can come from backend system of payment gateway, not via browser.
$payment_gateway
need to check if we get this or not from payment gateway
Custom Fields transaction_3ds
bool
This is to mark the transactions that were se this will be fine
Event: $login / $logout
complete
Key
https://siftscience.com/developers/docs/curl/events-api/reserved-events/login
m
missing incomplete/incorrect
Use Synchronous Workflows?
No
Field
Type Sample
$ip
string "192.168.1.1"
$user_id
string
$session_id
string
$login_status ($login only)
enum "$success", "$failure"
n/a Status
not available Sift comments
BliBli comments
m
see account create/update
m
see account create/update
m
not sent to backend microservice that validate login
$browser $user_agent
string
$app
n/a string
n/a
$os_version
string
n/a
$device_manufacturer
string
n/a
$device_model
string
n/a
$device_unique_id
string
n/a
$app_name
string
n/a
$app_version
string
n/a
$os
we won't be doing app for the trial
Steps
Notes
Create Decisions in Console
https://siftscience.com/resources/tutorials/decisions#create-decisions
Configure Webhooks for Decisions
https://siftscience.com/resources/tutorials/decisions#connecting-decisions
Send Decisions at appropriate times via API https://siftscience.com/developers/docs/curl/decisions-api/apply-decisions
Decisions
https://siftscience.com/resources/tutorials/decisions#create-decisions Decisions to be configured in the Sift Console
Decision Name
Decision ID
Abuse Type
Category
Entity
Looks Bad - Known Fraudster
looks_bad_known_fraudster
Payment Abuse
Block
User
Looks Bad - Stolen Credit Card
looks_bad_bad_cc
Payment Abuse
Block
User
Looks Good - Employee
looks_good_employee
Payment Abuse
Accept
User
Business Decision
Decision ID
Source
Blo ck a known fraudster returning
looks_bad_known_fraudster
When to send a decision via API
MANUAL_REVIEW
Block a user using a bad credit card looks_bad_bad_cc
MANUAL_REVIEW
Allow an Employee to make purchas looks_good_employee
AUTOMATED_RULE
Webhook URL
View more...
Comments