Pular para o conteúdo principal

Módulo de Catálogo

O Módulo de Catálogo fornece funcionalidade para recuperar informações sobre jogos de cassino, categorias de jogos e fornecedores de jogos. Este módulo faz parte do SDK do Cliente Web Gamanza Engage e é instanciado automaticamente quando o SDK é inicializado.

Acessando o Módulo

O CatalogModule é inicializado internamente pelo SDK e não deve ser instanciado diretamente. Ele é acessível através da instância principal do SDK.

// Exemplo de acesso ao CrmModule através do SDK
const { Catalog } = GamanzaEngageWebClientSDK.getInstance();

Métodos Públicos

obterCategoriasDeJogosOnline

Recupera a lista de categorias de jogos de cassino.

obterCategoriasDeJogosOnline(): Promise<CategoriadeJogo[]>

Descrição:
Este método busca uma lista de todas as categorias de jogos de cassino disponíveis. Ele usa um mecanismo de cache para otimizar o desempenho - primeiro verificando se os dados estão disponíveis no cache antes de fazer uma chamada de API. Se a chamada de API falhar, ele tenta retornar dados obsoletos do cache.

Parâmetros:
Nenhum

Retorna:
Uma Promise que se resolve em um array de objetos GameCategory com as seguintes propriedades:

PropriedadeTipoDescrição
idCategoriastringIdentificador único para a categoria
nomeCategoriastringNome de exibição da categoria
_idstringIdentificador interno

Exemplo:

// Obter todas as categorias de jogos
const categories = await sdk.Catalog.getCasinoGameCategories();
console.log(categories);
// [
// { categoryId: "slots", categoryName: "Slots", _id: "123" },
// { categoryId: "table-games", categoryName: "Table Games", _id: "456" },
// ...
// ]

obterJogosOnline

Busca uma lista de jogos de cassino com base nos critérios de filtro fornecidos.

obterJogosOnline(request: SolicitacaoFiltroDeJogo): Promise<RespostaPaginada<TipoDeJogo[]>>

Descrição:
Este método recupera uma lista paginada de jogos de cassino que correspondem aos critérios de filtro especificados. Ele usa cache para otimizar o desempenho e reduzir chamadas de API redundantes.

Parâmetros:
request - Um objeto do tipo GameFilterRequest com as seguintes propriedades:

PropriedadeTipoObrigatórioDescrição
páginanúmeroSimNúmero da página a ser recuperada (começando de 1)
limitenúmeroSimNúmero de itens por página
ordenação'asc' | 'desc'NãoOrdem de classificação
idOuNomestringNãoFiltrar por ID ou nome do jogo
nomeDoJogostringNãoFiltrar por nome exato do jogo
idDoJogostringNãoFiltrar por ID exato do jogo
fornecedorDeJogostringNãoFiltrar por provedor de jogos
categoriaDoJogostringNãoFiltrar por categoria de jogo

Retorna: Um Promise que resolve em um objeto PaginationResponse<GameType[]> com a seguinte estrutura:

PropriedadeTipoDescrição
documentosTipoDeJogo[]Array de objetos de jogo que atendem aos critérios de filtro
temPróximaPáginabooleanoSe existe uma próxima página de resultados
temPáginaAnteriorbooleanoSe existe uma página anterior de resultados
limitenúmeroNúmero de itens por página
próximaPáginanúmeroPróximo número da página
páginanúmeroNúmero da página atual
contadorDePaginaçãonúmeroO índice inicial do primeiro documento
páginaAnteriornumber | nullNúmero da página anterior ou nulo se na primeira página
totalDeDocumentosnúmeroNúmero total de documentos correspondentes aos critérios
totalDePáginasnúmeroNúmero total de páginas

Cada objeto GameType no array docs tem as seguintes propriedades:

PropriedadeTipoDescrição
_idstringIdentificador interno
idDoJogostringIdentificador único para o jogo
nomestringNome de exibição do jogo
idFornecedorobjetoInformações sobre o provedor de jogos
idFornecedor.idFornecedorstringIdentificador único para o provedor
idFornecedor.nomestringNome do provedor
idCategoriaobjetoInformações sobre a categoria do jogo
idCategoria.idCategoriastringIdentificador único para a categoria
idCategoria.nomestringNome da categoria
dispositivovetor de string[]Array de tipos de dispositivos suportados
miniatura do jogostringURL para a imagem em miniatura do jogo
miniatura do widgetstringURL para a imagem miniatura do widget
iniciar o jogostringURL para iniciar o jogo
iniciar o jogo i18nobjetoURLs internacionalizadas de inicialização de jogos
permitir compra de bônusbooleanoSe a compra de bônus é permitida para este jogo

Exemplo:

// Obtenha a primeira página de jogos com 10 itens por página
const gamesResponse = await sdk.Catalog.getCasinoGames({
page: 1,
limit: 10,
gameCategory: "slots"
});

console.log(gamesResponse.totalDocs); // Número total de jogos
console.log(gamesResponse.docs); // Array de jogos nesta página

obter provedores de jogos de cassino

Obtém uma lista de provedores de jogos de cassino.

obter Provedores de Jogos de Cassino(): Promise<CasinoProviderType[]>

Descrição:
Este método recupera uma lista de todos os provedores de jogos de cassino disponíveis. Ele usa um mecanismo de cache para otimizar o desempenho - primeiro verificando se os dados estão disponíveis no cache antes de fazer uma chamada à API. Se a chamada à API falhar, ela tenta retornar dados obsoletos do cache.

Parâmetros:
Nenhum

Retorna:
Uma Promise que se resolve em uma matriz de objetos CasinoProviderType com as seguintes propriedades:

PropriedadeTipoDescrição
_idstringIdentificador interno
ID do provedorstringIdentificador exclusivo do provedor (opcional)
nomestringNome de exibição do provedor

Exemplo:

// Obtenha todos os provedores de jogos
const providers = await sdk.Catalog.getCasinoGamesProviders();
console.log(providers);
// [
// { _id: "123", providerId: "netent", name: "NetEnt" },
// { _id: "456", providerId: "microgaming", name: "Microgaming" },
// ...
// ]

Interfaces Relacionadas

Categoria de Jogo

tipo Categoria de Jogo = {
categoryId: string;
categoryName: string;
_id: string;
}

Solicitação de Filtro de Jogo

interface Solicitação de Filtro de Jogo estende Omit<Solicitação de Paginação, 'sortBy'> {
idOrName?: string;
nomeDojogo?: string;
idDojogo?: string;
provedordojogo?: string;
categoriadojogo?: string;
}

Tipo de Jogo

tipo Tipo de Jogo = {
_id: string;
gameId: string;
name: string;
providerId: {
providerId: string;
name: string;
};
categoryId: {
categoryId: string;
name: string;
};
device: string[];
gameThumbnail: string;
widgetThumbnail: string;
gameLaunch: string;
gameLaunchI18n: Tipo de GameLaunchI18n;
bonusBuyAllow: boolean;
}

Tipo de Provedor de Cassino

tipo Tipo de Provedor de Cassino = {
_id: string;
providerId?: string;
name: string;
}

Tipo de GameLaunchI18n

tipo Tipo de GameLaunchI18n = {
[locale: string]: {
locale: string;
url: string;
};
}

Resposta de Paginação

interface Resposta de Paginação<T> {
docs: T;
hasNextPage: boolean;
hasPrevPage: boolean;
limit: number;
nextPage: number;
page: number;
pagingCounter: number;
prevPage: number | null;
totalDocs: number;
totalPages: number;
}