Snowdrop MRS API
Snowdrop HomeTry our demo
  • Snowdrop Enrichment MRS
  • OpenAPI Docs
    • Enrich one transaction - GET
    • Enrich multiple transactions - POST
  • Implementation Guides
    • Quick Start
    • Data. How to get the best results
    • Examples
    • Recommended UX
    • Additional UX Considerations
  • Basic Concepts
    • List request
    • Restrictive vs Extended
    • Merchant Category Codes
  • Advanced Use Cases
    • Categorization
      • Categorization Overview
      • Transaction Category
      • Category Icons
    • Crowdsourcing
      • Overview
      • Crowdsourcing Example
    • Payment Intermediaries
      • Payment Intermediaries Example
    • Clear Response Enrichment
    • Google Maps
      • About Google Maps IDs
  • Legal & Compliance
    • Security / Compliance FAQ
      • Data Encryption
      • Penetration Testing
    • Terms of Service
      • MRS Terms of Service
      • Google Maps Terms of Service
  • Troubleshooting
  • FAQ
Powered by GitBook
On this page

Was this helpful?

  1. Advanced Use Cases
  2. Crowdsourcing

Crowdsourcing Example

Helps improve match rates on an ongoing basis

Please read the Quick Start guide to understand the basics of MRS first.

In order to call the /crowdsourcing endpoint, and report user feedback (see Overview):

Required Fields

In the /merchant/list and /merchant endpoints, the X-Request-Id and X-Timestamp headers are returned. In order to submit a crowdsourcing request, you must store these values and send them in the requestId and requestTimstamp fields. If the report is in relation to a transaction in a /merchant/list request, you must also include the transactionId field of that transaction.

More on this in the OpenAPI spec.

curl --request POST --url https://regional-snowdrop-domain-goes-here.com/api/v3/crowdsourcing --header 'Content-Type: application/json' --header 'X-Api-Key: <YOUR-API-KEY>' --data '{ "requestId": "1234abcd-1234-1234-1234-1234567890abc", "requestTimestamp": 1663766866877, "transactionId": "1234x1234", "wrongFields": [ "name", "address", "img" ], "suggestions": { "name": "McDonalds", "address":"10 Downing Street", "img": "new_logo.url" } }'

import http.client

conn = http.client.HTTPSConnection("regional-snowdrop-domain-goes-here.com")

payload = "{"requestId": "1234abcd-1234-1234-1234-1234567890abc","requestTimestamp": 1663766866877,"transactionId": "218x09d","wrongFields": ["name","address","img"],"suggestions": {"name": "McDonalds","address":"10 Downing Street","img": "new_logo.url"}}"

headers = { 'Content-Type': "application/json", 'X-Api-Key': "<YOUR-API-KEY>" }

conn.request("POST", "/api/v3/crowdsourcing", payload, headers)

res = conn.getresponse() data = res.read()

print(data.decode("utf-8"))

var client = new RestClient("https://regional-snowdrop-domain-goes-here.com/api/v3/crowdsourcing");

var request = new RestRequest(Method.POST);

request.AddHeader("Content-Type", "application/json"); request.AddHeader("X-Api-Key", "<YOUR-API-KEY>"); request.AddParameter("application/json", "{"requestId": "1234abcd-1234-1234-1234-1234567890abc","requestTimestamp": 1663766866877,"transactionId": "218x09d","wrongFields": ["name","address","img"],"suggestions": {"name": "McDonalds","address":"10 Downing Street","img": "new_logo.url"}}", ParameterType.RequestBody);

IRestResponse response = client.Execute(request);

const data = JSON.stringify({ "requestId": "1234abcd-1234-1234-1234-1234567890abc", "requestTimestamp": 1663766866877, "transactionId": "218x09d", "wrongFields": [ "name", "address", "img" ], "suggestions": { "name": "McDonalds", "address": "10 Downing Street", "img": "new_logo.url" } });

const xhr = new XMLHttpRequest();

xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {

if (this.readyState === this.DONE) {

console.log(this.responseText);

}

});

xhr.open("POST", "https://regional-snowdrop-domain-goes-here.com/api/v3/crowdsourcing");

xhr.setRequestHeader("Content-Type", "application/json");

xhr.setRequestHeader("X-Api-Key", "<YOUR-API-KEY>");

xhr.send(data);

HttpResponse response = Unirest.post("https://regional-snowdrop-domain-goes-here.com/api/v3/crowdsourcing") .header("Content-Type", "application/json") .header("X-Api-Key", "<YOUR-API-KEY>") .body("{"requestId": "1234abcd-1234-1234-1234-1234567890abc","requestTimestamp": 1663766866877,"transactionId": "218x09d","wrongFields": ["name","address","img"],"suggestions": {"name": "McDonalds","address":"10 Downing Street","img": "new_logo.url"}}") .asString();

Response

If you supplied the required fields correctly, you should recieve a success message:

{
    "message": "Report created"
}

Having problems? Consult Troubleshooting or FAQ.

PreviousOverviewNextPayment Intermediaries

Last updated 9 months ago

Was this helpful?