Skip to content

Como usar o Public SDK

O SDK foi projetado para ser simples e direto no uso.

Você pode consumir dados utilizando dois módulos principais:

  • Api → consumo simples
  • Tracking → consumo + eventos
  • ---

    📦 Exemplo com Api

    1import { Api, type ApiTypes } from '@uappi/public-sdk';
    2import { ref, onMounted } from 'vue';
    3
    4const banners = ref<ApiTypes.Banners | null>(null);
    5
    6onMounted(async () => {
    7 banners.value = await Api.customization
    8 .listBanners('home')
    9 .catch(() => null);
    10});

    📊 Exemplo com Tracking (GA4 e Facebook Pixel)

    Use quando você quer monitorar o comportamento do usuário.

    1import { Tracking, type ApiTypes } from '@uappi/public-sdk';
    2import { ref, onMounted } from 'vue';
    3
    4const banners = ref<ApiTypes.Banners | null>(null);
    5
    6onMounted(async () => {
    7 banners.value = await Tracking.customization
    8 .listBanners('my-banner')
    9 .catch(() => null);
    10});

    ⚖️ Quando usar Api vs Tracking

    CenárioMódulo
    Apenas consumir dadosApi
    Monitorar comportamentoTracking

    💡 O que muda na prática?

    Ao utilizar Tracking:

  • Eventos são enviados automaticamente para o GA4 (dataLayer)
  • Eventos também são enviados ao Facebook Pixel, quando o fbq está carregado na página
  • A interação do usuário passa a ser monitorada
  • Nenhuma configuração adicional é necessária
  • Exemplo prático: Api.customization.listBanners → apenas retorna os banners Tracking.customization.listBanners → retorna os banners + dispara evento view_promotion

    ❗ Tratamento de erros

    Quando a API responde com erro, a Promise é rejeitada com um objeto ApiError:

    1interface ApiError {
    2 message: string; // mensagem retornada pela API
    3 errorCode: ApiErrorData['errorCode']; // ex: 'NOT_FOUND', 'UAPPI_STORE_ORDER_PAYMENT_CODE_EXPIRED'
    4 status: number; // status HTTP
    5}

    O errorCode é uma união tipada, então é possível tratar cada caso sem comparar strings soltas:

    1import { Api, type ApiTypes } from '@uappi/public-sdk';
    2
    3try {
    4 await Api.order.detailOrderPaymentCode(code);
    5} catch (e) {
    6 const error = e as ApiTypes.ApiError;
    7
    8 if (error.errorCode === 'UAPPI_STORE_ORDER_PAYMENT_CODE_EXPIRED') {
    9 // link de pagamento expirado
    10 }
    11}

    🛠️ Boas práticas

  • Prefira Tracking em áreas estratégicas (home, produto, checkout)
  • Utilize Api para dados internos ou não relevantes para tracking
  • Sempre trate erros com .catch()
  • Tipar as respostas melhora a manutenção

🏁 Próximo passo

SDK Público: visão geral dos módulos

Uappi é a melhor opção para o crescimento da sua loja!

;