2.0info: 0.3.0 metrics description: Serviço de métricas x-senior-domain: sam x-senior-domain-path: sam x-senior-service-path: metrics 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/samsecurityDefinitions: APIKeyHeader: type: apiKey in: header name: Authorizationsecurity: – APIKeyHeader: [] – application/json – application/jsonpaths: /metrics/queries/healthcheck: post: description: Verifica a saúde 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 geral do healthcheck checks: type: array items: type: object allOf: – #/definitions/healthcheckItem minimum: 1 description: Itens verificados no healthcheck 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Verifica a saúde 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 geral do healthcheck checks: type: array items: type: object allOf: – #/definitions/healthcheckItem minimum: 1 description: Itens verificados no healthcheck 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /metrics/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 /metrics/queries/exportTenant: post: description: tags: – Queries x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – config properties: config: type: object allOf: – #/definitions/exportConfig description: responses: 200: description: Ok schema: type: object required: – exportJobId properties: exportJobId: type: string description: 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /metrics/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 /metrics/actions/getMetrics: post: description: Consulta métricas tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object allOf: – #/definitions/metricsInput responses: 200: description: Ok schema: type: object required: – metrics properties: metrics: type: array items: type: object allOf: – #/definitions/metricTenant minimum: 1 description: 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /metrics/actions/exportMetrics: post: description: Exporta métricas para arquivo csv tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object allOf: – #/definitions/metricsInput responses: 200: description: Ok schema: type: object required: – downloadUrl properties: downloadUrl: type: string description: URL para download do arquivo CSV 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /metrics/actions/exportAllMetricsToZip: post: description: Exporta todas métricas para determinados arquivos csv e compacta tudo num zip tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object allOf: – #/definitions/searchMultipleMetricsInput responses: 200: description: Ok schema: type: object required: – downloadUrl properties: downloadUrl: type: string description: URL para download do arquivo ZIP 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /metrics/actions/getValidations: post: description: Consulta validações ativas em determinado tenant tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object properties: tenants: type: array items: type: string description: Tenant size: type: integer format: int64 description: Quantidade de registros por página minimum: 1 default: 10 offset: type: integer format: int64 description: Número da página minimum: 0 default: 0 responses: 200: description: Ok schema: type: object required: – totalPages – totalElements – contents properties: totalPages: type: integer format: int64 description: Total de páginas totalElements: type: integer format: int64 description: Total de elementos contents: type: array items: type: object allOf: – #/definitions/configuredValidations minimum: 1 description: Validações configuradas 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /metrics/actions/exportValidations: post: description: Exporta validações ativas em determinado tenant para arquivo csv tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object properties: tenants: type: array items: type: string description: Tenants responses: 200: description: Ok schema: type: object required: – downloadUrl properties: downloadUrl: type: string description: URL para download do arquivo CSV 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /metrics/actions/getDeviceManufacturer: post: description: Consulta de fabricantes do dispositivo tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object properties: tenants: type: array items: type: string description: Tenant responses: 200: description: Ok schema: type: object required: – metric properties: metric: type: object allOf: – #/definitions/metricStacked description: 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /metrics/actions/exportDeviceManufacturer: post: description: Exporta fabricantes do dispositivo para csv tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object properties: tenants: type: array items: type: string description: Tenants responses: 200: description: Ok schema: type: object required: – downloadUrl properties: downloadUrl: type: string description: URL para download do arquivo CSV 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /metrics/actions/getStackedBarMetrics: post: description: Consulta das métricas que utilizam o tipo stacked bar tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object allOf: – #/definitions/metricsInput responses: 200: description: Ok schema: type: object required: – metric properties: metric: type: object allOf: – #/definitions/metricStacked description: 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /metrics/actions/exportStackedBarMetrics: post: description: Exporta as métricas que utilizam o tipo stacked bar para csv tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object allOf: – #/definitions/metricsInput responses: 200: description: Ok schema: type: object required: – downloadUrl properties: downloadUrl: type: string description: URL para download do arquivo CSV 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /metrics/actions/importTenant: post: description: tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – config properties: config: type: object allOf: – #/definitions/importConfig description: responses: 200: description: Ok schema: type: object required: – importJobId properties: importJobId: type: string description: 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /metrics/events/importTenantEvent: post: description: x-senior-event: true tags: – Events parameters: – name: input in: body required: true schema: type: object required: – eventpl properties: eventpl: type: object allOf: – #/definitions/importEventStatus description: responses: 200: description: OK default: description: Error response schema: #/definitions/genericError /metrics/events/exportTenantEvent: post: description: x-senior-event: true tags: – Events parameters: – name: input in: body required: true schema: type: object required: – eventpl properties: eventpl: type: object allOf: – #/definitions/exportEventStatus description: responses: 200: description: OK default: description: Error response schema: #/definitions/genericError /metrics/entities/tenant: post: tags: – CRUD x-senior-visibility: PRIVATE parameters: – name: entity in: body required: true schema: type: object allOf: – #/definitions/tenant responses: 200: description: The created resource schema: #/definitions/tenant 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError patch: tags: – CRUD x-senior-visibility: PRIVATE parameters: – name: entity in: body required: true schema: type: object allOf: – #/definitions/tenant responses: 200: description: The created resource schema: #/definitions/tenant 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: tags: – CRUD x-senior-visibility: PRIVATE parameters: – name: offset in: query type: number – name: size in: query type: number responses: 200: description: Ok schema: type: array items: #/definitions/tenant 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /metrics/entities/tenant/{id}: put: tags: – CRUD x-senior-visibility: PRIVATE parameters: – name: id in: path required: true type: string – name: entity in: body required: true schema: #/definitions/tenant responses: 200: description: Ok schema: #/definitions/tenant 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError patch: tags: – CRUD x-senior-visibility: PRIVATE parameters: – name: id in: path required: true type: string – name: entity in: body required: true schema: #/definitions/tenant responses: 200: description: Ok schema: #/definitions/tenant 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: tags: – CRUD x-senior-visibility: PRIVATE parameters: – name: id in: path required: true type: string responses: 200: description: Ok schema: #/definitions/tenant 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError delete: tags: – CRUD x-senior-visibility: PRIVATE parameters: – name: id in: path required: true type: string responses: 200: description: Ok 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /metrics/entities/tenant/bulk: post: tags: – Bulk parameters: – name: entities in: body required: true schema: type: array items: #/definitions/tenant responses: 200: description: The bulk creation has created resources 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError definitions: healthcheckStatus: description: Status do healthcheck type: string enum: – UP – DOWN metricType: description: Tipo de métrica type: string enum: – PERSON_CREDENTIAL – VIRTUAL_CREDENTIAL – ACTIVE_DEVICES – CLOCKING – PERSON_CLOCKING – DEVICE_CLOCKING – ACCESS_CREDIT – ACCESS_VALIDATION – ACCESS – PERSON_ACCESS – DEVICE_ACCESS – CONFIGURATED_VALIDATIONS – STATISTICS – TREATED_INCIDENTS – COMPLETED_INCIDENTS – REGISTERED_INCIDENTS – STOPPED_INCIDENTS – ACTIVE_CAMERA – RECEIVED_ALARM – DEVICE_MANUFACTURER – ROUTINE_MANAGEMENT_LICENSES – ACTIVE_ROUTINE_PLAN_TYPE – ACTIVE_ROUTINE_PLAN – TOUR_NOT_CARRIED_OUT – ROUTINE_PLAN_CHECKLIST – TOUR_STATUS – CHECKLIST_ANSWERED – INCIDENTS_APP_SOLUTION_TIME – INCIDENTS_APP – MOBILE_DEVICE_PLATFORM – CHECKLIST_SITUATION – CHECKPOINT_TYPE – INCIDENTS_APP_FINISHED tenantStatus: description: Status do tenant type: string enum: – BLOCKED – ACTIVE 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 fieldType: description: type: string enum: – BINARY – BOOLEAN – DATE – DATETIME – LOCALDATETIME – DOUBLE – ENUM – INTEGER – MONEY – STRING – TIME fileFormat: description: type: string enum: – CSV – FLAT – JSON – XML hookFunction: description: type: string enum: – BEFORE_PARSE – BEFORE_CONVERSION – ON_ERROR – VALIDATE eventType: description: type: string enum: – CHUNK – DOWNLOAD – ERROR – FINISH – START errorStrategy: description: type: string enum: – CALL_SCRIPT – IGNORE – STOP status: description: type: string enum: – DONE – DONE_WITH_ERRORS – DOWNLOADING – ERROR – NOT_STARTED – RUNNING errorType: description: type: string enum: – CONVERT_ERROR – SERVICE_ERROR healthcheckItem: description: Item verificado no healthcheck type: object required: – name – status properties: name: type: string description: Nome do item status: type: string allOf: – #/definitions/healthcheckStatus description: Status da saúde metricData: description: Quantidade da data type: object required: – month – amount properties: month: type: string description: Data amount: type: number format: double description: Quantidade metricTenant: description: Dados do tenant type: object required: – tenant – metricData properties: tenant: type: string description: Tenant metricData: type: array items: type: object allOf: – #/definitions/metricData minimum: 1 description: Quantidade por data metricsInput: description: Filtro de métricas type: object required: – type properties: type: type: string allOf: – #/definitions/metricType description: Tipo de métrica tenants: type: array items: type: string description: Tenants initialDate: type: string description: Data inicial do período finalDate: type: string description: Data final do período searchMultipleMetricsInput: description: Filtro para buscar várias métricas type: object properties: metricTypes: type: array items: type: string allOf: – #/definitions/metricType description: Tipos de métricas tenants: type: array items: type: string description: Tenants initialDate: type: string description: Data inicial do período finalDate: type: string description: Data final do período configuredValidations: description: Validações configuradas type: object required: – tenant – permissionControl – levelControl – roleSuspensionControl – antiPassbackControl – accessCreditControl – slotTimeRoleControl – slotTimePhysicalControl – customValidationControl – betweenWorkDaysControl properties: tenant: type: string description: permissionControl: type: boolean description: levelControl: type: boolean description: roleSuspensionControl: type: boolean description: antiPassbackControl: type: boolean description: accessCreditControl: type: boolean description: slotTimeRoleControl: type: boolean description: slotTimePhysicalControl: type: boolean description: customValidationControl: type: boolean description: betweenWorkDaysControl: type: boolean description: metricStacked: description: Objeto para retornar os dados no padrão stacked para o frontend type: object required: – labels – metricStackedDatas properties: labels: type: array items: type: string minimum: 1 description: metricStackedDatas: type: array items: type: object allOf: – #/definitions/metricStackedData minimum: 1 description: metricStackedData: description: Objeto para organizar os dados no padrão stacked type: object required: – label – datas properties: label: type: string description: datas: type: array items: type: number format: double minimum: 1 description: tenant: description: Inquilino do SAM type: object required: – name – schemaName – status – credentialLicenseLimit – incidentManagementUsersLicenseLimit properties: id: type: integer format: int64 description: Id name: type: string maxLength: 100 description: Nome do tenant erpCode: type: integer format: int64 description: Código do ERP schemaName: type: string maxLength: 100 description: Nome do schema status: type: string allOf: – #/definitions/tenantStatus description: Status do tenant credentialLicenseLimit: type: integer format: int64 description: Quantidade de licença de credênciais incidentManagementUsersLicenseLimit: type: integer format: int64 description: Quantidade de licença de usuários do gestão de incidentes usage: type: string maxLength: 50 description: Descrição da finalidade a qual o uso do tenant é empregado. 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. importError: description: type: object required: – errorType – lineNumber – bean – message – exceptionClass properties: errorType: type: string allOf: – #/definitions/errorType description: lineNumber: type: integer format: int64 description: bean: type: string description: message: type: string description: exceptionClass: type: string description: fielddto: description: type: object required: – id – name – fieldType properties: id: type: integer format: int64 description: name: type: string description: fieldType: type: string allOf: – #/definitions/fieldType description: start: type: integer format: int64 description: size: type: integer format: int64 description: maskPattern: type: string description: hookdto: description: type: object required: – hookFunction – script properties: hookFunction: type: string allOf: – #/definitions/hookFunction description: script: type: string description: layoutdto: description: type: object required: – id – description – fileFormat – errorStrategy – skipLines – fields properties: id: type: integer format: int64 description: description: type: string description: fileFormat: type: string allOf: – #/definitions/fileFormat description: errorStrategy: type: string allOf: – #/definitions/errorStrategy description: delimiter: type: string description: skipLines: type: integer format: int64 description: fields: type: array items: type: object allOf: – #/definitions/fielddto minimum: 1 description: hooks: type: array items: type: object allOf: – #/definitions/hookdto description: importReport: description: type: object required: – id – startTime – endTime – uri – beanClass – serviceClass – layout – sucessCount – errorsCount – filteredCount – skippedCount properties: id: type: string description: startTime: type: string format: date-time description: endTime: type: string format: date-time description: uri: type: string description: beanClass: type: string description: serviceClass: type: string description: layout: type: object allOf: – #/definitions/layoutdto description: sucessCount: type: integer format: int64 description: errorsCount: type: integer format: int64 description: filteredCount: type: integer format: int64 description: skippedCount: type: integer format: int64 description: importErrors: type: array items: type: object allOf: – #/definitions/importError description: exportEventStatus: description: type: object required: – importerId – eventType – recordCount properties: importerId: type: string description: eventType: type: string allOf: – #/definitions/eventType description: recordCount: type: integer format: int64 description: importEventStatus: description: type: object required: – importerId – eventType – status – recordCount properties: importerId: type: string description: eventType: type: string allOf: – #/definitions/eventType description: status: type: string allOf: – #/definitions/status description: errorMessage: type: string description: recordCount: type: integer format: int64 description: importReport: type: object allOf: – #/definitions/importReport description: exportConfig: description: type: object required: – uri – layout – async – errorStrategy properties: uri: type: string description: layout: type: object allOf: – #/definitions/layoutdto description: async: type: boolean description: errorStrategy: type: string description: importConfig: description: type: object required: – uri – layout – async – batchSize – errorStrategy properties: uri: type: string description: layout: type: object allOf: – #/definitions/layoutdto description: async: type: boolean description: batchSize: type: integer format: int64 description: errorStrategy: type: string allOf: – #/definitions/errorStrategy description: 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 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