REST-API-Schnittstelle
Outdoor Organizer bietet eine umfangreiche REST API für Buchungspartner, mit
welcher verfügbare Termine abgefragt werden können, sowie Buchungen angelegt werden
können.
Encoding
UTF-8
Authentifizierung
Authentifizierung findet mittels HTTP Basic Auth statt.
Verwenden Sie dazu die Zugangsdaten Ihres Partner-Accounts (jetzt anfordern)
Client (Betrieb)
Unter https://app.outdoor-organizer.com/admin erhalten Sie eine Liste aller für Sie freigegebenen Outdoor Organizer Clients (Betriebe/Unternehmen). Mit der hier aufgelisteten client_id müssen alle REST aufrufe versehen werden.
export LOGIN=example(kwfat)example(kwfdot)com:password
export CLIENT=abc-def
Offers (Angebote, Kurstypen, Touren)
Mit diesem Aufruf können Sie die Liste aller Angebote eines Clients erhalten.
curl -u $LOGIN
https://app.outdoor-organizer.com/api/partner/v1/$CLIENT/offers
curl -u $LOGIN
https://app.outdoor-organizer.com/api/partner/v1/$CLIENT/offers/$OFFER_ID
Slots (Termine)
Mit diesem Aufruf können Sie die Liste aller Termine eines Clients erhalten.
Maximal 90 Tage in die Zukunft und maximal 300 Einträge.
curl -u $LOGIN https://app.outdoor-organizer.com/api/partner/v1/$CLIENT/slots
Verfügbare Parameter:
- offer: nur dieses Angebot laden (id Übergeben)
curl -u $LOGIN https://app.outdoor-organizer.com/api/partner/v1/$CLIENT/slots/$SLOT_ID
Clients (Outdoor Betriebe)
Mit diesem Aufruf können Sie eine Liste aller für Sie freigegebener Outdoor Betriebe abfragen.
curl -u $LOGIN https://app.outdoor-organizer.com/api/partner/v1/all/clients
Bookings (Buchungen)
Mit diesem Aufruf können Sie eine neue Buchung zu einem Termin-Slot anlegen.
{
"slot_id": "801ecf8e-6a4f-4dc8-92c1-c930b55cbd0e",
"attendees": [{
"price_id":
"473e0e56-cc2b-4e24-8cd2-2a86cd01d16d",
"quantity": "1"
}],
"gender": "male",
"firstname": "Foo",
"lastname": "Bar",
"company": "",
"street": "",
"postcode": "",
"city": "",
"phone": "1234",
"country": "AT",
"language": "de",
"email": "foo(kwfat)bar.com(kwfdot)com",
"comment": ""
}
curl -u $LOGIN -X post --header "Content-Type:application/json" --data "(kwfat)data(kwfdot)json" https://app.outdoor-organizer.com/api/partner/v1/$CLIENT/bookings
Pflichtfelder: 'gender', 'firstname', 'lastname', 'phone', 'email', 'language'
Mögliche Fehlercodes:
- HTTP 400 bei fehlerhaften Parametern
- HTTP 409 bei überbuchung oder ungültigem Preis
Callback
Bei Änderungen kann Outdoor Organizer eine Benachrichtigung versenden. Tragen sie dazu in den Einstellungen eine Benachrichtigungs-URL ein.
Bei einer Änderung schickt Outdoor Organizer einen HTTP Request mit JSON Daten an die angegebene URL. Die Antwort muss HTTP 200 mit dem Body-Inhalt 'OK' sein.
Beispiel:
[{"type":"slot_changed", "slot_id":"abcd-123-abcd"}]
Mögliche Werte für type:
- slot_changed
- slot_capacity_changed
- offer_changed
- offer_prices_changed
Der Aufruf wird maximal 1x pro Minute gemacht. (Achtung: Bei fehlerhafter Antwort
(nicht 'OK') wird die Benachrichtigung maximal 10x erneut gesendet. Bitte geben Sie
uns Bescheid, falls Sie davon betroffen sind)