Receive data via Webhook
Sample python code to validate X-Signature-SHA256
X-Signature-SHA256 import hashlib
import hmac
import base64
payload_body = """{yofi_prediction_fields:"...."}""" # json string received from Yofi
payload_sign = http_headers.get("x-signature-sha256")
partner_secret = "secret_key_provided_by_yofi"
digest = hmac.new(partner_secret.encode('utf-8'),
msg=payload_body.encode('utf-8'),
digestmod=hashlib.sha256).digest()
sign_sha256 = base64.b64encode(digest).decode('utf-8')
return hmac.compare_digest(digest_base64, signature_header) # True/FalseExample data push request from Yofi to Partner
curl --location 'https://yofi-result-webhook.partner.com' \
--header 'Content-Type: application/json' \
--header 'x-signature-sha256: YzEPMmi38Huv7qQ4wD7dO6Y1j0rXlv3izoyL8YVKW9k=' \
--data '{
"shop_url": "aaa.myshopify.com",
"entity_type": "order || customer',
"entity_id": "123456",
"predictions": {
"bot_abuse_score": {
"prediction_name": "bot_abuse_score",
"prediction_value": "low/medium/high",
"justification": "High frequency of orders flagged by previous checks.",
"indicators": [
{
"name": "Repeated resell pattern observed",
"is_risk": true //true for risk, false for trust
}
]
},
"return_abuse_score": {
"prediction_name": "return_abuse_score",
"prediction_value": "low/medium/high",
"justification": "High frequency of orders flagged by previous checks.",
"indicators": [
{
"name": "Repeated resell pattern observed",
"is_risk": true //true for risk, false for trust
}
]
}
"other_scores....": {}
}
}'Payload fields description
Last updated
Was this helpful?