Voltar ao blog
Aplicação·25 de maio de 2026·7 min de leitura

Claude para um assistente de e-commerce em turco — calculando cada centavo com a Kunavo

Assistente de recomendação de produtos baseado no Claude Haiku 4.5 para um site de e-commerce turco: código completo e funcional, ₺0,08 por chamada, projeção de custos para 1.000–100.000 recomendações mensais, 4 estratégias contra a flutuação da taxa TRY (recarga em lote + cache + seleção de nível + max_tokens), solução para problemas com cartões turcos e conformidade com a KVKK.

Assistente de recomendação de produtos baseado em Claude para seus sites turcos de comércio eletrônico: entende consultas em linguagem natural do cliente, como "se fizer sol no verão, vou à praia, o que posso comprar por até 1.000 TL", e recomenda produtos reais do catálogo. Código completo + cálculo do custo mensal + IVA + estratégia para flutuações da taxa de câmbio da TL.

Por que Claude Haiku 4.5?

Em tarefas de "entender + formatar", como recomendação de produtos, o Claude Haiku 4.5 oferece aproximadamente 85% da qualidade do Sonnet 4.6 por um terço do custo. Com os preços do Kunavo:

  • Haiku 4.5: entrada US$ 0,40/1M, saída US$ 2,00/1M
  • Sonnet 4.6: entrada US$ 1,20/1M, saída US$ 6,00/1M

Catálogo com 200 produtos + consulta do cliente = ~3K tokens de entrada, resposta JSON = ~200 tokens de saída. Custo por chamada: ~US$ 0,0016 (aproximadamente ₺0,06).

Código funcional

asistan.py
import json
from openai import OpenAI

client = OpenAI(
    api_key="sk-kn-...",
    base_url="https://api.kunavo.com/v1",
)

# Claude, json_schema tipindeki response_format'a uyar; json_object garanti edilmez.
ONERI = {
    "type": "object",
    "properties": {
        "oneriler": {"type": "array", "items": {
            "type": "object",
            "properties": {"urun_id": {"type": "string"}, "neden": {"type": "string"}},
            "required": ["urun_id", "neden"],
            "additionalProperties": False,
        }},
        "toplam_oneri": {"type": "integer"},
    },
    "required": ["oneriler", "toplam_oneri"],
    "additionalProperties": False,
}

def urun_oneri(kullanici_sorgusu: str, urun_katalogu: list[dict]) -> dict:
    """Müşterinin doğal dil sorgusuna göre 3-5 ürün önerir."""
    katalog_metni = "\n".join(
        f"- {u['id']}: {u['baslik']} | {u['kategori']} | {u['fiyat']} TL"
        for u in urun_katalogu[:200]
    )
    resp = client.chat.completions.create(
        model="claude-haiku-4-5",  # Hızlı + ucuz, ürün önerisi için yeterli
        messages=[
            {
                "role": "system",
                "content": [
                    {
                        "type": "text",
                        "text": (
                            "Sen bir Türk e-ticaret asistanısın. "
                            "Türkçe doğal konuş, samimi ama saygılı. "
                            "Cevap formatı JSON: "
                            '{"oneriler": [{"urun_id": "...", "neden": "..."}, ...], '
                            '"toplam_oneri": int}'
                        ),
                        "cache_control": {"type": "ephemeral"},
                    },
                ],
            },
            {
                "role": "user",
                "content": (
                    f"## Müşteri sorgusu\n{kullanici_sorgusu}\n\n"
                    f"## Mevcut katalog\n{katalog_metni}"
                ),
            },
        ],
        response_format={"type": "json_schema",
                         "json_schema": {"name": "oneri", "schema": ONERI}},
        max_tokens=400,
    )
    return json.loads(resp.choices[0].message.content)

Marcamos o prompt do sistema com cache_control. Quando chegam chamadas consecutivas com o mesmo prompt, o cache de prompts da Anthropic é ativado e economiza 90% do custo de entrada.

Projeção de custo mensal

Recomendações diáriasUSD mensalTL aproximada
1.000~$48~₺1.700
10.000~$480~₺17.000
100.000~$4.800~₺170.000

Comparação: manter continuamente uma equipe para operar um assistente de comércio eletrônico exige uma equipe de suporte em 2 a 3 turnos, no mínimo, para mais de 1.000 recomendações diárias (~₺120.000/mês). Com IA, economia de 95% nos custos.

Estratégia contra a flutuação da taxa de câmbio da TL

Como o Kunavo usa preços em USD, seu custo aumenta à medida que a TL perde valor. Para suavizar isso:

  • Recarga em grande volume: recargas de US$ 1.000 ou mais desbloqueiam 20% de créditos bônus adicionais (deposite US$ 1.000, receba US$ 1.200 em créditos). Economia de aproximadamente 17% em USD, com uma proteção cambial indireta em termos de TRY
  • Cache de prompts sempre ativado — libera 70% de economia
  • Tiering Haiku → Sonnet: resolva consultas simples com Haiku e consultas complexas com Sonnet. Se precisar de um decisor automático, consulte o guia de otimização de custos
  • Limite a saída: use max_tokens=300 para reduzir pela metade o custo de saída

Solução para problemas com cartões

A maioria dos bancos turcos mantém as transações online internacionais desativadas por padrão. Se o checkout do Stripe for recusado:

  • Peça ao seu banco para habilitar "uso internacional do cartão online"
  • Visa, Mastercard, American Express e JCB são compatíveis
  • O Apple Pay pode passar com mais facilidade; se estiver configurado no Chrome / Android, o Google Pay também pode ser selecionado, mas o cartão por trás dele ainda precisa estar habilitado para transações internacionais

Conformidade com a KVKK

Se houver dados pessoais do cliente (nome, telefone, endereço), mascare-os antes de enviá-los ao LLM. Os dados de pagamento da Stripe já estão no escopo do PCI-DSS, fora do seu ambiente. O Kunavo não oferece um acordo de processamento de dados (DPA); as solicitações são processadas nos EUA e encaminhadas aos provedores de modelos upstream. Se você precisar de um DPA, celebre um contrato diretamente com o provedor do modelo (condições empresariais da Anthropic, OpenAI ou Google).

Checklist para produção

  • Revise manualmente as primeiras 100 recomendações e automatize quando a qualidade atingir ≥80%
  • Defina o limite de gastos diário em /app/keys (para evitar picos acidentais)
  • Adicione um comportamento de fallback para payloads de erro, exibindo ao usuário "desculpe, não consigo fazer recomendações no momento"
  • Acompanhe o custo mensal em /app/usage e configure um alerta para aumentos inesperados

Para começar, faça um cadastro gratuito, recarregue a partir de US$ 10 e pague conforme o uso. A documentação completa está em /docs/quickstart.