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)