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

# Encontrar ajuda e preparar uma consulta

> Encontre a guia certa ou compartilhe contexto útil com suporte.

export const RecoveryDecision = ({locale = "es-AR", fallback, fallbackHref}) => {
  const L = locale === "en" ? "en" : locale === "pt-BR" ? "pt" : "es";
  const T = {
    es: {
      t: "Qué hacer cuando algo falla",
      pick: "Elegí la situación y mirá qué corresponde.",
      act: "Qué hacer",
      res: "Qué pasa",
      no: "Lo que no corresponde",
      fb: "Leé estas reglas en texto",
      b: [["Entrega fallida", "Reintentar la entrega", "El envío del regalo terminó en error.", "Reintentá la entrega del MISMO regalo, si la opción está disponible.", "Sale un nuevo intento de envío para ese regalo. No se crea un regalo nuevo.", "Reemitir. Eso crea otro regalo, no reintenta el envío."], ["Cupón en preparación", "Esperar y revisar", "El regalo todavía se está preparando.", "Esperá y volvé a revisar el estado más tarde.", "Mientras está en preparación no se puede reintentar la entrega. No hay nada que reintentar todavía.", "Reintentar la entrega ahora. No está disponible en este estado."], ["Canje pendiente", "Completar o cancelar", "Hay un intento de canje en mostrador sin terminar.", "Completá el intento, o cancelá el intento PENDIENTE.", "Completar registra el canje. Cancelar el pendiente recupera el cupón online; comprobá su estado.", "Cancelar por esta vía un canje que ya se completó. No es posible."], ["Pago incierto", "Verificar el pago", "No sabés si el cobro se concretó.", "Verificá el estado del pago antes de volver a cobrar.", "Confirmás si ya hay un pago registrado y evitás cobrar dos veces.", "Volver a cobrar sin verificar."]]
    },
    en: {
      t: "What to do when something fails",
      pick: "Pick the situation and see what applies.",
      act: "What to do",
      res: "What happens",
      no: "What does not apply",
      fb: "Read these rules as text",
      b: [["Failed delivery", "Retry delivery", "The gift's delivery ended in an error.", "Retry delivery for the SAME gift, if the option is available.", "A new send attempt goes out for that gift. No new gift is created.", "Reissuing. That creates another gift, it does not retry the send."], ["Preparing coupon", "Wait and check", "The gift is still being prepared.", "Wait and check the status again later.", "While it is preparing, delivery cannot be retried. There is nothing to retry yet.", "Retrying delivery now. It is not available in this state."], ["Pending redemption", "Complete or cancel", "A counter redemption attempt is unfinished.", "Complete the attempt, or cancel the PENDING attempt.", "Completing records redemption. Canceling the pending attempt recovers the online coupon; verify its state.", "Cancelling an already completed redemption this way. It is not possible."], ["Uncertain payment", "Verify payment", "You do not know whether the charge went through.", "Verify the payment status before charging again.", "You confirm whether a payment is already recorded and avoid charging twice.", "Charging again without verifying."]]
    },
    pt: {
      t: "O que fazer quando algo falha",
      pick: "Escolha a situação e veja o que se aplica.",
      act: "O que fazer",
      res: "O que acontece",
      no: "O que não se aplica",
      fb: "Leia estas regras em texto",
      b: [["Entrega com falha", "Tentar a entrega de novo", "O envio do presente terminou em erro.", "Tente a entrega de novo para o MESMO presente, se a opção estiver disponível.", "Sai uma nova tentativa de envio para esse presente. Nenhum presente novo é criado.", "Reemitir. Isso cria outro presente, não repete o envio."], ["Cupom em preparação", "Aguardar e conferir", "O presente ainda está sendo preparado.", "Aguarde e confira o status de novo mais tarde.", "Enquanto está em preparação, a entrega não pode ser repetida. Ainda não há nada para tentar.", "Tentar a entrega agora. Não está disponível neste estado."], ["Resgate pendente", "Concluir ou cancelar", "Há uma tentativa de resgate no balcão sem terminar.", "Conclua a tentativa, ou cancele a tentativa PENDENTE.", "Concluir registra o resgate. Cancelar a tentativa pendente recupera o cupom online; confira o estado.", "Cancelar por este caminho um resgate já concluído. Não é possível."], ["Pagamento incerto", "Verificar o pagamento", "Você não sabe se a cobrança foi concluída.", "Verifique o status do pagamento antes de cobrar de novo.", "Você confirma se já existe um pagamento registrado e evita cobrar duas vezes.", "Cobrar de novo sem verificar."]]
    }
  };
  const c = T[L];
  const [i, setI] = useState(0);
  const b = c.b[i];
  const ys = [22, 76, 130, 184];
  return <section className="gd" aria-label={c.t}>
      <div className="gd-head"><h3 className="gj-title">{c.t}</h3><p className="gd-pick">{c.pick}</p></div>
      <div className="gd-grid">
        <div className="gd-list" role="group" aria-label={c.pick}>
          {c.b.map((x, k) => <button key={k} type="button" aria-pressed={k === i} className={"gd-tab" + (k === i ? " is-on" : "")} onClick={() => setI(k)}><span className="gd-n">{k + 1}</span>{x[0]}</button>)}
        </div>
        <div className="gd-vis" aria-live="polite">
          <svg className="gd-svg" viewBox="0 0 360 240" role="img" aria-label={b[0] + ": " + b[1]}>
            {c.b.map((x, k) => <g key={k} className={"gd-node" + (k === i ? " is-on" : "")}>
                <path d={`M150 ${ys[k] + 20}C182 ${ys[k] + 20} 176 122 208 122`} />
                <rect x="6" y={ys[k]} width="144" height="40" rx="10" />
                <text x="20" y={ys[k] + 25}>{x[0]}</text>
              </g>)}
            <g className="gd-act"><rect x="208" y="100" width="146" height="44" rx="10" /><text x="281" y="127" textAnchor="middle">{b[1]}</text></g>
          </svg>
          <div className="gd-out" key={i}>
            <p className="gd-sit">{b[2]}</p>
            <dl className="gd-dl"><dt>{c.act}</dt><dd>{b[3]}</dd><dt>{c.res}</dt><dd>{b[4]}</dd><dt>{c.no}</dt><dd>{b[5]}</dd></dl>
          </div>
        </div>
      </div>
      <p className="gifty-visually-hidden" aria-live="polite">{b[0]}: {b[3]}</p>
      <p className="gj-fb">{fallbackHref ? <a href={fallbackHref}>{fallback || c.fb}</a> : fallback || c.fb}</p>
    </section>;
};

