Image and content moderation services.
There are 5 avalable for API
- Closed questions(Standard Criteria (5 mins response time)) - Answer can be only approved, declined or ban(kenta).
- Choices(Yes or No Question from Image (30 mins response time)) - This model use to ask question with multiple choice. Anwser can be one or multiple.
- Photo tags(Tag an object in the image (60 mins response time)) - This model use to create a selection area to find where answer is, by drag the area on image from webpage.
- Messages(Message Question from Image (30 mins response time)) - This model allow moderator type the anwser on what they see.
- Predictions(Images (AI Beta / 95% accuracy)) - Use AI to prediction the result
Please see more usage documentation for details on our guideline.
Getting Started
KSequencing 0.1.25 works with Rails 4.1 onwards. You can add it to your Gemfile with:
gem 'k_sequencing', '~> 0.1.25'
Then run bundle install
Next, you need to run the generator:
$ rails generate k_sequencing:install
The generator will install an initializer which describes ALL of KSequencing's configuration options. It is imperative that you take a look at it. When you are done, you are ready to add KSqeuencing to any of your codes.
You have to contact us Datawow to get your token. With this token you'll be able to use our gem properly.
Usage
There are 3 oparations of each model as the same name see example below
Get image
KSequencing.client.find_image(id)
Field | Type | Required | Description |
---|---|---|---|
token | string | Yes | Project token |
id | string | Yes | Image id or Client's image id |
Note:
- You must choose id or custom_id for search. Not both.
- Image data dynamic by project token.
Sample request
KSequencing.client.find_image("5a40be59fb9d7f27354c5efa")
or
KSequencing.client.find_image("your custom id")
or
KSequencing.client.find_image("5a40be59fb9d7f27354c5efa", { token: "[you_token]" })
Client can check whether request is success by
response = KSequencing.client.find_image("5a40be59fb9d7f27354c5efa")
if response.successful?
# Do stuff
else
log.error("Request was not success, somethings went wrong.")
end
Sample response
Closed questions - Answer can be only approved, declined or ban(kenta). or Override data [:token, :postback_url, :postback_method] Note: You must choose id or custom_id for search. Not both. or However This project is licensed under datawowio{
"data": {
"image": {
"id": "5a40be59fb9d7f27354c5efa",
"answer": "approved",
"credit_charged": 1,
"custom_id": "custom_id",
"data": "image_url",
"postback_url": "postback_url",
"processed_at": "2017-12-25T16:02:00.599+07:00",
"project_id": "project_id",
"status": "processed"
}
},
"status": 200,
"message": "success",
"meta": {
"code": 200,
"message": "success"
}
}
Create Image Standard Criteria (5 mins response time)
KSequencing.image_closed_question.create()
Field
Type
Required
Description
token
string
Yes
Project token
data
string
Yes
Data for moderate
postback_url
string
No
Image postback url
postback_method
string
No
Postback method
custom_id
string
No
Custom's id
Sample request
KSequencing.image_closed_question.create({ data: "image_url" })
KSequencing.image_closed_question.create({
custom_id: "custom_id",
data: "image_url",
postback_method: "POST",
postback_url: "https://example.com/callbacks",
token: "[you_token]"
})
Sample response
{
"data": {
"id": "5a40c77ffb9d7f27354c60c2",
"answer": nil,
"credit_charged": 0,
"custom_id": "custom_id",
"data": "image_url",
"postback_url": "https://example.com/callbacks",
"processed_at": nil,
"project_id": "project_id",
"status": "unprocess"
},
"status": 200,
"message": "success",
"meta": {
"code": 200,
"message": "success"
}
}
Sample postback data
POST "https://example.com/callbacks?answer=declined&custom_id=custom_id&image_id=5a40cfc2fb9d7f27354c62b5&task_id=5a40cfc2fb9d7f27354c62b5"
Get list of images
KSequencing.image_closed_question.all({ token: "[you_token]" })
Field
Type
Required
Description
token
string
Yes
Project token
page
integer
No
Image id
per_page
integer
No
Client's image id
Sample request
KSequencing.image_closed_question.all
KSequencing.image_closed_question.all({
page: 1,
per_page: 20,
token: "[you_token]"
})
Sample results
{
"data": {
"images": [
{
"answer": "approved",
"credit_charged": 1,
"custom_id": "custom_id",
"data": "image_url",
"id": "5a40c77ffb9d7f27354c60c2",
"postback_url": "https://example.com/callbacks",
"processed_at": "2017-12-25T16:40:19.699+07:00",
"project_id": "project_id",
"status": "processed"
},
{
"answer": "approved",
"credit_charged": 1,
"custom_id": "custom_id",
"data": "image_url",
"id": "5a40be59fb9d7f27354c5efa",
"postback_url": "https://example.com/callbacks",
"processed_at": "2017-12-25T16:02:00.599+07:00",
"project_id": "project_id",
"status": "processed"
},
...
]
},
"status": 200,
"message": "success",
"total": 3,
"meta": {
"code": 200,
"current_page": 1,
"message": "success",
"next_page": 2,
"prev_page": -1,
"total_count": 3,
"total_pages": 2
}
}
token: "[you_token]"
you can config in configuration file is not necessary to send to method every time you request, if you have one project token we recommeded this approachPlease see more usage documentation for details on our guideline.
License