Questions? Feedback? powered by Olark live chat software

Backend API

The Backend API helps you integrate your application’s back-end server with Simility software, collect the required data, and transmit the data to Simility’s software. Before sending data from your back-end servers using this API, ensure you agree and sign off on the final schema with Simility. Based on the agreed schema, our data analysts create and configure an instance for your business.

Simility provides you a UUID, an api-bearer-token, and endpoints that enable your application to connect to Simility software. Simility software accepts data in the JSON format when you choose the Backend API to send the data. You need to construct a JSON payload of the data with respect to the fields agreed upon and then send it to Simility software. You can send the JSON files using the following endpoints:

+ ingress
Description Use the ingress endpoint to send new data into the Simility software. Data feeds received through this endpoint will be considered for processing by Simility’s pipelines.
URL
<UUID>.simility.com/server/rest/ingress
Example
$> curl -i -H "Authorization: Bearer <api-bearer-token>" -X 'POST' -d @jsonfilepath 'https://<UUID>.simility.com/server/rest/ingress'

In the above example, replace:

  • <api-bearer-token> with the bearer token provided by Simility
  • @jsonfilepath with the path of the JSON file that you want to send to the Simility software
  • <UUID> with the UUID provided by Simility.
+ update
Description Use the update endpoint to update the existing data including decisions taken by your automated systems or by your analysts using any internal systems.

To send decision updates, you must create decision labels specific to your business within the Simility web console.

You can also use the update endpoint to update the data that is sent through the ingress endpoint. The update endpoint just performs the upsert operation over the rows that are previously sent, but does not triggers reinvestigation of the existing rows with updates. If you want the existing rows with updates to be reinvestigated, send the data as new data using the ingress endpoint.

URL
<UUID>.simility.com/server/rest/ingress
Example
$> curl -i -H "Authorization: Bearer <api-bearer-token>" -X 'PUT' -d @jsonfilepath 'https://<UUID>.simility.com/server/rest/ingress

In the above example, replace:

  • <api-bearer-token> with the bearer token provided by Simility
  • @jsonfilepath with the path of the JSON file that you want to send to the Simility software
  • <UUID> with the UUID provided by Simility.

JSON Payload

As Simility software accepts data feeds only in the form of JSON format, you can construct the JSON payload using the following parameters to send data feeds from your back-end servers.

Parameters
Name Type Description
entity String Name of the table in which the data to be stored.
id String A unique ID that identifies a record in the entity.
fields key-value The fields parameter is a map of key-value pairs. The key-value pairs are the actual data feeds (schema) that you are suppose to send to Simility’s software for fraud detection. Work with the data analyst assigned to your business to discuss and freeze schema before you start sending the data feeds to Simility software.
The Simility software accepts all basic data types (such as String, Numeric, Date) and also accepts nested data, including maps and arrays, to support complex data structure.
Individual key-value data within the fields parameter can change for every POST; that is, sending a subset of fields or any additional field per call and the schema is dynamically handled at Simility’s back end.
For the update endpoint, the existing records will be updated or merged based on the unique key (id) of the payload.

Example

//Ad Table
[{
	"entity": "ad",
	"id": "CA360497",
	"fields": {
		"language": "en-US",
		"referral_channel": "www.google.com",
		"creation_time": "2015-05-23 13:35:00",  //please use UTC  timezone.
		"ip_address": "204.23.100.11",  //from DeviceRecon, but you can provide it too.
		"session_id": "ES45D54ER82GF5D2DF5DFG1DF5DFG51DF",
		"device_id": "87YU98YUHJK", //from DeviceRecon
		"device_user_agent": "CorpInc/2.1.8 (build: 140111135; samsung SM-N910V LMY47X; Android 5.1.1; en_US)",  //from DeviceRecon
		"status": "ACTIVE",
		"market_region": "US",
		"user_id": "MCBUGGY1978",  //user who created the ad
		"user_first_name": "John",
		"user_last_name": "Doe",
		"user_email": "john.doe@gmail.com",
		"user_phone": "6502398673",
		"title": "New motorcycle battery",
		"description": "Selling brand new motorcycle battery $70 obo",
		"image_phash": "723443A87934IURJE",
		"image_url": "www.buy-my-stuff.com/CA360497/image.html",
		"category_level1": "Electronics",
		"category_level2": "General",
		"category_level3": "Battery",
		"listing_type": "Premium",
		"item_condition": "new",
		"location": "Palo Alto",
		"currency" : "USD",
		"price": 70,
		"price_usd": 70
		"custom_field_1": "xyz", //any additional field you would like to send. Please let us know the final field name.
		"custom_field_2": "xyz", //any additional field you would like to send. Please let us know the final field name.
		"custom_field_3": "xyz", //any additional field you would like to send. Please let us know the final field name.
		"custom_field_4": "xyz", //any additional field you would like to send. Please let us know the final field name.
		"custom_field_5": "xyz" //any additional field you would like to send. Please let us know the final field name.
	}
}]