Wie richte ich die POS-System-API von Gonnado per Webhook ein?

Wie kann ich mein POS-System mit der POS-System-API von Gonnado per Webhook verbinden, alternativ, wenn kein Plugin verfügbar ist?

Zusammenfassung
Mit diesem Webhook können Coupons, die von der Gonnado App ausgegeben wurden, programmatisch eingelöst werden. Der Hauptanwendungsfall ist das automatische Einlösen von Coupons am Point of Sale durch die Integration mit einem POS-System.

API-Endpunkte

https://gonnado.com/en/business/redemption_webhook Produktion
https://staging.gonnado.com/en/business/redemption_webhook Testing

 

Authentifizierung

Der Endpunkt akzeptiert nur HTTP-Anforderungen mit der POST-Methode, die ein Authentifizierungstoken bereitstellen. Dieses Token kann entweder als Anfrage-Header oder im Hauptteil der Anfrage hinzugefügt werden.

Gonnado API-Schlüssel


Jede Anfrage muss mit einem API-Schlüssel authentifiziert werden. Der Schlüssel ist ein 64-stelliger alphanumerischer Hash.

Um einen API-Schlüssel zu erhalten, besuchen Sie die gonnado-Business-Schnittstelle. Navigieren Sie zu Ihren Kontoeinstellungen und klicken Sie auf den Link "Gonnado API". Kopieren Sie das vorhandene API-Token oder erzeugen Sie einen neuen Schlüssel.

Example Key: b2eead2681536de4b250ff97cd3c9059ed3f603f6f691de73c8fc154af5785a34

Authentifizierung über HTTP-Header
Die Anfrage kann authentifiziert werden, indem der Authentifizierungs-Header mit einem gültigen gonnado-API-Schlüssel hinzugefügt wird.

Beispiel

curl -i -X "POST" --header "Authentication: <api_key>" \
https://staging.gonnado.com/en/business/redemption_webhook

Authentifizierung über POST-Body

Wenn das Hinzufügen von Headern zur Anfrage nicht möglich ist, kann man sich authentifizieren, indem man den Schlüssel im Körper der HTTP-Anfrage sendet.

Beispiel

curl -i -X "POST" \
--header "Content-Type: application/json" \
--data= '{ "apiKey": "<api_key>" }'
https://staging.gonnado.com/en/business/redemption_webhook

Wenn der API-Schlüssel gültig ist, sollte der Endpunkt 204 NO CONTENT zurückgeben, was als erfolgreiche Antwort interpretiert werden kann.



Daten anfordern

Der Endpunkt erwartet ein gültiges, flaches, UTF-8-kodiertes JSON-Objekt. Der Anfragekörper muss mit Content-Type: application/json kodiert werden.

JSON Schema

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Gonnado Ads API Coupon redemption Webhook",
"type": "object",
"properties": {
"apiKey": {
"type": "string",
"description": "Gonnado Ads API key. If not provided in the request header, this field is required.",
"examples": [
"b2eead2681536de4b250ff97cd3c9059ed3f603f6f691de73c8fc154af5785e34"
]
},
"redemption_timestamp": {
"type": "string",
"description": "Time of redemption formatted as ISO 8601 timestamp.",
"examples": [
"2019-02-04T20:17:39.419Z"
]
},
"redemption_code": {
"type": "string",
"description": "Coupon Code as provided by client to gonnado. If external_customer_id is not provided, this field is required."
},
"external_customer_id": {
"type": "string",
"description": "Hashed consumer ID from a list that was given to gonnado.",
"examples": [
"ffd1128de08225d4e35c6681e102145901f3905e9fbe1372d606287d84adc614"
]
},
"redemption_value": {
"type":"number",
"description": "The basket value of the transaction. Can be either an integer or a floating point number.",
"examples": [
15.95,
15
]
}
},
"required": [
"redemption_timestamp",
"redemption_value"
]
}


Beispiel

curl -i -X "POST" \
https://staging.gonnado.com/en/business/redemption_webhook \
-H "Authentication: <api_key>" \
-H "Content-Type: application/json" \
-d '{
"redemption_timestamp":"2019-02-04T20:17:39.419Z",
"external_customer_id":"ffd1128de08225d4e35c6681e102145901f3905e9fbe1372d606287d84adc614",
"redemption_value": 15.95
}'