Releases: fingerprintjs/fingerprint-pro-server-api-dotnet-sdk
Releases · fingerprintjs/fingerprint-pro-server-api-dotnet-sdk
v7.1.0
v7.0.0
Major Changes
The underlying Server API hasn’t changed, but we made SDK type and class generation more precise, resulting in small breaking changes for the SDK itself. This change should make the SDK API a lot more stable going forward
- Replace
ProductError.CodeEnum
andIdentificationError.CodeEnum
withErrorCode
(32afba9) -
- Remove the
BrowserDetails
fieldbotProbability
. - Update the
IdentificationConfidence
fieldscore
type format:float
->double
. - Make the
RawDeviceAttributeError
fieldname
optional . - Make the
RawDeviceAttributeError
fieldmessage
optional . - events: Remove the
EventsResponse
fielderror
.- [note]: The errors are represented by
ErrorResponse
model.
- [note]: The errors are represented by
- events: Update the
HighActivity
fielddailyRequests
type format:number
->int64
. - events: Specify the
Tampering
fieldanomalyScore
type format:double
. - webhook: Make the
Webhook
fields optional:visitorId
,visitorFound
,firstSeenAt
,lastSeenAt
,browserDetails
,incognito
. - webhook: Make the
WebhookClonedApp
fieldresult
optional. - webhook: Make the
WebhookDeveloperTools
fieldresult
optional. - webhook: Make the
WebhookEmulator
fieldresult
optional. - webhook: Make the
WebhookFactoryReset
fieldstime
andtimestamp
optional. - webhook: Make the
WebhookFrida
fieldresult
optional. - webhook: Update the
WebhookHighActivity
fielddailyRequests
type format:number
->int64
. - webhook: Make the
WebhookIPBlocklist
fieldsresult
anddetails
optional. - webhook: Make the
WebhookJailbroken
fieldresult
optional. - webhook: Make the
WebhookLocationSpoofing
fieldresult
optional. - webhook: Make the
WebhookPrivacySettings
fieldresult
optional. - webhook: Make the
WebhookProxy
fieldresult
optional. - webhook: Make the
WebhookRemoteControl
fieldresult
optional. - webhook: Make the
WebhookRootApps
fieldresult
optional. - webhook: Make the
WebhookSuspectScore
fieldresult
optional. - webhook: Make the
WebhookTampering
fieldsresult
,anomalyScore
andantiDetectBrowser
optional. - webhook: Specify the
WebhookTampering
fieldanomalyScore
type format:double
. - webhook: Make the
WebhookTor
fieldresult
optional. - webhook: Make the
WebhookVelocity
fields optional:distinctIp
,distinctLinkedId
,distinctCountry
,events
,ipEvents
,distinctIpByLinkedId
,distinctVisitorIdByLinkedId
. - webhook: Make the
WebhookVirtualMachine
fieldresult
optional. - webhook: Make the
WebhookVPN
fields optional:result
,confidence
,originTimezone
,methods
. (9400768)
- Remove the
- Rename errors models related to visits:
- rename
ErrorVisitsDelete400Response
toErrorVisitor400Response
- rename
ErrorVisitsDelete404ResponseError
toErrorVisitor404ResponseError
- rename
ErrorVisitsDelete404Response
toErrorVisitor404Response
(c32807b)
- rename
- Rename
IsValidWebhookSignature
toIsValidSignature
inWebhookValidation
(a8058e2) -
- Rename
BotdResult
->Botd
. - Rename
BotdDetectionResult
->BotdBot
:- Extract
result
type asBotdBotResult
.
- Extract
- Rename
ClonedAppResult
->ClonedApp
. - Rename
DeveloperToolsResult
->DeveloperTools
. - Rename
EmulatorResult
->Emulator
. - Refactor error models:
- Remove
ErrorCommon403Response
,ErrorCommon429Response
,ErrorEvent404Response
,TooManyRequestsResponse
,ErrorVisits403
,ErrorUpdateEvent400Response
,ErrorUpdateEvent409Response
,ErrorVisitor400Response
,ErrorVisitor404Response
,IdentificationError
,ProductError
. - Introduce
ErrorResponse
andErrorPlainResponse
.- [note]:
ErrorPlainResponse
has a different format{ "error": string }
and it is used only inGET /visitors
.
- [note]:
- Extract
error
type asError
. - Extract
error.code
type asErrorCode
.
- Remove
- Rename
EventResponse
->EventsGetResponse
. - Rename
EventUpdateRequest
->EventsUpdateRequest
. - Rename
FactoryResetResult
->FactoryReset
. - Rename
FridaResult
->Frida
. - Rename
IPLocation
->Geolocation
:- Rename
IPLocationCity
->GeolocationCity
. - Extract
subdivisions
type asGeolocationSubdivisions
. - Rename
Location
->GeolocationContinent
: - Introduce a dedicated type
GeolocationCountry
. - Rename
Subdivision
->GeolocationSubdivision
.
- Rename
- Rename
HighActivityResult
->HighActivity
. - Rename
Confidence
->IdentificationConfidence
. - Rename
SeenAt
->IdentificationSeenAt
. - Rename
IncognitoResult
->Incognito
. - Rename
IpBlockListResult
->IPBlocklist
:- Extract
details
type asIPBlocklistDetails
.
- Extract
- Rename
IpInfoResult
->IPInfo
:- Rename
IpInfoResultV4
->IPInfoV4
. - Rename
IpInfoResultV6
->IPInfoV6
. - Rename
ASN
->IPInfoASN
. - Rename
DataCenter
->IPInfoDataCenter
.
- Rename
- Rename
JailbrokenResult
->Jailbroken
. - Rename
LocationSpoofingResult
->LocationSpoofing
. - Rename
PrivacySettingsResult
->PrivacySettings
. - Rename
ProductsResponse
->Products
:- Rename inner types:
ProductsResponseIdentification
->ProductIdentification
,ProductsResponseIdentificationData
->Identification
,ProductsResponseBotd
->ProductBotd
,SignalResponseRootApps
->ProductRootApps
,SignalResponseEmulator
->ProductEmulator
,SignalResponseIpInfo
->ProductIPInfo
,SignalResponseIpBlocklist
->ProductIPBlocklist
,SignalResponseTor
->ProductTor
,SignalResponseVpn
->ProductVPN
,SignalResponseProxy
->ProductProxy
,ProxyResult
->Proxy
,SignalResponseIncognito
->ProductIncognito
,SignalResponseTampering
->ProductTampering
,SignalResponseClonedApp
->ProductClonedApp
,SignalResponseFactoryReset
->ProductFactoryReset
,SignalResponseJailbroken
->ProductJailbroken
,SignalResponseFrida
->ProductFrida
,SignalResponsePrivacySettings
->ProductPrivacySettings
,SignalResponseVirtualMachine
->ProductVirtualMachine
,SignalResponseRawDeviceAttributes
->ProductRawDeviceAttributes
,RawDeviceAttributesResultValue
->RawDeviceAttributes
,SignalResponseHighActivity
->ProductHighActivity
,SignalResponseLocationSpoofing
->ProductLocationSpoofing
,SignalResponseSuspectScore
->ProductSuspectScore
,SignalResponseRemoteControl
->ProductRemoteControl
,SignalResponseVelocity
->ProductVelocity
,SignalResponseDeveloperTools
->ProductDeveloperTools
. - Extract
identification.data
type asIdentification
.
- Rename inner types:
- Rename
RawDeviceAttributesResult
->RawDeviceAttributes
:- Extract item type as
RawDeviceAttribute
. - Extract
error
type asRawDeviceAttributeError
.
- Extract item type as
- Rename
RemoteControlResult
->RemoteControl
. - Rename
RootAppsResult
->RootApps
. - Rename
SuspectScoreResult
->SuspectScore
. - Extract new model
Tag
. - Rename
TamperingResult
->Tampering
. - Rename
TorResult
->Tor
. - Rename
VelocityResult
->Velocity
:- Rename
VelocityIntervals
->VelocityData
. - Rename
VelocityIntervalResult
->VelocityIntervals
.
- Rename
- Rename
VirtualMachineResult
->VirtualMachine
. - Rename the
Visit
fieldipLocation
typeDeprecatedIPLocation
->DeprecatedGeolocation
.- Instead of
DeprecatedIPLocationCity
use commonGeolocationCity
- Instead of
- Rename
Response
->VisitorsGetResponse
.- Omit extra inner type
ResponseVisits
- Omit extra inner type
- Rename
VpnResult
->VPN
.- Extract
confidence
type asVPNConfidence
. - Extract
methods
type asVPNMethods
.
- Extract
- Rename
WebhookVisit
->Webhook
.- Introduce new inner types:
WebhookRootApps
,WebhookEmulator
,WebhookIPInfo
,WebhookIPBlocklist
,WebhookTor
,WebhookVPN
,WebhookProxy
,WebhookTampering
,WebhookClonedApp
,WebhookFactoryReset
,WebhookJailbroken
,WebhookFrida
,WebhookPrivacySettings
,WebhookVirtualMachine
,WebhookRawDeviceAttributes
,WebhookHighActivity
,WebhookLocationSpoofing
,WebhookSuspectScore
,WebhookRemoteControl
,WebhookVelocity
,WebhookDeveloperTools
. (9400768)
- Introduce new inner types:
- Rename
- Drop support for .NET6 and .NET7 because they reached EOL (d9febcb)
- Store
ErrorCode
enum inErrorCode
property inApiException
. Http code in now available inHttpCode
property. (d197f29) - Rename
Webhook
class toWebhookValidation
....
v7.0.0-test.1
Major Changes
- Replace
ProductError.CodeEnum
andIdentificationError.CodeEnum
withErrorCode
(32afba9) -
- Remove the
BrowserDetails
fieldbotProbability
. - Update the
IdentificationConfidence
fieldscore
type format:float
->double
. - Make the
RawDeviceAttributeError
fieldname
optional . - Make the
RawDeviceAttributeError
fieldmessage
optional . - events: Remove the
EventsResponse
fielderror
.- [note]: The errors are represented by
ErrorResponse
model.
- [note]: The errors are represented by
- events: Update the
HighActivity
fielddailyRequests
type format:number
->int64
. - events: Specify the
Tampering
fieldanomalyScore
type format:double
. - webhook: Make the
Webhook
fields optional:visitorId
,visitorFound
,firstSeenAt
,lastSeenAt
,browserDetails
,incognito
. - webhook: Make the
WebhookClonedApp
fieldresult
optional. - webhook: Make the
WebhookDeveloperTools
fieldresult
optional. - webhook: Make the
WebhookEmulator
fieldresult
optional. - webhook: Make the
WebhookFactoryReset
fieldstime
andtimestamp
optional. - webhook: Make the
WebhookFrida
fieldresult
optional. - webhook: Update the
WebhookHighActivity
fielddailyRequests
type format:number
->int64
. - webhook: Make the
WebhookIPBlocklist
fieldsresult
anddetails
optional. - webhook: Make the
WebhookJailbroken
fieldresult
optional. - webhook: Make the
WebhookLocationSpoofing
fieldresult
optional. - webhook: Make the
WebhookPrivacySettings
fieldresult
optional. - webhook: Make the
WebhookProxy
fieldresult
optional. - webhook: Make the
WebhookRemoteControl
fieldresult
optional. - webhook: Make the
WebhookRootApps
fieldresult
optional. - webhook: Make the
WebhookSuspectScore
fieldresult
optional. - webhook: Make the
WebhookTampering
fieldsresult
,anomalyScore
andantiDetectBrowser
optional. - webhook: Specify the
WebhookTampering
fieldanomalyScore
type format:double
. - webhook: Make the
WebhookTor
fieldresult
optional. - webhook: Make the
WebhookVelocity
fields optional:distinctIp
,distinctLinkedId
,distinctCountry
,events
,ipEvents
,distinctIpByLinkedId
,distinctVisitorIdByLinkedId
. - webhook: Make the
WebhookVirtualMachine
fieldresult
optional. - webhook: Make the
WebhookVPN
fields optional:result
,confidence
,originTimezone
,methods
. (9400768)
- Remove the
- Rename
IsValidWebhookSignature
toIsValidSignature
inWebhookValidation
(a8058e2) -
- Rename
BotdResult
->Botd
. - Rename
BotdDetectionResult
->BotdBot
:- Extract
result
type asBotdBotResult
.
- Extract
- Rename
ClonedAppResult
->ClonedApp
. - Rename
DeveloperToolsResult
->DeveloperTools
. - Rename
EmulatorResult
->Emulator
. - Refactor error models:
- Remove
ErrorCommon403Response
,ErrorCommon429Response
,ErrorEvent404Response
,TooManyRequestsResponse
,ErrorVisits403
,ErrorUpdateEvent400Response
,ErrorUpdateEvent409Response
,ErrorVisitor400Response
,ErrorVisitor404Response
,IdentificationError
,ProductError
. - Introduce
ErrorResponse
andErrorPlainResponse
.- [note]:
ErrorPlainResponse
has a different format{ "error": string }
and it is used only inGET /visitors
.
- [note]:
- Extract
error
type asError
. - Extract
error.code
type asErrorCode
.
- Remove
- Rename
EventResponse
->EventsGetResponse
. - Rename
EventUpdateRequest
->EventsUpdateRequest
. - Rename
FactoryResetResult
->FactoryReset
. - Rename
FridaResult
->Frida
. - Rename
IPLocation
->Geolocation
:- Rename
IPLocationCity
->GeolocationCity
. - Extract
subdivisions
type asGeolocationSubdivisions
. - Rename
Location
->GeolocationContinent
: - Introduce a dedicated type
GeolocationCountry
. - Rename
Subdivision
->GeolocationSubdivision
.
- Rename
- Rename
HighActivityResult
->HighActivity
. - Rename
Confidence
->IdentificationConfidence
. - Rename
SeenAt
->IdentificationSeenAt
. - Rename
IncognitoResult
->Incognito
. - Rename
IpBlockListResult
->IPBlocklist
:- Extract
details
type asIPBlocklistDetails
.
- Extract
- Rename
IpInfoResult
->IPInfo
:- Rename
IpInfoResultV4
->IPInfoV4
. - Rename
IpInfoResultV6
->IPInfoV6
. - Rename
ASN
->IPInfoASN
. - Rename
DataCenter
->IPInfoDataCenter
.
- Rename
- Rename
JailbrokenResult
->Jailbroken
. - Rename
LocationSpoofingResult
->LocationSpoofing
. - Rename
PrivacySettingsResult
->PrivacySettings
. - Rename
ProductsResponse
->Products
:- Rename inner types:
ProductsResponseIdentification
->ProductIdentification
,ProductsResponseIdentificationData
->Identification
,ProductsResponseBotd
->ProductBotd
,SignalResponseRootApps
->ProductRootApps
,SignalResponseEmulator
->ProductEmulator
,SignalResponseIpInfo
->ProductIPInfo
,SignalResponseIpBlocklist
->ProductIPBlocklist
,SignalResponseTor
->ProductTor
,SignalResponseVpn
->ProductVPN
,SignalResponseProxy
->ProductProxy
,ProxyResult
->Proxy
,SignalResponseIncognito
->ProductIncognito
,SignalResponseTampering
->ProductTampering
,SignalResponseClonedApp
->ProductClonedApp
,SignalResponseFactoryReset
->ProductFactoryReset
,SignalResponseJailbroken
->ProductJailbroken
,SignalResponseFrida
->ProductFrida
,SignalResponsePrivacySettings
->ProductPrivacySettings
,SignalResponseVirtualMachine
->ProductVirtualMachine
,SignalResponseRawDeviceAttributes
->ProductRawDeviceAttributes
,RawDeviceAttributesResultValue
->RawDeviceAttributes
,SignalResponseHighActivity
->ProductHighActivity
,SignalResponseLocationSpoofing
->ProductLocationSpoofing
,SignalResponseSuspectScore
->ProductSuspectScore
,SignalResponseRemoteControl
->ProductRemoteControl
,SignalResponseVelocity
->ProductVelocity
,SignalResponseDeveloperTools
->ProductDeveloperTools
. - Extract
identification.data
type asIdentification
.
- Rename inner types:
- Rename
RawDeviceAttributesResult
->RawDeviceAttributes
:- Extract item type as
RawDeviceAttribute
. - Extract
error
type asRawDeviceAttributeError
.
- Extract item type as
- Rename
RemoteControlResult
->RemoteControl
. - Rename
RootAppsResult
->RootApps
. - Rename
SuspectScoreResult
->SuspectScore
. - Extract new model
Tag
. - Rename
TamperingResult
->Tampering
. - Rename
TorResult
->Tor
. - Rename
VelocityResult
->Velocity
:- Rename
VelocityIntervals
->VelocityData
. - Rename
VelocityIntervalResult
->VelocityIntervals
.
- Rename
- Rename
VirtualMachineResult
->VirtualMachine
. - Rename the
Visit
fieldipLocation
typeDeprecatedIPLocation
->DeprecatedGeolocation
.- Instead of
DeprecatedIPLocationCity
use commonGeolocationCity
- Instead of
- Rename
Response
->VisitorsGetResponse
.- Omit extra inner type
ResponseVisits
- Omit extra inner type
- Rename
VpnResult
->VPN
.- Extract
confidence
type asVPNConfidence
. - Extract
methods
type asVPNMethods
.
- Extract
- Rename
WebhookVisit
->Webhook
.- Introduce new inner types:
WebhookRootApps
,WebhookEmulator
,WebhookIPInfo
,WebhookIPBlocklist
,WebhookTor
,WebhookVPN
,WebhookProxy
,WebhookTampering
,WebhookClonedApp
,WebhookFactoryReset
,WebhookJailbroken
,WebhookFrida
,WebhookPrivacySettings
,WebhookVirtualMachine
,WebhookRawDeviceAttributes
,WebhookHighActivity
,WebhookLocationSpoofing
,WebhookSuspectScore
,WebhookRemoteControl
,WebhookVelocity
,WebhookDeveloperTools
. (9400768)
- Introduce new inner types:
- Rename
- Drop support for .NET6 and .NET7 because they reached EOL (d9febcb)
- Store
ErrorCode
enum inErrorCode
property inApiException
. Http code in now available inHttpCode
property. (d197f29) - Rename
Webhook
class toWebhookValidation
.
Right now,Webhook
class points to the actual data model. (77e0c16) - Expose actual error message in
ApiException.Message
if available (d197f29)
Minor Changes
- Update System.Text.Json to 8.0.5 (606c84a)
- related-visitors: Add GET
/related-visitors
endpoint ([36ed522](https://github.com/fingerprintjs/fingerprintjs-pro-serv...
v6.2.2
v6.2.1
v6.2.0
v6.1.0
v6.0.2
v6.0.1
v6.0.0
6.0.0 (2024-06-28)
⚠ BREAKING CHANGES
- rename
ManyRequestsResponse
toTooManyRequestsResponse
- drop support for netcoreapp3.1 and older,
Features
- add
Webhook.IsValidWebhookSignature
function for validating webhook signature (7b4a7fb) - add DELETE API (6a457b7)
- add os Mismatch (85ec77b)
- add revision string field to confidence object (d2af0ac)
- drop support for frameworks that reached EOL (a39d863)
- migrate swagger generated code in request logic to manual implementation (b7e60c0)
- remove usage of Newtonsoft.Json and RestSharp (77eed3d)
- rename
ManyRequestsResponse
toTooManyRequestsResponse
(8eae642)
Bug Fixes
- add
JsonDeserializeException
when json deserialization fails (7aab037) - use correct error type for
incognito
,rawDeviceAttributes
andtampering
in theGetEvent
method (4b4120e)