Skip to content

SAIF.Data.Guidewire overview

Documentation context: Packaged Component (NuGet)

SAIF.Data.Guidewire is a .NET Framework 4.6.2 class library of five typed HTTP clients — Activity, Claim, Financial, Provider, and Worker data — that call Guidewire ClaimCenter and ContactManager (AddressBook) REST APIs on behalf of SAIF.Data, SAIF.Domain, and SAIF.Services, and it ships inside the SAIF.SAIFCode.Core NuGet package.

Purpose

  • Provide async, typed client interfaces (IActivityDataApiClient, IClaimDataApiClient, IFinancialDataApiClient, IProviderDataApiClient, IWorkerDataApiClient) and their implementations over Guidewire ClaimCenter/ContactManager REST data APIs.
  • Centralize base-URL resolution, HTTP Basic authentication, and Polly-backed response caching in a shared HttpClientBase so each concrete client only declares its endpoint paths and DTOs.
  • Define the request/response DTOs for each Guidewire API surface under Models/** and Contracts/**.
  • It is consumed by SAIF.Data (which registers the clients via AddDataClients and derives CCClaimApiService from HttpClientBase), SAIF.Domain, and SAIF.Services.

Responsibilities

  • Resolve each client's base URL from environment configuration (UrlKey) and its Basic-auth credentials from secure configuration (AuthKey), decrypted with a SystemHashUtil system hash, through HttpClientBase.
  • Cache GET/POST responses through a Polly policy looked up in IReadOnlyPolicyRegistry<string>, configurable per IDataClientConfiguration (UseCache, CachePolicyKey, MaxCacheDuration).
  • Serialize and deserialize Guidewire request/response payloads for claims, activities, financials, provider addresses, and worker data.
  • Supply IDataClientConfiguration/DataClientConfiguration, the configuration contract SAIF.Data's ContainerBuilderExtensions.AddDataClients uses to register these clients.

Key components

  • HttpClientBase: shared abstract base providing URL/AuthKey resolution, Basic authentication, and Polly-cached GET/POST helpers.
  • HttpClientHelper: shared HTTP/JSON helper utilities, including the JSON_DATE_FORMAT constant.
  • IDataClientConfiguration / DataClientConfiguration: the configuration contract (SystemType, SystemName, UseCache, CachePolicyKey, MaxCacheDuration) supplied to every client.
  • ActivityDataApiClient, ClaimDataApiClient, FinancialDataApiClient, ProviderDataApiClient, WorkerDataApiClient: the five concrete Guidewire clients, each with a corresponding I*DataApiClient interface.
  • Models/** and Contracts/**: per-API request/response DTOs (ActivityDataApi, ClaimDataApi, FinancialDataApi, ProviderDataApi, Shared, WorkerDataApi).

Sources

  • Data/SAIF.Data.Guidewire/SAIF.Data.Guidewire.csproj
  • Data/SAIF.Data.Guidewire/Clients/HttpClientBase.cs
  • Data/SAIF.Data.Guidewire/Clients/HttpClientHelper.cs
  • Data/SAIF.Data.Guidewire/Clients/DataClientConfiguration.cs
  • Data/SAIF.Data/Configuration/ContainerBuilderExtensions.cs
  • Data/SAIF.Data/Queries/Claims/CCClaimApiService.cs
  • Core/SAIF.Core/SAIF.SAIFCode.Core.nuspec