2.0info: 5.5.0 techtouch description: Servico x-senior-domain: Plataforma x-senior-domain-path: platform x-senior-service-path: techtouch contact: name: Senior X Platform url: https://dev.senior.com.br email: seniorx-dev@senior.com.brhost: platform.senior.com.br /t/senior.com.br/bridge/1.0/rest/platformsecurityDefinitions: APIKeyHeader: type: apiKey in: header name: Authorizationsecurity: – APIKeyHeader: [] – application/json – application/jsonpaths: /techtouch/queries/getNotifications: post: description: Busca as campanhas/notificacoes criadas tags: – Queries x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object properties: pageNumber: type: integer format: int64 description: O número da página a ser retornada. A primeira página corresponde ao índice 0. default: 0 pageSize: type: integer format: int64 description: Quantidade de registros por página. default: 10 search: type: string description: String para filtrar nome da campanha e produto status: type: string allOf: – #/definitions/status description: Enum do status da notificação startDate: type: string format: date description: Data inicial para a busca entre períodos de data da criaçao da campanha endDate: type: string format: date description: Data final para a busca entre períodos de data da criaçao da campanha responses: 200: description: Ok schema: type: object required: – listInformation properties: notifications: type: array items: type: object allOf: – #/definitions/notification description: listInformation: type: object allOf: – #/definitions/listInformation description: 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Busca as campanhas/notificacoes criadas tags: – Queries x-senior-visibility: PRIVATE parameters: – name: pageNumber description: O número da página a ser retornada. A primeira página corresponde ao índice 0. in: query type: integer format: int64 – name: pageSize description: Quantidade de registros por página. in: query type: integer format: int64 – name: search description: String para filtrar nome da campanha e produto in: query type: string – name: status description: Enum do status da notificação in: query type: string allOf: – #/definitions/status – name: startDate description: Data inicial para a busca entre períodos de data da criaçao da campanha in: query type: string format: date – name: endDate description: Data final para a busca entre períodos de data da criaçao da campanha in: query type: string format: date responses: 200: description: Ok schema: type: object required: – listInformation properties: notifications: type: array items: type: object allOf: – #/definitions/notification description: listInformation: type: object allOf: – #/definitions/listInformation description: 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /techtouch/queries/getNotificationById: post: description: Busca uma campanha/notificacao pela id tags: – Queries x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – id properties: id: type: string description: Id da campanha responses: 200: description: Ok schema: type: object required: – id – name – title – sendType – sendCategory – content – summary – product – status – scheduleDate – active – isRoleAdmin – allTenants – banner – allUsers properties: id: type: string description: Id da campanha name: type: string description: Nome da campanha type: string description: Título da campanha sendType: type: string description: Indica se a campanha é imediata ou agendada sendCategory: type: string description: Categoria de envio da campanha content: type: string description: Conteúdo da campanha summary: type: string description: Resumo da campanha product: type: string description: Produto alvo status: type: string description: Define se a campanha está como rascunho, enviada ou agendada scheduleDate: type: string format: YYYY-MM-DDTHH:mm:ss.SSS pattern: ^[0-9]{4}-(1[0-2]|0[1-9])-(3[01]|[12][0-9]|0[1-9])T(1[0-9]|0[1-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])[.][0-9]{3}$ description: Data de envio da campanha active: type: boolean description: Define se a campanha está ativa resources: type: array items: type: object allOf: – #/definitions/resource description: Exibe os recursos que serão utilizados para filtrar os usuários a serem notificados isRoleAdmin: type: boolean description: Define se a notificação será enviada para todos os usuários vinculados ao papel admin tenantGroups: type: array items: type: object allOf: – #/definitions/tenantGroup description: Lista dos grupos de tenants que serão o público-alvo da campanha allTenants: type: boolean description: Define se a campanha será enviada para todos os tenants banner: type: boolean description: Define se a campanha é do tipo banner expirationDate: type: string format: date description: Data de expiração do banner allUsers: type: boolean description: Define se a campanha será enviada para todos os usuários 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Busca uma campanha/notificacao pela id tags: – Queries x-senior-visibility: PRIVATE parameters: – name: id description: Id da campanha in: query required: true type: string responses: 200: description: Ok schema: type: object required: – id – name – title – sendType – sendCategory – content – summary – product – status – scheduleDate – active – isRoleAdmin – allTenants – banner – allUsers properties: id: type: string description: Id da campanha name: type: string description: Nome da campanha type: string description: Título da campanha sendType: type: string description: Indica se a campanha é imediata ou agendada sendCategory: type: string description: Categoria de envio da campanha content: type: string description: Conteúdo da campanha summary: type: string description: Resumo da campanha product: type: string description: Produto alvo status: type: string description: Define se a campanha está como rascunho, enviada ou agendada scheduleDate: type: string format: YYYY-MM-DDTHH:mm:ss.SSS pattern: ^[0-9]{4}-(1[0-2]|0[1-9])-(3[01]|[12][0-9]|0[1-9])T(1[0-9]|0[1-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])[.][0-9]{3}$ description: Data de envio da campanha active: type: boolean description: Define se a campanha está ativa resources: type: array items: type: object allOf: – #/definitions/resource description: Exibe os recursos que serão utilizados para filtrar os usuários a serem notificados isRoleAdmin: type: boolean description: Define se a notificação será enviada para todos os usuários vinculados ao papel admin tenantGroups: type: array items: type: object allOf: – #/definitions/tenantGroup description: Lista dos grupos de tenants que serão o público-alvo da campanha allTenants: type: boolean description: Define se a campanha será enviada para todos os tenants banner: type: boolean description: Define se a campanha é do tipo banner expirationDate: type: string format: date description: Data de expiração do banner allUsers: type: boolean description: Define se a campanha será enviada para todos os usuários 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /techtouch/queries/getNewestNotifications: post: description: Busca as campanhas/notificacoes mais recentes para visualização no modal tags: – Queries x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object properties: unread: type: boolean description: Define se irá buscar campanhas lidas ou não. Caso seja nulo, é retornado todas as campanhas banner: type: boolean description: Define se irá buscar apenas as campanhas que são do tipo banner responses: 200: description: Ok schema: type: object properties: newestNotifications: type: array items: type: object allOf: – #/definitions/newestNotification description: 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Busca as campanhas/notificacoes mais recentes para visualização no modal tags: – Queries x-senior-visibility: PRIVATE parameters: – name: unread description: Define se irá buscar campanhas lidas ou não. Caso seja nulo, é retornado todas as campanhas in: query type: boolean – name: banner description: Define se irá buscar apenas as campanhas que são do tipo banner in: query type: boolean responses: 200: description: Ok schema: type: object properties: newestNotifications: type: array items: type: object allOf: – #/definitions/newestNotification description: 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /techtouch/queries/checkForNewNotificationsByProfile: post: description: Verifica se existe novas notificações pro usuário tags: – Queries x-senior-visibility: PRIVATE responses: 200: description: Ok schema: type: object required: – hasNewNotifications properties: hasNewNotifications: type: boolean description: 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Verifica se existe novas notificações pro usuário tags: – Queries x-senior-visibility: PRIVATE responses: 200: description: Ok schema: type: object required: – hasNewNotifications properties: hasNewNotifications: type: boolean description: 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /techtouch/queries/checkForNewNotifications: post: description: Verifica se existe novas notificações para serem publicadas considerando a data corrente. tags: – Queries x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object properties: destinationAllUsers: type: boolean description: default: true responses: 200: description: Ok schema: type: object required: – hasNewNotifications properties: hasNewNotifications: type: boolean description: 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Verifica se existe novas notificações para serem publicadas considerando a data corrente. tags: – Queries x-senior-visibility: PRIVATE parameters: – name: destinationAllUsers description: in: query type: boolean responses: 200: description: Ok schema: type: object required: – hasNewNotifications properties: hasNewNotifications: type: boolean description: 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /techtouch/queries/getNotificationByNotificationProfileId: post: description: Busca os detalhes de uma campanha/notificacao através do id da NotificationProfile tags: – Queries x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – id properties: id: type: string description: Id do vínculo da notificação com o usuário (notification_profile) isShared: type: boolean description: Define se a campanha foi gerada pelo tenant senior ou tenant cliente default: true responses: 200: description: Ok schema: type: object required: – title – content – sendCategory – sendDate – banner properties: type: string description: Título da campanha content: type: string description: Conteúdo da campanha sendCategory: type: string description: Categoria de envio da campanha sendDate: type: string format: YYYY-MM-DDTHH:mm:ss.SSS pattern: ^[0-9]{4}-(1[0-2]|0[1-9])-(3[01]|[12][0-9]|0[1-9])T(1[0-9]|0[1-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])[.][0-9]{3}$ description: Data de envio da campanha banner: type: boolean description: Define se a campanha é do tipo banner 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Busca os detalhes de uma campanha/notificacao através do id da NotificationProfile tags: – Queries x-senior-visibility: PRIVATE parameters: – name: id description: Id do vínculo da notificação com o usuário (notification_profile) in: query required: true type: string – name: isShared description: Define se a campanha foi gerada pelo tenant senior ou tenant cliente in: query type: boolean responses: 200: description: Ok schema: type: object required: – title – content – sendCategory – sendDate – banner properties: type: string description: Título da campanha content: type: string description: Conteúdo da campanha sendCategory: type: string description: Categoria de envio da campanha sendDate: type: string format: YYYY-MM-DDTHH:mm:ss.SSS pattern: ^[0-9]{4}-(1[0-2]|0[1-9])-(3[01]|[12][0-9]|0[1-9])T(1[0-9]|0[1-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])[.][0-9]{3}$ description: Data de envio da campanha banner: type: boolean description: Define se a campanha é do tipo banner 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /techtouch/queries/getTenantBlocklist: post: description: Busca a lista de tenants da lista de bloqueio tags: – Queries x-senior-visibility: PRIVATE responses: 200: description: Ok schema: type: object properties: blockedTenants: type: array items: type: string description: 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Busca a lista de tenants da lista de bloqueio tags: – Queries x-senior-visibility: PRIVATE responses: 200: description: Ok schema: type: object properties: blockedTenants: type: array items: type: string description: 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /techtouch/queries/getNotificationCount: post: description: Retorna a quantidade de notificações não lidas tags: – Queries x-senior-visibility: PRIVATE responses: 200: description: Ok schema: type: object required: – total – hasBanner properties: total: type: integer format: int64 description: hasBanner: type: boolean description: 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Retorna a quantidade de notificações não lidas tags: – Queries x-senior-visibility: PRIVATE responses: 200: description: Ok schema: type: object required: – total – hasBanner properties: total: type: integer format: int64 description: hasBanner: type: boolean description: 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /techtouch/queries/listSummaryNotification: post: description: Lista um resumo das notificações tags: – Queries x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object properties: searchValue: type: string description: Filtrar pelo nome de uma notificação page: type: integer format: int64 description: Número da página, se não informado o valor padrão é 0 default: 0 size: type: integer format: int64 description: Quantidade de registros por página, se não informado o valor padrão é 10 default: 10 responses: 200: description: Ok schema: type: object required: – data – listInformation properties: data: type: array items: type: object allOf: – #/definitions/summaryNotification minimum: 1 description: Resultado da consulta listInformation: type: object allOf: – #/definitions/listInformation description: Informações sobre a paginação 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Lista um resumo das notificações tags: – Queries x-senior-visibility: PRIVATE parameters: – name: searchValue description: Filtrar pelo nome de uma notificação in: query type: string – name: page description: Número da página, se não informado o valor padrão é 0 in: query type: integer format: int64 – name: size description: Quantidade de registros por página, se não informado o valor padrão é 10 in: query type: integer format: int64 responses: 200: description: Ok schema: type: object required: – data – listInformation properties: data: type: array items: type: object allOf: – #/definitions/summaryNotification minimum: 1 description: Resultado da consulta listInformation: type: object allOf: – #/definitions/listInformation description: Informações sobre a paginação 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /techtouch/queries/generateMetricsByTenants: post: description: Gera as métricas de leitura das notificações por tenant tags: – Queries x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object properties: id: type: string description: Se não informado será considerado a métrica da publicação mais recente tenantName: type: string description: Nome do tenant searchValue: type: string description: Filtrar numa notificação pelo nome page: type: integer format: int64 description: Número da página default: 0 size: type: integer format: int64 description: Quantidade de registro por página default: 10 responses: 200: description: Ok schema: type: object required: – metricsNotification – listInformation properties: metricsNotification: type: object allOf: – #/definitions/metricsNotificationByTenants description: Métricas da notificação listInformation: type: object allOf: – #/definitions/listInformation description: Informações de paginação 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Gera as métricas de leitura das notificações por tenant tags: – Queries x-senior-visibility: PRIVATE parameters: – name: id description: Se não informado será considerado a métrica da publicação mais recente in: query type: string – name: tenantName description: Nome do tenant in: query type: string – name: searchValue description: Filtrar numa notificação pelo nome in: query type: string – name: page description: Número da página in: query type: integer format: int64 – name: size description: Quantidade de registro por página in: query type: integer format: int64 responses: 200: description: Ok schema: type: object required: – metricsNotification – listInformation properties: metricsNotification: type: object allOf: – #/definitions/metricsNotificationByTenants description: Métricas da notificação listInformation: type: object allOf: – #/definitions/listInformation description: Informações de paginação 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /techtouch/queries/generateMetricsNotification: post: description: Gera as métricas de leitura das notificações tags: – Queries x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object properties: id: type: string description: Se não informado será considerado a métrica da publicação mais recente searchValue: type: string description: Filtrar uma notificação pelo nome page: type: integer format: int64 description: Número da página default: 0 size: type: integer format: int64 description: Quantidade de registro por página default: 10 responses: 200: description: Ok schema: type: object required: – metricsNotification – listInformation properties: metricsNotification: type: array items: type: object allOf: – #/definitions/metricsNotification minimum: 1 description: Métricas das notificações listInformation: type: object allOf: – #/definitions/listInformation description: Informações de paginação 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Gera as métricas de leitura das notificações tags: – Queries x-senior-visibility: PRIVATE parameters: – name: id description: Se não informado será considerado a métrica da publicação mais recente in: query type: string – name: searchValue description: Filtrar uma notificação pelo nome in: query type: string – name: page description: Número da página in: query type: integer format: int64 – name: size description: Quantidade de registro por página in: query type: integer format: int64 responses: 200: description: Ok schema: type: object required: – metricsNotification – listInformation properties: metricsNotification: type: array items: type: object allOf: – #/definitions/metricsNotification minimum: 1 description: Métricas das notificações listInformation: type: object allOf: – #/definitions/listInformation description: Informações de paginação 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /techtouch/queries/generateMetricsTenantEngagement: post: description: Gerar métricas de engajamento dos tenants tags: – Queries x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object properties: id: type: string description: Id da notificação searchValue: type: string description: Filtrar uma notificação pelo nome page: type: integer format: int64 description: Número da página default: 0 size: type: integer format: int64 description: Quantidade de registro por página default: 10 responses: 200: description: Ok schema: type: object required: – metricsTenantEngagement – listInformation properties: metricsTenantEngagement: type: object allOf: – #/definitions/metricsTenantEngagement description: Métricas de engajamento dos tentans listInformation: type: object allOf: – #/definitions/listInformation description: Informações de paginação 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Gerar métricas de engajamento dos tenants tags: – Queries x-senior-visibility: PRIVATE parameters: – name: id description: Id da notificação in: query type: string – name: searchValue description: Filtrar uma notificação pelo nome in: query type: string – name: page description: Número da página in: query type: integer format: int64 – name: size description: Quantidade de registro por página in: query type: integer format: int64 responses: 200: description: Ok schema: type: object required: – metricsTenantEngagement – listInformation properties: metricsTenantEngagement: type: object allOf: – #/definitions/metricsTenantEngagement description: Métricas de engajamento dos tentans listInformation: type: object allOf: – #/definitions/listInformation description: Informações de paginação 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /techtouch/queries/generateMetricsEngagement: post: description: API DEPRECIADA: Deprecated at 2025-10-17 | DATA: 2025-10-17 | Gera as métricas de quantos tenants leram ao menos uma mensagem dentro de um determinado período tags: – Queries deprecated : true x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object properties: startDate: type: string format: YYYY-MM-DDTHH:mm:ss.SSS pattern: ^[0-9]{4}-(1[0-2]|0[1-9])-(3[01]|[12][0-9]|0[1-9])T(1[0-9]|0[1-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])[.][0-9]{3}$ description: Data inicial, se não informada será considera o primeiro dia do ano corrente endDate: type: string format: YYYY-MM-DDTHH:mm:ss.SSS pattern: ^[0-9]{4}-(1[0-2]|0[1-9])-(3[01]|[12][0-9]|0[1-9])T(1[0-9]|0[1-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])[.][0-9]{3}$ description: Data final, se não informada será considerada o ultimo dia do ano corrente responses: 200: description: Ok schema: type: object required: – period – totalActiveTenants – totalTenantsRead properties: period: type: object allOf: – #/definitions/period description: Filtro aplicado totalActiveTenants: type: integer format: int64 description: Total de tenants ativos totalTenantsRead: type: integer format: int64 description: Total de tenants que leu ao menos uma mensagem 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: API DEPRECIADA: Deprecated at 2025-10-17 | DATA: 2025-10-17 | Gera as métricas de quantos tenants leram ao menos uma mensagem dentro de um determinado período tags: – Queries deprecated : true x-senior-visibility: PRIVATE parameters: – name: startDate description: Data inicial, se não informada será considera o primeiro dia do ano corrente in: query type: string format: YYYY-MM-DDTHH:mm:ss.SSS pattern: ^[0-9]{4}-(1[0-2]|0[1-9])-(3[01]|[12][0-9]|0[1-9])T(1[0-9]|0[1-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])[.][0-9]{3}$ – name: endDate description: Data final, se não informada será considerada o ultimo dia do ano corrente in: query type: string format: YYYY-MM-DDTHH:mm:ss.SSS pattern: ^[0-9]{4}-(1[0-2]|0[1-9])-(3[01]|[12][0-9]|0[1-9])T(1[0-9]|0[1-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])[.][0-9]{3}$ responses: 200: description: Ok schema: type: object required: – period – totalActiveTenants – totalTenantsRead properties: period: type: object allOf: – #/definitions/period description: Filtro aplicado totalActiveTenants: type: integer format: int64 description: Total de tenants ativos totalTenantsRead: type: integer format: int64 description: Total de tenants que leu ao menos uma mensagem 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /techtouch/queries/healthcheck: post: description: Query para o SRE verificar a disponibilidade do serviço tags: – Queries x-senior-visibility: PRIVATE responses: 200: description: Ok schema: type: object required: – status – checks properties: status: type: string allOf: – #/definitions/healthCheckStatus description: Status do serviços checks: type: array items: type: object allOf: – #/definitions/checkDTO minimum: 1 description: Items avaliados 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Query para o SRE verificar a disponibilidade do serviço tags: – Queries x-senior-visibility: PRIVATE responses: 200: description: Ok schema: type: object required: – status – checks properties: status: type: string allOf: – #/definitions/healthCheckStatus description: Status do serviços checks: type: array items: type: object allOf: – #/definitions/checkDTO minimum: 1 description: Items avaliados 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /techtouch/queries/getMetadata: post: description: Default getMetadata query. Every service must handle this command and return metadata in the format requested. tags: – Queries x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object properties: metadataFormat: type: string description: responses: 200: description: Ok schema: type: object required: – metadata properties: metadata: type: string description: 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Default getMetadata query. Every service must handle this command and return metadata in the format requested. tags: – Queries x-senior-visibility: PRIVATE parameters: – name: metadataFormat description: in: query type: string responses: 200: description: Ok schema: type: object required: – metadata properties: metadata: type: string description: 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /techtouch/queries/getDependencies: post: description: Returns a list with all dependencies from this service, along with their respective versions tags: – Queries x-senior-visibility: PRIVATE responses: 200: description: Ok schema: type: object required: – dependencies properties: dependencies: type: array items: type: object allOf: – #/definitions/dependency minimum: 1 description: List with this service dependencies 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Returns a list with all dependencies from this service, along with their respective versions tags: – Queries x-senior-visibility: PRIVATE responses: 200: description: Ok schema: type: object required: – dependencies properties: dependencies: type: array items: type: object allOf: – #/definitions/dependency minimum: 1 description: List with this service dependencies 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /techtouch/actions/createNotification: post: description: Cria uma nova campanha/notificação por parte do tenant master tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object allOf: – #/definitions/notificationPayload responses: 200: description: Ok schema: type: object allOf: – #/definitions/basicNotificationInfo 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /techtouch/actions/createTenantNotification: post: description: Cria uma nova campanha/notificação por parte do tenant cliente tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object allOf: – #/definitions/basicNotification responses: 200: description: Ok schema: type: object allOf: – #/definitions/basicNotificationInfo 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /techtouch/actions/updateNotificationsToRead: post: description: Atualiza as campanhas/notificacoes selecionadas para lidas tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – notificationIds properties: notificationIds: type: array items: type: string minimum: 1 description: Ids das notificações responses: 200: description: Ok schema: type: object 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /techtouch/actions/updateNotificationsToUnread: post: description: Atualiza as campanhas/notificacoes selecionadas para não lidas tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – notificationIds properties: notificationIds: type: array items: type: string minimum: 1 description: Ids das notificações responses: 200: description: Ok schema: type: object 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /techtouch/actions/deleteNotification: post: description: Deleta a notificação/campanha e o usuário não será mais capaz de acessar tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – id properties: id: type: string description: Id da notificação responses: 200: description: Ok schema: type: object 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /techtouch/actions/addTenantsToBlocklist: post: description: Adicionar uma lista de tenants na blocklist de envio de campanhas tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – requestedBy – tenants properties: requestedBy: type: string description: Identifica quem fez a solicitação para adicionar o tenant na blocklist tenants: type: array items: type: string minimum: 1 description: Lista de tenants a serem adicionados na blocklist responses: 200: description: Ok schema: type: object 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /techtouch/actions/removeTenantsFromBlocklist: post: description: Remover uma lista de tenants da blocklist de envio de campanha tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – requestedBy – tenants properties: requestedBy: type: string description: Identifica quem fez a solicitação para remover o tenant na blocklist tenants: type: array items: type: string minimum: 1 description: Lista de tenants a serem removidos na blocklist responses: 200: description: Ok schema: type: object 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /techtouch/actions/disableBannerForUser: post: description: Desabilita o banner para o usuário, ou seja, não será mais exibido na tela após realizar o login tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – id properties: id: type: string description: Id do vínculo da notificação com o usuário (notification_profile) isShared: type: boolean description: Define se a campanha foi gerada pelo tenant senior ou tenant cliente default: true responses: 200: description: Ok schema: type: object required: – ok properties: ok: type: boolean description: 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /techtouch/signals/validateProfile: post: description: Valida se o usuário logado na plataforma tem perfil criado tags: – Signals parameters: – name: input in: body required: true schema: type: object responses: 202: description: Accepted default: description: Error response schema: #/definitions/genericError /techtouch/signals/migrateNotifications: post: description: Migra as campanhas para os usuários corretos e deleta os perfis fantasmas (primitiva temporária) tags: – Signals parameters: – name: input in: body required: true schema: type: object responses: 202: description: Accepted default: description: Error response schema: #/definitions/genericError /techtouch/signals/removeOldNotifications: post: description: Exclui as campanhas que foram enviadas há mais de 30 dias. Somente pode ser chamado com o atributo trusted. tags: – Signals parameters: – name: input in: body required: true schema: type: object responses: 202: description: Accepted default: description: Error response schema: #/definitions/genericError /techtouch/signals/signalCreateNotification: post: description: tags: – Signals parameters: – name: input in: body required: true schema: type: object required: – notificationId properties: notificationId: type: string description: responses: 202: description: Accepted default: description: Error response schema: #/definitions/genericError /techtouch/signals/sendSharedNotification: post: description: Faz o envio da campanha previamente criada pelo tenant senior tags: – Signals parameters: – name: input in: body required: true schema: type: object required: – notificationId properties: notificationId: type: string description: responses: 202: description: Accepted default: description: Error response schema: #/definitions/genericError /techtouch/signals/sendTenantNotification: post: description: Faz o envio da campanha previamente criada pelos tenants de cliente tags: – Signals parameters: – name: input in: body required: true schema: type: object required: – notificationId properties: notificationId: type: string description: responses: 202: description: Accepted default: description: Error response schema: #/definitions/genericError /techtouch/events/newNotificationPublished: post: description: Evento que sinaliza que existe novas notificações publicadas x-senior-event: true tags: – Events parameters: – name: input in: body required: true schema: type: object required: – hasNewNotificationPublished – destinationAllUsers properties: hasNewNotificationPublished: type: boolean description: destinationAllUsers: type: boolean description: responses: 200: description: OK default: description: Error response schema: #/definitions/genericError /techtouch/apis/group: post: description: Fachada para gestão de grupos de tenants para facilitar o envio de notificações tags: – APIS x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object allOf: – #/definitions/groupFacade responses: 200: description: Ok schema: #/definitions/groupFacade 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Fachada para gestão de grupos de tenants para facilitar o envio de notificações tags: – APIS x-senior-visibility: PUBLIC parameters: – name: offset in: query type: number – name: size in: query type: number – name: filter in: query type: string – name: groupby in: query type: string – name: displayfields in: query type: string – name: translation in: query type: boolean responses: 200: description: Ok schema: type: object properties: totalPages: description: Quantidade total de páginas: total de registros dividido pelo tamanho solicitado da página, arredondado pra cima type: integer format: int64 totalElements: description: Quantidade total de registros type: integer format: int64 contents: type: array items: #/definitions/groupFacade 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /techtouch/apis/group/{id}: get: description: Fachada para gestão de grupos de tenants para facilitar o envio de notificações tags: – APIS x-senior-visibility: PUBLIC parameters: – name: id in: path required: true type: string responses: 200: description: Ok schema: #/definitions/groupFacade 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError delete: description: Fachada para gestão de grupos de tenants para facilitar o envio de notificações tags: – APIS x-senior-visibility: PUBLIC parameters: – name: id in: path required: true type: string responses: 200: description: Ok 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError definitions: healthCheckStatus: type: string enum: – UP – DOWN description: Status do Healthcheck: * `UP` – Disponível * `DOWN` – Indisponível notificationSendType: type: string enum: – IMMEDIATE – SCHEDULED description: Indica se a campanha é enviada imediatamente ou é agendada: * `IMMEDIATE` – Imediata * `SCHEDULED` – Agendada notificationSendCategory: type: string enum: – ANNOUNCEMENT – RELEASES – RELEASE_NOTES – INSIGHTS – ALERT – SCHEDULED_MAINTENANCE – UNAVAILABILITY description: Categoria da campanha/notificação. Define o tema da campanha a ser enviada: * `ANNOUNCEMENT` – Comunicado. Informativo sobre temas gerais da plataforma * `RELEASES` – Lançamento. Apresenta uma nova funcionalidade ou produto dentro da plataforma * `RELEASE_NOTES` – Nota de versão. Informativo sobre as novidades de versão mais recentes do produto * `INSIGHTS` – Insight. Ideia ou esclarecimento sobre a utilização de uma feature ou produto * `ALERT` – Alerta. Uma comunicação que consiste em advertir o usuário * `SCHEDULED_MAINTENANCE` – Manutenção programada. Informativo sobre uma manutenção programada na plataforma * `UNAVAILABILITY` – Indisponibilidade. Informativo sobre uma indisponibilidade da plataforma status: type: string enum: – DRAFT – SENT – FINISHED – SCHEDULED description: Status da campanha/notificação: * `DRAFT` – Rascunho, ou seja, permite edição e envio * `SENT` – Campanha já foi enviada * `FINISHED` – Finalizada * `SCHEDULED` – Campanha foi agendada para envio groupMode: type: string enum: – INCLUSION – EXCLUSION description: Define se um grupo é do tipo inclusão ou exclusão: * `INCLUSION` – Serão adicionados somente os tenants do grupo no envio de notificações * `EXCLUSION` – Serão informados todos os tenants exceto os tenants do grupo no envio de notificações userNotificationKind: type: string enum: – Operational – Management – News description: User notification kind.: * `Operational` – Operational * `Management` – Management * `News` – News userNotificationPriority: type: string enum: – Error – Alert – None description: User notification priority.: * `Error` – Error * `Alert` – Alert * `None` – None eventEmailFormat: type: string enum: – HTML – PLAIN_TEXT description: Format of the email: * `HTML` – Html * `PLAIN_TEXT` – Plain Text notification: description: type: object required: – id – name – product – sendCategory – status – sendDate – active properties: id: type: string description: name: type: string description: product: type: string description: sendCategory: type: string description: status: type: string description: sendDate: type: string format: YYYY-MM-DDTHH:mm:ss.SSS pattern: ^[0-9]{4}-(1[0-2]|0[1-9])-(3[01]|[12][0-9]|0[1-9])T(1[0-9]|0[1-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])[.][0-9]{3}$ description: active: type: boolean description: newestNotification: description: type: object required: – id – sendCategory – title – summary – sendDate – content – read – banner – isShared properties: id: type: string description: Representa o id da notification_profile, indicando vínculo com usuário e notificação sendCategory: type: string description: Categoria de envio da campanha type: string description: Título da campanha summary: type: string description: Resumo da campanha sendDate: type: string format: YYYY-MM-DDTHH:mm:ss.SSS pattern: ^[0-9]{4}-(1[0-2]|0[1-9])-(3[01]|[12][0-9]|0[1-9])T(1[0-9]|0[1-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])[.][0-9]{3}$ description: Data de envio da campanha content: type: string description: Conteúdo da campanha read: type: boolean description: Define se o usuário já leu a campanha banner: type: boolean description: Define se a campanha é do tipo banner isShared: type: boolean description: Define se a campanha foi gerada pelo tenant senior ou tenant cliente listInformation: description: As informações sobre os resultados de listagem realizada type: object required: – totalElements – totalPages properties: totalElements: type: integer format: int64 description: Quantidade total de resultados encontrados. totalPages: type: integer format: int64 description: Quantidade total de páginas encontradas. summaryNotification: description: Dados resumidos da notificação type: object required: – id – name – sendCategory – createdDate – createdBy – summary properties: id: type: string description: name: type: string description: sendCategory: type: string allOf: – #/definitions/notificationSendCategory description: createdDate: type: string format: YYYY-MM-DDTHH:mm:ss.SSS pattern: ^[0-9]{4}-(1[0-2]|0[1-9])-(3[01]|[12][0-9]|0[1-9])T(1[0-9]|0[1-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])[.][0-9]{3}$ description: createdBy: type: string description: summary: type: string description: metricsNotification: description: Métrica com total de usuários que recebeu a mensagem vs quantidade de usuários que leu a mensagem type: object required: – id – name – totalUsersReadUnread properties: id: type: string description: Id da campanha name: type: string description: Nome da campanha totalUsersReadUnread: type: object allOf: – #/definitions/readUnread description: Somatória de entrega e leitura das notificações de todos os tenants metricsNotificationByTenants: description: Métrica de engajamento dos tenants para a notificação enviada type: object required: – id – name – data properties: id: type: string description: name: type: string description: data: type: array items: type: object allOf: – #/definitions/metricsNotificationByTenant minimum: 1 description: metricsNotificationByTenant: description: Notificação por tenant type: object required: – tenantName – readUnread properties: tenantName: type: string description: Nome do tenant readUnread: type: object allOf: – #/definitions/readUnread description: Contador de leituras metricsTenantEngagement: description: Engajamento dos tenants type: object required: – totalActiveTenants – engagement properties: totalActiveTenants: type: integer format: int64 description: Total de tenants ativos engagement: type: array items: type: object allOf: – #/definitions/engagement minimum: 1 description: engagement: description: Engajamento type: object required: – id – name – totalTenants – totalRead properties: id: type: string description: Id da notificação name: type: string description: Nome da notificação totalTenants: type: integer format: int64 description: Total de tenants notificados totalRead: type: integer format: int64 description: Total de tenants que ao menos um usuário leu a notificação readUnread: description: Contador das notificações lidas/não lidas type: object required: – total – totalRead – totalUnread properties: total: type: integer format: int64 description: totalRead: type: integer format: int64 description: totalUnread: type: integer format: int64 description: period: description: type: object required: – from – to properties: from: type: string format: YYYY-MM-DDTHH:mm:ss.SSS pattern: ^[0-9]{4}-(1[0-2]|0[1-9])-(3[01]|[12][0-9]|0[1-9])T(1[0-9]|0[1-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])[.][0-9]{3}$ description: to: type: string format: YYYY-MM-DDTHH:mm:ss.SSS pattern: ^[0-9]{4}-(1[0-2]|0[1-9])-(3[01]|[12][0-9]|0[1-9])T(1[0-9]|0[1-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])[.][0-9]{3}$ description: resource: description: Define um recurso por meio da uri e ação type: object required: – uri – action – name properties: uri: type: string description: Uri do recurso action: type: string description: Ação que o recurso possui name: type: string description: Nome do recurso tenantGroup: description: Representa um grupo de tenant definindo o público-alvo da campanha type: object required: – id – description – groupMode properties: id: type: string description: id do grupo de tenant description: type: string description: Descrição do grupo groupMode: type: string allOf: – #/definitions/groupMode description: Define se um grupo é de inclusão ou exclusão checkDTO: description: Componente avaliado no health check type: object required: – name – status properties: name: type: string description: Nome do componente status: type: string allOf: – #/definitions/healthCheckStatus description: Status do componente basicNotification: description: Representa os dados básicos da campanha, utilizados tanto para criação pelo tenant senior quanto tenants clientes discriminator: _discriminator type: object required: – name – title – sendType – sendCategory – content – summary – _discriminator properties: id: type: string description: Id da campanha, utilizado para edição do registro name: type: string maxLength: 95 description: Nome da campanha type: string maxLength: 95 description: Titulo da campanha sendType: type: string allOf: – #/definitions/notificationSendType description: Define se a campanha será enviada imediatamente ou é agendada sendCategory: type: string allOf: – #/definitions/notificationSendCategory description: Categoria de envio product: type: string description: Produto alvo content: type: string description: Conteudo da mensagem scheduleDate: type: string format: YYYY-MM-DDTHH:mm:ss.SSS pattern: ^[0-9]{4}-(1[0-2]|0[1-9])-(3[01]|[12][0-9]|0[1-9])T(1[0-9]|0[1-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])[.][0-9]{3}$ description: Data e hora no padrão UTC para divulgação da campanha timezoneOffset: type: integer format: int64 description: Valor do offset do timezone summary: type: string maxLength: 180 description: Resumo do assunto da campanha allUsers: type: boolean description: Indica se a notificação deve ser entregue a todos os usuários default: true isRoleAdmin: type: boolean description: Indica se a notificação deve ser entregue a todos os usuários vinculados ao papel admin default: false resources: type: array items: type: object allOf: – #/definitions/resource description: Recursos que serão utilizados para filtrar os usuários a serem notificados banner: type: boolean description: Indica se a campanha irá aparecer no formato de banner assim que o usuário fizer login default: false expirationDate: type: string format: date description: Indica a data de expiração do banner _discriminator: type: string description: notificationPayload: description: Indica os atributos da notificação que serão utilizados na criação de campanhas por parte do tenant master allOf: – #/definitions/basicNotification – type: object properties: groups: type: array items: type: string description: Lista dos ids dos grupos de tenants que serão o público-alvo da campanha allTenants: type: boolean description: Indica se a notificação será enviada para todos os tenants default: false basicNotificationInfo: description: type: object required: – id – name – title properties: id: type: string description: ID da campanha/notificação name: type: string description: Nome da campanha/notificação type: string description: Título da campanha/notificação notifyUserEventPayload: description: Represents a regular user event notification payload discriminator: _discriminator type: object required: – notificationKind – notificationPriority – notificationSubject – notificationContent – sourceDomain – sourceService – destinationUser – _discriminator properties: notificationClass: type: string description: Class of notification notificationOrigin: type: string description: Origin of notification. Free text. Optional. notificationKind: type: string allOf: – #/definitions/userNotificationKind description: Notification kind. notificationPriority: type: string allOf: – #/definitions/userNotificationPriority description: Notification priority. notificationSubject: type: string description: Notification subject. notificationContent: type: string description: Notification content. sourceDomain: type: string description: Domain that generates the notification. sourceService: type: string description: Service that generates the notification. destinationUser: type: string description: Username of the destination user. link: type: string description: Notification link _discriminator: type: string description: emailNotifyUserEventPayload: description: Represents an email notification payload allOf: – #/definitions/notifyUserEventPayload – type: object required: – from properties: from: type: string description: Email sender address sendTo: type: array items: type: string description: Additional recipients to send the email to format: type: string allOf: – #/definitions/eventEmailFormat description: Email format pushNotifyUserEventPayload: description: Represents a push notification payload allOf: – #/definitions/notifyUserEventPayload – type: object required: – applicationId properties: applicationId: type: string description: Apple/Google application id blobReference: description: Default blob reference type. Every service defines its own. type: object required: – targetObjectId properties: domainName: type: string description: The domain the blob belongs to. serviceName: type: string description: The service the blob belongs to. targetObjectId: type: string description: The basic id of the blob. targetCopyId: type: string description: The id of the blob copy. basicErrorPayload: description: Default error payload type. Every service defines its own. type: object properties: message: type: string description: The user-facing error message, if any. errorCode: type: string description: The program-accessible (and service-specific) error code. dependency: description: Represents a service dependency type: object required: – domain – service – version properties: domain: type: string description: Domain of the dependency service service: type: string description: Name of the dependency service type: string description: Version of the dependency service groupFacade: description: Fachada para gestão de grupos de tenants para facilitar o envio de notificações type: object required: – description – groupMode – tenants properties: id: type: string format: uuid description: id do grupo de tenant description: type: string description: Descrição do grupo groupMode: type: string allOf: – #/definitions/groupMode description: Define se um grupo é de inclusão ou exclusão tenants: type: array items: type: string minimum: 1 description: Tenants a serem vinculados nos grupos genericError: properties: message: type: string description: Messaging describing the error. reason: type: string enum: – BAD_REQUEST – UNAUTHORIZED – PAYMENT_REQUIRED – FORBIDDEN – OBJECT_NOT_FOUND – REQUEST_TIMEOUT – GONE – UNPROCESSABLE – INTERNAL_ERROR – NOT_IMPLEMENTED – SERVICE_UNAVAILABLE – INSUFFICIENT_STORAGE description: A symbolic code identifying the category of the reason of the error: * `BAD_REQUEST` – Bad Request * `UNAUTHORIZED` – Unauthorized * `PAYMENT_REQUIRED` – Payment Required * `OBJECT_NOT_FOUND` – Object Not Found * `REQUEST_TIMEOUT` – Request Timeout * `GONE` – Gone * `UNPROCESSABLE` – Unprocessable * `INTERNAL_ERROR` – Internal Error * `NOT_IMPLEMENTED` – Not Implemented * `SERVICE_UNAVAILABLE` – Service Unavailable * `INSUFFICIENT_STORAGE` – Insufficient Storage