> For the complete documentation index, see [llms.txt](https://docs.yoplanning.support/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.yoplanning.support/pt/developpeur/tutoriel-dacces-au-catalogue.md).

# Tutorial para acessar o catálogo

### Introdução

Esta documentação tem como objetivo orientar os desenvolvedores na integração do catálogo de vendas e na realização de pedidos, com ou sem pagamento, utilizando a API do Yoplanning.pro. O objetivo é possibilitar a venda de atividades do Yoplanning dentro do seu sistema. Pressupomos que você já tenha consultado a documentação da API e possua seu token de API.

## Etapas do fluxo de trabalho de integração

### 1. Recuperando os dados da sua equipe

* **Endpoint**: `/api/v3.1/teams/`
* **Informações Essenciais**: `team_id` e `vendor_id`
* **Uso:** O `team_id` é obrigatório para quase todas as solicitações de API. O `vendor_id` é obrigatório se você quiser usar o Gerenciador de Pagamentos.

### 2. Obtenção da Lista de Produtos

* **Endpoint**: `/api/v3.1/teams/[teamId]/online-products/`
* **Função**: Recupera a lista de produtos que podem ser vendidos online.
* **Parâmetros adicionais**:
  * **lang**: (string) Indica o idioma dos campos traduzíveis (como título, descrição, etc.). Use um código ISO2. Padrão: `en` (inglês). Opções possíveis: `fr` (francês), `de` (alemão).
  * **start\_date**: (data) Filtra os resultados para retornar apenas aqueles com disponibilidade após esta data. Formato da data: `AAAA-MM-DD`.
  * **end\_date**: (data) Filtra os resultados para retornar apenas aqueles com disponibilidade antes desta data. Formato da data: `AAAA-MM-DD`.
  * **category**: (string) Filtra produtos por categoria específica.

### 3. Recuperação da disponibilidade do produto

* **Endpoint**: `/api/v3.1/teams/[teamId]/online-products/[productId]/availabilities/`
* **Função**: Exibe as sessões disponíveis para um produto específico.
* **Filtragem**: Data, preço, número de ingressos, equipe (instrutor), etc.

### 4. (Opcional) Recuperar opções disponíveis (equipamentos)

* **Endpoint**: `/api/v3.1/teams/[teamId]/availability-details/[pk]/`
* **Função**: Recupera detalhes das opções disponíveis para uma sessão específica.

### 5. (Opcional) Verificação de disponibilidade

* **Endpoint**: `/api/v3.1/teams/[teamId]/order-validation`
* **Função**: Permite verificar se os itens do carrinho ainda estão disponíveis antes de finalizar o pedido.
* [Para mais detalhes, clique aqui](/pt/developpeur/tutoriel-dacces-au-catalogue/verification-de-la-disponibilite-via-lapi-yoplanning.md)

### 6. (Opcional) Criar um pagamento através do Gerenciador de Pagamentos

* **Endpoint**: `https://payment.yoplanning.pro/api/create-payment`
* **Função**: Cria um pagamento e recupera o link de pagamento.
* **Gestão de IPN**: Gerenciamento de notificações instantâneas de pagamento no URL de retorno de chamada fornecido.

{% content-ref url="/pages/OrLQeL52pg78VdhwjfR1" %}
[Documentação da API do YoPlanning Payment Manager](/pt/developpeur/tutoriel-dacces-au-catalogue/yoplanning-payment-manager-api-documentation.md)
{% endcontent-ref %}

### 7. Como fazer o pedido

* **Endpoint**: `/api/v3.1/teams/[teamId]/orders/`
* **Função**: Registra o pedido no Yoplanning, atualiza a agenda, exibe o pedido e os participantes no Yoplanning, notifica a equipe e atualiza a disponibilidade.
* **Opção**: Você pode solicitar ao sistema YoPlanning que não envie a confirmação por e-mail, caso prefira gerenciá-la você mesmo:

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

## Exemplo de uso com cURL

* **Recuperação de Produtos**:

  <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'
```

\\\* \*\*Obtendo a disponibilidade do produto\*\*: \`\`\`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' \`\`\` \* \*\*Faça o pedido\*\*: \`\`\`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' \`\`\`

Certifique-se de substituir os IDs e tokens pelos da sua equipe em todas as solicitações.

***

**Observação:** Esta documentação é um exemplo básico de integração. Para obter detalhes mais específicos e casos de uso avançados, consulte a documentação oficial da API do Yoplanning.pro.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
