Skip to main content
GET
https://worker.thenewscc.com
/
support
/
options
curl -X GET "https://worker.thenewscc.com/support/options" \
  -H "Authorization: Bearer seu_token_jwt"
{
  "success": true,
  "data": {
    "mainCategories": [
      {
        "value": "Programa de indicação e prêmios",
        "label": "Programa de indicação e prêmios",
        "issues": [
          { "value": "Não estou conseguindo indicar o the news", "label": "Não estou conseguindo indicar o the news" },
          { "value": "Meu prêmio chegou com defeito", "label": "Meu prêmio chegou com defeito" },
          { "value": "Não recebi meus prêmios", "label": "Não recebi meus prêmios" },
          { "value": "Giveaway", "label": "Giveaway" }
        ]
      },
      {
        "value": "Streak (pontuação diária)",
        "label": "Streak (pontuação diária)",
        "issues": [
          { "value": "Meus pontos no streak não estão sendo contabilizados", "label": "Meus pontos no streak não estão sendo contabilizados" }
        ]
      },
      {
        "value": "Problemas de recebimento das edições e cadastro",
        "label": "Problemas de recebimento das edições e cadastro",
        "issues": [
          { "value": "Me desinscrevi e continuo recebendo", "label": "Me desinscrevi e continuo recebendo" },
          { "value": "Não estou recebendo a edição", "label": "Não estou recebendo a edição" },
          { "value": "Alteração de cadastro", "label": "Alteração de cadastro" }
        ]
      }
    ],
    "statuses": [
      { "value": "open", "label": "Aberto" },
      { "value": "in_progress", "label": "Em atendimento" },
      { "value": "resolved", "label": "Resolvido" },
      { "value": "closed", "label": "Fechado" }
    ],
    "newsletters": [
      { "value": "thenews", "label": "The News" },
      { "value": "thebizness", "label": "The Bizness" },
      { "value": "thechamps", "label": "The Champs" },
      { "value": "healthtimes", "label": "Health Times" },
      { "value": "rising", "label": "Rising" },
      { "value": "goget", "label": "GoGet" },
      { "value": "podissovic", "label": "Pod Isso, Vic?" }
    ],
    "allIssues": [
      { "value": "Não recebi meus prêmios", "label": "Não recebi meus prêmios" },
      { "value": "Não estou recebendo a edição", "label": "Não estou recebendo a edição" },
      { "value": "Me desinscrevi e continuo recebendo", "label": "Me desinscrevi e continuo recebendo" },
      { "value": "Alterações de cadastro", "label": "Alterações de cadastro" },
      { "value": "Não estou conseguindo indicar", "label": "Não estou conseguindo indicar" },
      { "value": "Prêmio com defeito", "label": "Prêmio com defeito" },
      { "value": "Meus pontos no streak não estão contabilizando", "label": "Meus pontos no streak não estão contabilizando" },
      { "value": "Giveaway", "label": "Giveaway" },
      { "value": "Outros", "label": "Outros" },
      { "value": "Outro", "label": "Outro" }
    ]
  }
}

Descrição

Retorna todas as opções disponíveis para preenchimento de formulários de tickets, incluindo categorias principais (main), assuntos (issues), status e newsletters. Útil para popular selects/dropdowns no frontend. Requer autenticação.

Headers

Authorization
string
required
Bearer token JWT para autenticação

Response

success
boolean
required
Indica se a operação foi bem-sucedida
data
object
curl -X GET "https://worker.thenewscc.com/support/options" \
  -H "Authorization: Bearer seu_token_jwt"
{
  "success": true,
  "data": {
    "mainCategories": [
      {
        "value": "Programa de indicação e prêmios",
        "label": "Programa de indicação e prêmios",
        "issues": [
          { "value": "Não estou conseguindo indicar o the news", "label": "Não estou conseguindo indicar o the news" },
          { "value": "Meu prêmio chegou com defeito", "label": "Meu prêmio chegou com defeito" },
          { "value": "Não recebi meus prêmios", "label": "Não recebi meus prêmios" },
          { "value": "Giveaway", "label": "Giveaway" }
        ]
      },
      {
        "value": "Streak (pontuação diária)",
        "label": "Streak (pontuação diária)",
        "issues": [
          { "value": "Meus pontos no streak não estão sendo contabilizados", "label": "Meus pontos no streak não estão sendo contabilizados" }
        ]
      },
      {
        "value": "Problemas de recebimento das edições e cadastro",
        "label": "Problemas de recebimento das edições e cadastro",
        "issues": [
          { "value": "Me desinscrevi e continuo recebendo", "label": "Me desinscrevi e continuo recebendo" },
          { "value": "Não estou recebendo a edição", "label": "Não estou recebendo a edição" },
          { "value": "Alteração de cadastro", "label": "Alteração de cadastro" }
        ]
      }
    ],
    "statuses": [
      { "value": "open", "label": "Aberto" },
      { "value": "in_progress", "label": "Em atendimento" },
      { "value": "resolved", "label": "Resolvido" },
      { "value": "closed", "label": "Fechado" }
    ],
    "newsletters": [
      { "value": "thenews", "label": "The News" },
      { "value": "thebizness", "label": "The Bizness" },
      { "value": "thechamps", "label": "The Champs" },
      { "value": "healthtimes", "label": "Health Times" },
      { "value": "rising", "label": "Rising" },
      { "value": "goget", "label": "GoGet" },
      { "value": "podissovic", "label": "Pod Isso, Vic?" }
    ],
    "allIssues": [
      { "value": "Não recebi meus prêmios", "label": "Não recebi meus prêmios" },
      { "value": "Não estou recebendo a edição", "label": "Não estou recebendo a edição" },
      { "value": "Me desinscrevi e continuo recebendo", "label": "Me desinscrevi e continuo recebendo" },
      { "value": "Alterações de cadastro", "label": "Alterações de cadastro" },
      { "value": "Não estou conseguindo indicar", "label": "Não estou conseguindo indicar" },
      { "value": "Prêmio com defeito", "label": "Prêmio com defeito" },
      { "value": "Meus pontos no streak não estão contabilizando", "label": "Meus pontos no streak não estão contabilizando" },
      { "value": "Giveaway", "label": "Giveaway" },
      { "value": "Outros", "label": "Outros" },
      { "value": "Outro", "label": "Outro" }
    ]
  }
}

Uso no Frontend

// Exemplo de uso com React
const [options, setOptions] = useState(null);

useEffect(() => {
  fetch('/support/options', {
    headers: { Authorization: `Bearer ${token}` }
  })
    .then(res => res.json())
    .then(data => setOptions(data.data));
}, []);

// Popular select de categoria
<select onChange={(e) => {
  setMain(e.target.value);
  // Filtrar issues baseado no main selecionado
  const category = options.mainCategories.find(c => c.value === e.target.value);
  setAvailableIssues(category?.issues || []);
}}>
  {options?.mainCategories.map(cat => (
    <option key={cat.value} value={cat.value}>{cat.label}</option>
  ))}
</select>