# Perguntas

Q&A das publicações da sua loja. Canal direto entre comprador e seller no detalhe do produto, com moderação antes da publicação.

> Pré-requisitos: leia primeiro [Comunicação: visão geral](/guia/comunicacao). Aqui a âncora é a publicação (o anúncio), não o pedido — faz sentido, porque a pergunta acontece antes da compra, com alguém ainda decidindo se vai comprar. Quem já comprou conversa pelo chat do pedido; quem ainda está olhando a vitrine pergunta por aqui.

---

## Conceitos

**Status do Q&A:** `PENDING` (em moderação), `APPROVED` (público) ou `REJECTED`.

**Moderação:** toda pergunta nasce `PENDING` e só fica visível publicamente quando vira `APPROVED`. O mesmo vale para as respostas da loja: padrão é `PENDING`, exceto se a loja tem a feature `trusted_answers` (publica direto como `APPROVED`).

---

## Listar perguntas

<a class="api-route" href="/reference/comunicacao#tag/perguntas-e-respostas/GET/api/seller/interactions/questions"><span class="api-method api-method-get">GET</span><span class="api-path">/api/seller/interactions/questions</span></a>

Ordenadas da mais recente para a mais antiga. Retorna perguntas em qualquer status; filtre na UI pelo campo `status`.

Cada item traz:

- `customer`: nome e avatar de quem perguntou.
- `publication`: `item_id`, título, thumbnail e `frontend_url`.
- `answers[]`: respostas já cadastradas com o status de moderação.

Filtros:

| Parâmetro | Para quê |
|-----------|----------|
| `item_id` | Perguntas de uma publicação específica (ex.: `US123456`). |
| `page`, `per_page` | Paginação (default `per_page=15`). |

---

## Responder

<a class="api-route" href="/reference/comunicacao#tag/perguntas-e-respostas/POST/api/seller/interactions/questions/{uid}/answer"><span class="api-method api-method-post">POST</span><span class="api-path">/api/seller/interactions/questions/{uid}/answer</span></a>

```json
{
  "content": "Sim, este produto é compatível com a versão 2024 e acompanha cabo USB-C."
}
```

`content` é obrigatório, mínimo 2 caracteres.

**Moderação:**

| Cenário | Status inicial |
|---------|----------------|
| Loja padrão | `PENDING`, aguarda aprovação. |
| Loja com feature `trusted_answers` | `APPROVED`, publicada imediatamente. |

---

## Contador de não respondidas

<a class="api-route" href="/reference/comunicacao#tag/perguntas-e-respostas/GET/api/seller/interactions/unanswered-count"><span class="api-method api-method-get">GET</span><span class="api-path">/api/seller/interactions/unanswered-count</span></a>

```json
{
  "data": {
    "count": 2,
    "oldest_age_hours": 14,
    "deep_link": "/portal/interacoes/perguntas?status=unanswered"
  }
}
```

Conta apenas perguntas `APPROVED` que não têm nenhuma resposta `APPROVED`. Repare que responder não é o suficiente para sair da conta: enquanto sua resposta estiver `PENDING` (em moderação) ou tiver sido `REJECTED`, a pergunta segue contando como pendente — afinal, do ponto de vista do comprador ela ainda está sem resposta visível. O contador zera quando a resposta de fato fica pública.

---

## Erros

| `message_code` | HTTP | Quando |
|----------------|------|--------|
| `UNAUTHORIZED` | 401 | Token ausente, inválido ou expirado. |
| `FORBIDDEN` | 403 | Usuário sem loja associada ou token sem o escopo necessário. |
| `NOT_FOUND` | 404 | Pergunta inexistente. |
| `VALIDATION_ERROR` | 422 | `content` vazio, muito curto ou tipo errado. |
