> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sell.ia.proativia.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Obter Produto

> Retorna os detalhes de um produto específico pelo ID.

## Requisição

<ParamField header="Token" type="string" required>
  Seu token de autenticação.
</ParamField>

### Path Parameters

<ParamField path="id" type="string" required>
  ID do produto a ser recuperado.
</ParamField>

***

## Resposta

Retorna o objeto do produto. Os campos `accountId` e `updatedAt` são omitidos.

<ResponseField name="id" type="string">
  Identificador único do produto.
</ResponseField>

<ResponseField name="accountCategoryId" type="string">
  ID da categoria do produto.
</ResponseField>

<ResponseField name="name" type="string">
  Nome do produto.
</ResponseField>

<ResponseField name="description" type="string | null">
  Descrição do produto.
</ResponseField>

<ResponseField name="images" type="array | null">
  Lista de URLs de imagens do produto.
</ResponseField>

<ResponseField name="price" type="number">
  Preço do produto.
</ResponseField>

<ResponseField name="billingType" type="string">
  Tipo de cobrança. Valores: `ONE_TIME`, `WEEKLY`, `MONTHLY`, `YEARLY`.
</ResponseField>

<ResponseField name="hourlyAppointments" type="number | null">
  Duração em horas para agendamentos.
</ResponseField>

<ResponseField name="status" type="string">
  Status do produto (ex: `active`, `inactive`).
</ResponseField>

<ResponseField name="createdAt" type="string">
  Data de criação (ISO 8601).
</ResponseField>

***

## Exemplos

<RequestExample>
  ```bash GET /api/v1/product/{id} theme={null}
  curl --request GET \
    --url 'https://crm.wavups.com/api/v1/product/prod_001' \
    --header 'X-Account-Id: acc_123'
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "id": "prod_001",
    "accountCategoryId": "cat_abc123",
    "name": "Consulta Inicial",
    "description": "Consulta de 1 hora para novos clientes",
    "images": null,
    "price": 150.00,
    "billingType": "ONE_TIME",
    "hourlyAppointments": 1,
    "status": "active",
    "createdAt": "2025-05-10T09:00:00.000Z"
  }
  ```

  ```json 404 theme={null}
  {
    "error": "Product not found"
  }
  ```

  ```json 500 theme={null}
  {
    "error": "Error to get product"
  }
  ```
</ResponseExample>


## OpenAPI

````yaml GET /product/{id}
openapi: 3.0.3
info:
  title: WavUps CRM API
  description: >-
    API pública da plataforma WavUps CRM — gerencie leads, produtos, categorias,
    atendimentos, agendamentos, conversas e pipelines de CRM.
  version: 1.0.0
servers:
  - url: https://crm.wavups.com/api/v1
    description: Servidor de produção
security:
  - Token: []
paths:
  /product/{id}:
    get:
      tags:
        - Produtos
      summary: Obter Produto
      description: Retorna os dados de um produto específico pelo ID.
      operationId: getProductById
      parameters:
        - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: Produto encontrado.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Product'
        '404':
          $ref: '#/components/responses/Error404'
        '500':
          $ref: '#/components/responses/Error500'
components:
  parameters:
    id:
      name: id
      in: path
      required: true
      description: Identificador único do recurso.
      schema:
        type: string
  schemas:
    Product:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        description:
          type: string
          nullable: true
        price:
          type: number
          nullable: true
        categoryId:
          type: string
          nullable: true
        createdAt:
          type: string
          format: date-time
    ErrorMessage:
      type: object
      properties:
        error:
          type: string
          example: Recurso não encontrado.
  responses:
    Error404:
      description: Recurso não encontrado.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
    Error500:
      description: Erro interno no servidor.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
  securitySchemes:
    Token:
      type: apiKey
      in: header
      name: Token
      description: Token de autenticacao gerado na plataforma WavUps CRM.

````