Sufficit.Gateway.Zabbix 1.26.728.1654

dotnet add package Sufficit.Gateway.Zabbix --version 1.26.728.1654
                    
NuGet\Install-Package Sufficit.Gateway.Zabbix -Version 1.26.728.1654
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Sufficit.Gateway.Zabbix" Version="1.26.728.1654" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Sufficit.Gateway.Zabbix" Version="1.26.728.1654" />
                    
Directory.Packages.props
<PackageReference Include="Sufficit.Gateway.Zabbix" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Sufficit.Gateway.Zabbix --version 1.26.728.1654
                    
#r "nuget: Sufficit.Gateway.Zabbix, 1.26.728.1654"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Sufficit.Gateway.Zabbix@1.26.728.1654
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Sufficit.Gateway.Zabbix&version=1.26.728.1654
                    
Install as a Cake Addin
#tool nuget:?package=Sufficit.Gateway.Zabbix&version=1.26.728.1654
                    
Install as a Cake Tool

Sufficit.Gateway.Zabbix

Pacote .NET do gateway Zabbix da Sufficit.

O projeto concentra:

  • contratos públicos das integrações, destinos, execuções e automação;
  • persistência Entity Framework do gateway;
  • orquestração dos alertas telefônicos;
  • configuração remota do Zabbix por JSON-RPC;
  • extensões de injeção de dependências.

Os projetos consumidores usam o projeto local quando ele está disponível e o pacote Sufficit.Gateway.Zabbix em instalações publicadas.

O target netstandard2.0 contém somente contratos e interfaces para clientes legados. Persistência Entity Framework, registro de serviços e automação remota ficam nos targets modernos (net7.0, net9.0 e net10.0). Essa separação evita carregar o provedor MySQL legado e sua dependência Newtonsoft.Json nos clientes.

Registro

services.AddSufficitGatewayZabbix(configuration, loggerFactory);

O host precisa informar o callback público no appsettings.json:

{
  "Sufficit": {
    "Gateway": {
      "Zabbix": {
        "PublicAlertEndpoint": "https://endpoints.example.com/gateway/zabbix/alert"
      }
    }
  }
}

PublicAlertEndpoint é obrigatório, deve ser uma URL HTTPS absoluta e não pode conter query string ou fragmento. O pacote acrescenta contextId e id ao configurar o webhook. Não existe endereço padrão ou fallback compilado no serviço.

O host deve registrar implementações para:

  • IZabbixTelephonyBridge, conectando o gateway ao Call Dispatch;
  • IZabbixTokenProtector, protegendo o token da API do cliente.

Essa configuração pertence exclusivamente ao host da API que recebe os alertas. O runtime calcula alert_callback_url e a inclui nas integrações retornadas aos clientes. Aplicações Blazor e outros clientes não devem registrar ZabbixGatewayOptions nem duplicar PublicAlertEndpoint em seus appsettings.

Banco de dados

Os scripts de referência ficam em src/EntityFramework/Schema.

Contratos

Os modelos públicos em src/Contracts possuem documentação XML em classes, enums, constantes e propriedades. A documentação gerada é incluída no pacote para aparecer no IntelliSense dos projetos consumidores.

Mensagens e localização

Toda comunicação operacional do pacote usa uma mensagem técnica em inglês e um código estável no formato SGZ9999, definido em ZabbixGatewayMessageCodes. Os consumidores devem localizar pelo código e usar o texto inglês somente como fallback técnico.

Resultados bem-sucedidos expõem message_code. Falhas persistidas em execuções e tentativas expõem error_code. Os endpoints ASP.NET Core retornam RFC 7807 com o código no campo code:

{
  "type": "urn:sufficit:gateway:zabbix:error:SGZ2003",
  "title": "The Zabbix gateway request failed.",
  "status": 400,
  "detail": "A Zabbix API token is required.",
  "code": "SGZ2003",
  "error_kind": "Validation",
  "trace_id": "..."
}

Nunca use o texto de detail como chave de tradução. Os códigos existentes não devem ser renumerados nem reutilizados para outro significado.

O script 202607241430-gatw-zabbix-error-codes.sql adiciona as colunas que persistem os códigos de erro de execuções e tentativas.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Sufficit.Gateway.Zabbix:

Package Downloads
Sufficit.Blazor

Package Description

Sufficit.Client

EndPoints API Client

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.26.728.1654 143 7/28/2026
1.26.724.2244 329 7/24/2026
1.26.724.2237 82 7/24/2026
1.26.724.2223 101 7/24/2026
1.26.724.2213 107 7/24/2026
1.26.724.2128 88 7/24/2026
1.26.724.2009 188 7/24/2026