<RecoveryDecision locale="pt-BR" fallback="Leia a explicação completa em texto." fallbackHref="#recuperação-por-estado" />

## Antes de começar

Identifique o que tentou fazer e o estado exibido agora.

## Passo a passo

1. Comece por uma tarefa da página inicial ou categoria da navegação. Encontre o nome da ação ou estado na guia.
2. Revise passos, verificação do resultado e recuperação de erro.
3. Se não bastar, prepare descrição breve: tarefa, passos, mensagem visível e horário aproximado.
4. Use o contato oferecido dentro do Gifty. Abrir WhatsApp não confirma envio da mensagem nem recebimento por uma pessoa.

## Como verificar o resultado

Contexto útil diferencia falta de entrega, resgate pendente, publicação e pagamento sem repetir ações incertas.

## Se algo der errado

* Não publique códigos de presentes, tokens, chaves nem dados de cartão na consulta.
* A documentação não consulta o estado privado da loja. Para verificar a conta, peça ajuda humana pelo canal disponível.

## Recuperação por estado

| Estado                    | Ação segura                                                                                                              |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| Entrega falhou            | Repita a entrega do mesmo gift card quando a ficha permitir; não emita outro para resolver isso.                         |
| Cupom em preparação       | Aguarde a materialização ou confira o estado; isso não significa falha na entrega.                                       |
| Resgate pendente          | Abra a mesma tentativa e escolha concluir ou cancelar conforme o ocorrido. Confira a recuperação do cupom após cancelar. |
| Pagamento sem confirmação | Confira o estado do pagamento; não cobre ou emita novamente enquanto o resultado for desconhecido.                       |

Cancelar uma tentativa pendente não desfaz um resgate concluído.

[Ler em Markdown](/exports/pt-BR/support-find-and-contact.md)
