2.0info: 2.6.1 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 /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: responses: 200: description: Ok schema: type: object required: – id – name – title – sendType – sendCategory – content – summary – product – status – scheduleDate – active properties: id: type: string description: name: type: string description: type: string description: sendType: type: string description: sendCategory: type: string description: content: type: string description: summary: type: string description: product: type: string description: status: type: string description: 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: active: type: boolean description: 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: 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 properties: id: type: string description: name: type: string description: type: string description: sendType: type: string description: sendCategory: type: string description: content: type: string description: summary: type: string description: product: type: string description: status: type: string description: 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: active: type: boolean description: 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: 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: 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: responses: 200: description: Ok schema: type: object required: – title – content – sendCategory – sendDate properties: type: string description: content: type: string description: sendCategory: 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: 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: in: query required: true type: string responses: 200: description: Ok schema: type: object required: – title – content – sendCategory – sendDate properties: type: string description: content: type: string description: sendCategory: 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: 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 properties: total: type: integer format: int64 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 properties: total: type: integer format: int64 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: Gera as métricas de quantos tenants leram ao menos uma mensagem dentro de um determinado período tags: – Queries 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: Gera as métricas de quantos tenants leram ao menos uma mensagem dentro de um determinado período tags: – Queries 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/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/queries/healthcheck: post: description: HealthCheck plataforma tags: – Queries x-senior-visibility: PRIVATE responses: 200: description: Ok schema: type: object required: – status – checks properties: status: type: string allOf: – #/definitions/healthcheckDTO description: Status de retorno checks: type: object allOf: – #/definitions/checkDTO description: Checks executados 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: HealthCheck plataforma tags: – Queries x-senior-visibility: PRIVATE responses: 200: description: Ok schema: type: object required: – status – checks properties: status: type: string allOf: – #/definitions/healthcheckDTO description: Status de retorno checks: type: object allOf: – #/definitions/checkDTO description: Checks executados 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /techtouch/actions/createNotification: post: description: Cria uma nova campanha/notificação tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – name – title – sendType – sendCategory – content – isDraft – summary properties: name: type: string maxLength: 95 description: Nome da campanha type: string maxLength: 95 description: Titulo da campanha sendType: type: string allOf: – #/definitions/notificationSendType description: Tipo de envio 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 isDraft: type: boolean description: Se é rascunho 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 responses: 200: description: Ok schema: 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 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: 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: 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: 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: tenants: type: array items: type: string minimum: 1 description: 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: tenants: type: array items: type: string minimum: 1 description: responses: 200: description: Ok schema: type: object 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /techtouch/signals/signalCreateNotification: post: description: tags: – Signals parameters: – name: input in: body required: true schema: type: object allOf: – #/definitions/notificationPayload responses: 202: description: Accepted 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/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/genericErrordefinitions: notificationSendType: description: Status da campanha/notificação type: string enum: – IMMEDIATE – SCHEDULED notificationSendCategory: description: Categoria da campanha/notificação type: string enum: – ANNOUNCEMENT – RELEASES – RELEASE_NOTES – INSIGHTS – ALERT status: description: Status da campanha/notificação type: string enum: – DRAFT – SENT – FINISHED – SCHEDULED userNotificationKind: description: User notification kind. type: string enum: – Operational – Management – News userNotificationPriority: description: User notification priority. type: string enum: – Error – Alert – None eventEmailFormat: description: Format of the email type: string enum: – HTML – PLAIN_TEXT healthcheckDTO: description: Status do healthcheck type: string enum: – UP – DOWN basicNotification: description: discriminator: _discriminator type: object required: – _discriminator properties: name: type: string description: Nome da campanha type: string description: Titulo da campanha sendType: type: string allOf: – #/definitions/notificationSendType description: Tipo de envio 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 isDraft: type: boolean description: Se é rascunho summary: type: string description: Resumo do assunto da campanha _discriminator: type: string description: notificationPayload: description: allOf: – #/definitions/basicNotification – type: object properties: allUsers: type: boolean description: Indica se a notificação deve ser entregue a todos os usuários default: false notifyTenantsAndRoles: description: allOf: – #/definitions/notificationPayload – type: object properties: tenants: type: array items: type: string description: Lista de tenants a ser notificados, se não informado seram notificado todos os tenants roles: type: array items: type: string description: Lista de papeis que contém os usuários que deveram ser notificados. 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 – read properties: id: type: string description: sendCategory: type: string description: type: string description: summary: 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: read: type: boolean description: 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: 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 checkDTO: description: Retorno status usados de retorno type: object required: – status – name properties: status: type: string allOf: – #/definitions/healthcheckDTO description: Status name: type: string description: Status genericError: properties: message: type: string description: Messaging describing the error. reason: type: string description: A symbolic code identifying the category of the reason of the error. enum: – BAD_REQUEST – UNAUTHORIZED – PAYMENT_REQUIRED – FORBIDDEN – OBJECT_NOT_FOUND – REQUEST_TIMEOUT – GONE – UNPROCESSABLE – INTERNAL_ERROR – NOT_IMPLEMENTED – SERVICE_UNAVAILABLE – INSUFFICIENT_STORAGE