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:
| Propriedade | Tipo | Descrição |
|---|---|---|
| idCategoria | string | Identificador único para a categoria |
| nomeCategoria | string | Nome de exibição da categoria |
| _id | string | Identificador 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:
| Propriedade | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| página | número | Sim | Número da página a ser recuperada (começando de 1) |
| limite | número | Sim | Número de itens por página |
| ordenação | 'asc' | 'desc' | Não | Ordem de classificação |
| idOuNome | string | Não | Filtrar por ID ou nome do jogo |
| nomeDoJogo | string | Não | Filtrar por nome exato do jogo |
| idDoJogo | string | Não | Filtrar por ID exato do jogo |
| fornecedorDeJogo | string | Não | Filtrar por provedor de jogos |
| categoriaDoJogo | string | Não | Filtrar por categoria de jogo |
Retorna:
Um Promise que resolve em um objeto PaginationResponse<GameType[]> com a seguinte estrutura:
| Propriedade | Tipo | Descrição |
|---|---|---|
| documentos | TipoDeJogo[] | Array de objetos de jogo que atendem aos critérios de filtro |
| temPróximaPágina | booleano | Se existe uma próxima página de resultados |
| temPáginaAnterior | booleano | Se existe uma página anterior de resultados |
| limite | número | Número de itens por página |
| próximaPágina | número | Próximo número da página |
| página | número | Número da página atual |
| contadorDePaginação | número | O índice inicial do primeiro documento |
| páginaAnterior | number | null | Número da página anterior ou nulo se na primeira página |
| totalDeDocumentos | número | Número total de documentos correspondentes aos critérios |
| totalDePáginas | número | Número total de páginas |
Cada objeto GameType no array docs tem as seguintes propriedades:
| Propriedade | Tipo | Descrição |
|---|---|---|
| _id | string | Identificador interno |
| idDoJogo | string | Identificador único para o jogo |
| nome | string | Nome de exibição do jogo |
| idFornecedor | objeto | Informações sobre o provedor de jogos |
| idFornecedor.idFornecedor | string | Identificador único para o provedor |
| idFornecedor.nome | string | Nome do provedor |
| idCategoria | objeto | Informações sobre a categoria do jogo |
| idCategoria.idCategoria | string | Identificador único para a categoria |
| idCategoria.nome | string | Nome da categoria |
| dispositivo | vetor de string[] | Array de tipos de dispositivos suportados |
| miniatura do jogo | string | URL para a imagem em miniatura do jogo |
| miniatura do widget | string | URL para a imagem miniatura do widget |
| iniciar o jogo | string | URL para iniciar o jogo |
| iniciar o jogo i18n | objeto | URLs internacionalizadas de inicialização de jogos |
| permitir compra de bônus | booleano | Se 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:
| Propriedade | Tipo | Descrição |
|---|---|---|
| _id | string | Identificador interno |
| ID do provedor | string | Identificador exclusivo do provedor (opcional) |
| nome | string | Nome 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;
}