Tutorial sull'accesso al catalogo

introduzione

Questa documentazione ha lo scopo di guidare gli sviluppatori nell'integrazione del catalogo di vendita e nell'ordinazione, con o senza pagamento, utilizzando l'API Yoplanning.pro. L'obiettivo è consentire la vendita delle attività di Yoplanning all'interno del tuo sistema. Presumiamo che tu abbia già letto la documentazione API e che tu possieda il tuo token API.

Passaggi del flusso di lavoro di integrazione

1. Recupero dei dati del tuo team

  • Endpoint: /api/v3.1/teams/

  • Informazioni essenziali: team_id e vendor_id

  • Utilizzo: il team_id è richiesto per quasi tutte le richieste API. Il vendor_id è necessario se desideri utilizzare il Payment Manager.

2. Ottenere l'elenco dei prodotti

  • Endpoint: /api/v3.1/teams/[teamId]/online-products/

  • Funzione: Recupera l'elenco dei prodotti che possono essere venduti online.

  • Parametri aggiuntivi:

    • lang: (string) Indica la lingua dei campi traducibili (come titolo, descrizione, ecc.). Utilizzare un codice ISO2. Impostazione predefinita: "en" (inglese). Opzioni possibili: fr (francese), de (tedesco).

    • start_date: (data) Filtra i risultati per restituire solo quelli con disponibilità dopo questa data. Formato data: "AAAA-MM-GG".

    • end_date: (data) Filtra i risultati per restituire solo quelli con disponibilità prima di questa data. Formato data: "AAAA-MM-GG".

    • categoria: (stringa) Filtra i prodotti per categoria specifica.

3. Recupero della disponibilità del prodotto

  • Endpoint: /api/v3.1/teams/[teamId]/online-products/[productId]/availabilities/

  • Funzione: mostra le sessioni disponibili per un prodotto specifico.

  • Filtro: data, prezzo, numero di biglietti, personale (istruttore), ecc.

4. (Facoltativo) Recupero delle opzioni disponibili (attrezzature)

  • Endpoint: /api/v3.1/teams/[teamId]/availability-details/[pk]/

  • Funzione: Recupera i dettagli delle opzioni disponibili per una sessione specifica.

5. (Facoltativo) Verifica della disponibilità

  • Endpoint: /api/v3.1/teams/[teamId]/order-validation

  • Funzione: Permette di verificare se il contenuto del carrello è ancora disponibile prima di finalizzare l'ordine.

6. (Facoltativo) Creazione di un pagamento tramite il gestore dei pagamenti

  • Endpoint: https://payment.yoplanning.pro/api/create-payment

  • Funzione: Crea un pagamento e recupera il link di pagamento.

  • Gestione IPN: gestione della notifica immediata del pagamento sull'URL di richiamata fornito.

7. Effettuazione dell'ordine

  • Endpoint: /api/v3.1/teams/[teamId]/orders/

  • Funzione: Registra l'ordine in Yoplanning, aggiorna il programma, visualizza l'ordine e i partecipanti in Yoplanning, avvisa il personale e aggiorna la disponibilità.

Esempio di utilizzo con cURL

  • Recupero dei prodotti:

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

* **Recupero della disponibilità del prodotto**: ```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' ``` * **Effettuare l'ordine**: ```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" : "[email protected]"}}], "payments" : [{"amount" : 51.25, "client" : {"first_name" : "Framold", "last_name" : "Doe", "email" : "[email protected]"}}]}' https://yoplanning.pro/api/v3.1/teams/5a90332e-568f-4980-9859-88a984844a4d/orders -H 'Authorization: Token 4504c2cb0d87a93106d4de029f407c86149f2ada' ```

Assicurati di sostituire gli ID e i token con quelli del tuo Team per tutte le richieste.


Nota: questa documentazione è un esempio base di integrazione. Per dettagli più specifici e casi d'uso avanzati, consultare la documentazione ufficiale dell'API Yoplanning.pro.

Last updated