Project Description:
We have lunched our new GPT site.We want to add crowdflower tasks in our offerwall.
Crowdflower send two json post request in my server.The goal of this task is to validate their SHA1 signature and entry some data in mysql database.
Take a look at the following codes :
1.This is the POST body they send in first request :
{
payload: {
uid: "900af657a65e",
amount: 50,
adjusted_amount: 25
},
signature: "4dd0f5da77ecaf88628967bbd91d9506"
}
signature is a SHA1 signature of the payload and your secret channel key (given to you in the setup process). This should be used to validate the post. For example, you can validate the payload in Ruby with:
require 'json'
require 'cgi'
require 'digest/sha1'
secret_key = "secret_key_defined_in_setup_phase"
params = CGI::parse(post_body)
digest = Digest::SHA1.hexdigest(params["payload"]+secret_key)
if digest == params["signature"]
# Valid signature
payload = JSON.parse(params["payload"])
# Respond with status code 200 and conversion id
else
# Invalid signature. You should response with a non-200 response code.
end
This is the secound request they send :
{
payload: {
conversion_id: "32402345984532934511",
amount: 50,
adjusted_amount: 25,
job_title: "The title of the last job they completed (and 2 other jobs)"
},
signature: "1221299611f823b8c30a347373b449ad"
}
Like the first one it also require the signature validation. For better i think you should take a look at their channel api page first :
https://crowdflower.com/docs/channel_api/
Now i want to validate this in php. I'll pay full $25 USD for this. This rate is fixed. I do not require anny skill or anything else just simply give me the script i'll check and pay.