# Anleitung zum Zugriff auf den Katalog

### Einführung

Diese Dokumentation soll Entwickler bei der Integration des Verkaufskatalogs und der Bestellabwicklung (mit oder ohne Zahlung) über die Yoplanning.pro-API unterstützen. Ziel ist es, den Verkauf von Yoplanning-Aktivitäten in Ihrem System zu ermöglichen. Wir setzen voraus, dass Sie die API-Dokumentation bereits gelesen haben und über Ihr API-Token verfügen.

## Schritte des Integrations-Workflows

### 1. Abrufen der Teamdaten

* **Endpunkt**: `/api/v3.1/teams/`
* **Wichtige Informationen**: `team_id` und `vendor_id`
* **Verwendung**: Die `team_id` ist für fast alle API-Anfragen erforderlich. Die `vendor_id` ist erforderlich, wenn Sie den Zahlungsmanager verwenden möchten.

### 2. Beschaffung der Produktliste

* **Endpunkt**: `/api/v3.1/teams/[teamId]/online-products/`
* **Funktion**: Ruft die Liste der Produkte ab, die online verkauft werden können.
* **Zusätzliche Parameter**:
  * **lang**: (Zeichenkette) Gibt die Sprache der übersetzbaren Felder (z. B. Titel, Beschreibung usw.) an. Verwenden Sie einen ISO-2-Code. Standard: `en` (Englisch). Mögliche Optionen: `fr` (Französisch), `de` (Deutsch).
  * **Startdatum**: (Datum) Filtert die Ergebnisse und zeigt nur Einträge mit Verfügbarkeit ab diesem Datum an. Datumsformat: `JJJJ-MM-TT`.
  * **end\_date**: (Datum) Filtert die Ergebnisse und zeigt nur Angebote mit Verfügbarkeit vor diesem Datum an. Datumsformat: `YYYY-MM-DD`.
  * **Kategorie**: (Zeichenkette) Filtert Produkte nach einer bestimmten Kategorie.

### 3. Abrufen der Produktverfügbarkeit

* **Endpunkt**: `/api/v3.1/teams/[teamId]/online-products/[productId]/availabilities/`
* **Funktion**: Zeigt die für ein bestimmtes Produkt verfügbaren Sitzungen an.
* **Filterung**: Datum, Preis, Anzahl der Tickets, Personal (Kursleiter) usw.

### 4. (Optional) Verfügbare Optionen abrufen (Ausrüstung)

* **Endpunkt**: `/api/v3.1/teams/[teamId]/availability-details/[pk]/`
* **Funktion**: Ruft Details zu den für eine bestimmte Sitzung verfügbaren Optionen ab.

### 5. (Optional) Verfügbarkeitsprüfung

* **Endpunkt**: `/api/v3.1/teams/[teamId]/order-validation`
* **Funktion**: Ermöglicht es Ihnen, vor Abschluss der Bestellung zu prüfen, ob die Artikel im Warenkorb noch verfügbar sind.
* [Weitere Details finden Sie hier](/de/developpeur/tutoriel-dacces-au-catalogue/verification-de-la-disponibilite-via-lapi-yoplanning.md)

### 6. (Optional) Erstellen einer Zahlung über den Zahlungsmanager

* **Endpunkt**: `https://payment.yoplanning.pro/api/create-payment`
* **Funktion**: Erstellt eine Zahlung und ruft den Zahlungslink ab.
* **IPN-Management**: Verwaltung der Sofortzahlungsbenachrichtigung über die angegebene Callback-URL.

{% content-ref url="/pages/kmDfWOguMdD5nNIfzcig" %}
[YoPlanning Payment Manager — API-Dokumentation](/de/developpeur/tutoriel-dacces-au-catalogue/yoplanning-payment-manager-api-documentation.md)
{% endcontent-ref %}

### 7. Bestellung aufgeben

* **Endpunkt**: `/api/v3.1/teams/[teamId]/orders/`
* **Funktion**: Erfasst die Bestellung in Yoplanning, aktualisiert den Zeitplan, zeigt die Bestellung und die Teilnehmer in Yoplanning an, benachrichtigt die Mitarbeiter und aktualisiert die Verfügbarkeit.
* **Option**: Sie können das YoPlanning-System anweisen, die Bestätigung nicht per E-Mail zu versenden, wenn Sie dies selbst verwalten möchten:

  ```
  /api/v3.1/teams/{teamId}/orders/?send_email=0
  ```

## Anwendungsbeispiel mit cURL

* **Produktrückgewinnung**:

  <pre data-full-width="false"><code>
  </code></pre>

```bash
curl https://yoplanning.pro/api/v3.1/teams/5a90332e-568f-4980-9859-88a984844a4d/online-products -H 'Authorization: Token 4504c2cb0d87a93106d4de029f407c86149f2ada'
```

\\\* \*\*Abrufen der Produktverfügbarkeit\*\*: \`\`\`bash curl <https://yoplanning.pro/api/v3.1/teams/5a90332e-568f-4980-9859-88a984844a4d/online-products/f16ed6c6-e972-4232-b452-ecd393e61642/availabilities> -H 'Authorization: Token 4504c2cb0d87a93106d4de029f407c86149f2ada' \`\`\` \* \*\*Bestellung aufgeben\*\*: \`\`\`bash curl -H "Content-Type: application/json" -X POST -d '{"external\_reference" : "956", "items" : \[{"session\_group" : "4f655815-58d9-4c7c-b1c9-2ea152073371", "price" : {"amount" : 51.25}, "client" : {"id" : "71ea849f-226c-4302-a433-528179634aa7", "first\_name" : "John", "last\_name" : "Doe", "email" : "<john.doe@gmail.com>"}}], "payments" : \[{"amount" : 51.25, "client" : {"first\_name" : "Framold", "last\_name" : "Doe", "email" : "<john.doe@gmail.com>"}}]}' <https://yoplanning.pro/api/v3.1/teams/5a90332e-568f-4980-9859-88a984844a4d/orders> -H 'Authorization: Token 4504c2cb0d87a93106d4de029f407c86149f2ada' \`\`\`

Ersetzen Sie unbedingt die IDs und Tokens bei allen Anfragen durch die Ihres Teams.

***

**Hinweis:** Diese Dokumentation ist ein einfaches Integrationsbeispiel. Ausführlichere Informationen und fortgeschrittene Anwendungsfälle finden Sie in der offiziellen Yoplanning.pro-API-Dokumentation.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.yoplanning.support/de/developpeur/tutoriel-dacces-au-catalogue.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
