Fazer upgrade da versão 2 para a versão 3 do SDK da Web

Esta página explica como fazer upgrade da versão 2 para a versão 3 do SDK da Web. Se você estiver instalando o SDK da Web pela primeira vez, consulte o Guia do SDK da Web v3.

Recursos do SDK da Web v3

Confira alguns recursos do SDK da Web v3 que não existem no SDK da Web v2:

Fazer upgrade para o SDK da Web v3

Primeiro, localize este script no código-fonte:

<script type="module" src="https://websdk.ujet.co/v2/loader.js"></script>

Em seguida, substitua-o pelo seguinte:

<script type="module" src="https://{your_ccaas_host}/web-sdk/v3/widget.js"></script>

Diferenças significativas

O SDK da Web v3 é criado diretamente no cliente sem interface do UJET. Como a UI do widget usa essa estrutura sem interface, você pode acessar e chamar todos os métodos subjacentes e detectar eventos compatíveis com o SDK sem interface segmentando ccaas.client.

Esta seção descreve as principais diferenças entre as versões 2 e 3 do SDK da Web.

Inicializar

v2

const ccas = new UJET({
  "companyId": "{companyId}",
  "host": "https://{your_ccaas_host}",
  "authenticate": getAuthToken
})

v3

var ccas = new UJET({
  "companyId": "{companyId}",
  "host": "https://{your_ccaas_host}",
  "authenticate": getAuthToken
})

// v3 has a mount point
// ccaas.mount(HTMLElement | string)
ccaas.mount('#ccaas-widget')

Opções

Ao iniciar o SDK da Web, você especifica opções. Esta seção descreve as diferenças entre as versões 2 e 3 do SDK da Web.

v2

N/A disponível para a v2.

v3

Na v3, as opções de inicialização são as mesmas do SDK sem interface.

interface ClientOption {
  companyId: string;
  authenticate: () => Promise<TokenResponse>;
  tenant?: string;
  host?: string;
  lang?: string;
  bridge?: string;
  cobrowse?: {
    enabled: boolean;
    template?: string;
    messages?: CobrowseMessages;
    api?: string;
    license?: string;
    trustedOrigins?: string[];
    capabilities?: string[];
    registration?: boolean;
    redactedViews?: string[];
    unredactedViews?: string[];
  };
}

Outras opções podem ser configuradas com o método ccaas.config():

ccaas.config({
  disableAttachment: true
})

Opções de configuração disponíveis:

interface ConfigOptions {
  accent?: AccentColor;
  logo?: string;
  menuKey?: string;
  ticketId?: string;
  preferredChannel?: string;
  disableAttachment?: boolean;
  customData?: string | Record<string, any>;
  messages?: Record<string, unknown>;
  reCaptchaSiteKey?: string;
}

Métodos

Na v2, há alguns métodos extras no carregador, como:

ccaas.createCobrowseCode()
ccaas.fetchWaitTimes({id: 123})

Na v3, a UI do widget usa um cliente sem interface. Você pode chamar todos os métodos compatíveis com o SDK sem interface.

const client = ccaas.client
client.getCompany()
client.loadOngoingChat()

Consulte o Guia do SDK da Web sem interface para saber mais.

Eventos

Na v2, é possível detectar eventos com:

ccaas.on('chat:update', (chat) => {
  console.log(chat)
})

Na v3, é possível detectar eventos com o cliente sem interface:

const client = ccaas.client

client.on('chat.updated', (chat) => {
  console.log(chat)
})

Consulte o Guia do SDK da Web sem interface para saber mais sobre eventos.

Personalização do tema

O SDK da Web v3 tem uma abordagem atualizada para a personalização de temas. Para mais informações, consulte Personalização de temas.