Skip to content

Releases: fingerprintjs/fingerprint-pro-server-api-python-sdk

v8.1.0

26 Nov 12:54
0b51f51
Compare
Choose a tag to compare

Minor Changes

  • Add relay detection method to the VPN Detection Smart Signal (cff0ef7)
  • events: Add a suspect field to the identification product schema (cff0ef7)

v8.0.0

25 Nov 14:43
e6d9558
Compare
Choose a tag to compare

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

    • Remove the BrowserDetails field botProbability.
    • Update the IdentificationConfidence field score type format: float -> double.
    • Make the RawDeviceAttributeError field name optional .
    • Make the RawDeviceAttributeError field message optional .
    • events: Remove the EventsResponse field error.
      • [note]: The errors are represented by ErrorResponse model.
    • events: Update the HighActivity field dailyRequests type format: number -> int64.
    • events: Specify the Tampering field anomalyScore type format: double.
    • webhook: Make the Webhook fields optional: visitorId, visitorFound, firstSeenAt, lastSeenAt, browserDetails, incognito.
    • webhook: Make the WebhookClonedApp field result optional.
    • webhook: Make the WebhookDeveloperTools field result optional.
    • webhook: Make the WebhookEmulator field result optional.
    • webhook: Make the WebhookFactoryReset fields time and timestamp optional.
    • webhook: Make the WebhookFrida field result optional.
    • webhook: Update the WebhookHighActivity field dailyRequests type format: number -> int64.
    • webhook: Make the WebhookIPBlocklist fields result and details optional.
    • webhook: Make the WebhookJailbroken field result optional.
    • webhook: Make the WebhookLocationSpoofing field result optional.
    • webhook: Make the WebhookPrivacySettings field result optional.
    • webhook: Make the WebhookProxy field result optional.
    • webhook: Make the WebhookRemoteControl field result optional.
    • webhook: Make the WebhookRootApps field result optional.
    • webhook: Make the WebhookSuspectScore field result optional.
    • webhook: Make the WebhookTampering fields result, anomalyScore and antiDetectBrowser optional.
    • webhook: Specify the WebhookTampering field anomalyScore type format: double.
    • webhook: Make the WebhookTor field result optional.
    • webhook: Make the WebhookVelocity fields optional: distinctIp, distinctLinkedId, distinctCountry, events, ipEvents, distinctIpByLinkedId, distinctVisitorIdByLinkedId.
    • webhook: Make the WebhookVirtualMachine field result optional.
    • webhook: Make the WebhookVPN fields optional: result, confidence, originTimezone, methods. (8df1d4a)
    • Rename BotdResult -> Botd.
    • Rename BotdDetectionResult -> BotdBot:
      • Extract result type as BotdBotResult.
    • 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 and ErrorPlainResponse.
        • [note]: ErrorPlainResponse has a different format { "error": string } and it is used only in GET /visitors.
      • Extract error type as Error.
      • Extract error.code type as ErrorCode.
    • Rename EventResponse -> EventsGetResponse.
    • Rename EventUpdateRequest -> EventsUpdateRequest.
    • Rename FactoryResetResult -> FactoryReset.
    • Rename FridaResult -> Frida.
    • Rename IPLocation -> Geolocation:
      • Rename IPLocationCity -> GeolocationCity.
      • Extract subdivisions type as GeolocationSubdivisions.
      • Rename Location -> GeolocationContinent:
      • Introduce a dedicated type GeolocationCountry.
      • Rename Subdivision -> GeolocationSubdivision.
    • Rename HighActivityResult -> HighActivity.
    • Rename Confidence -> IdentificationConfidence.
    • Rename SeenAt -> IdentificationSeenAt.
    • Rename IncognitoResult -> Incognito.
    • Rename IpBlockListResult -> IPBlocklist:
      • Extract details type as IPBlocklistDetails.
    • Rename IpInfoResult -> IPInfo:
      • Rename IpInfoResultV4 -> IPInfoV4.
      • Rename IpInfoResultV6 -> IPInfoV6.
      • Rename ASN -> IPInfoASN.
      • Rename DataCenter -> IPInfoDataCenter.
    • 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 as Identification.
    • Rename RawDeviceAttributesResult -> RawDeviceAttributes:
      • Extract item type as RawDeviceAttribute.
      • Extract error type as RawDeviceAttributeError.
    • 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 VirtualMachineResult -> VirtualMachine.
    • Rename the Visit field ipLocation type DeprecatedIPLocation -> DeprecatedGeolocation.
      • Instead of DeprecatedIPLocationCity use common GeolocationCity
    • Rename Response -> VisitorsGetResponse.
      • Omit extra inner type ResponseVisits
    • Rename VpnResult -> VPN.
      • Extract confidence type as VPNConfidence.
      • Extract methods type as VPNMethods.
    • 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. (8df1d4a)
  • Rename Webhook class to WebhookValidation.
    Right now, Webhook class points to the actual data model. (8710516)

Minor Changes

  • Added new ipEvents, distinctIpByLinkedId, and distinctVisitorIdByLinkedId fields to the velocity Smart Signal. (8df1d4a)
    • Make the GeolocationCity field name required.
    • Make the GeolocationSubdivision field isoCode required.
    • Make the GeolocationSubdivision field name required.
    • Make the IPInfoASN field name required .
    • Make the IPInfoDataCenter field name required.
    • Add optional IdentificationConfidence field comment.
    • events: Add optional Botd field meta.
    • events: Add optional Identification field components.
    • events: Make the VPN field originCountry required.
    • visitors: Add optional Visit field components.
    • webhook: Add optional Webhook field components. (8df1d4a)
  • events: Add antiDetectBrowser detection method to ...
Read more

v8.0.0-dev.0

19 Nov 16:13
deac0a0
Compare
Choose a tag to compare
v8.0.0-dev.0 Pre-release
Pre-release

Major Changes

    • Remove the BrowserDetails field botProbability.
    • Update the IdentificationConfidence field score type format: float -> double.
    • Make the RawDeviceAttributeError field name optional .
    • Make the RawDeviceAttributeError field message optional .
    • events: Remove the EventsResponse field error.
      • [note]: The errors are represented by ErrorResponse model.
    • events: Update the HighActivity field dailyRequests type format: number -> int64.
    • events: Specify the Tampering field anomalyScore type format: double.
    • webhook: Make the Webhook fields optional: visitorId, visitorFound, firstSeenAt, lastSeenAt, browserDetails, incognito.
    • webhook: Make the WebhookClonedApp field result optional.
    • webhook: Make the WebhookDeveloperTools field result optional.
    • webhook: Make the WebhookEmulator field result optional.
    • webhook: Make the WebhookFactoryReset fields time and timestamp optional.
    • webhook: Make the WebhookFrida field result optional.
    • webhook: Update the WebhookHighActivity field dailyRequests type format: number -> int64.
    • webhook: Make the WebhookIPBlocklist fields result and details optional.
    • webhook: Make the WebhookJailbroken field result optional.
    • webhook: Make the WebhookLocationSpoofing field result optional.
    • webhook: Make the WebhookPrivacySettings field result optional.
    • webhook: Make the WebhookProxy field result optional.
    • webhook: Make the WebhookRemoteControl field result optional.
    • webhook: Make the WebhookRootApps field result optional.
    • webhook: Make the WebhookSuspectScore field result optional.
    • webhook: Make the WebhookTampering fields result, anomalyScore and antiDetectBrowser optional.
    • webhook: Specify the WebhookTampering field anomalyScore type format: double.
    • webhook: Make the WebhookTor field result optional.
    • webhook: Make the WebhookVelocity fields optional: distinctIp, distinctLinkedId, distinctCountry, events, ipEvents, distinctIpByLinkedId, distinctVisitorIdByLinkedId.
    • webhook: Make the WebhookVirtualMachine field result optional.
    • webhook: Make the WebhookVPN fields optional: result, confidence, originTimezone, methods. (8df1d4a)
    • Rename BotdResult -> Botd.
    • Rename BotdDetectionResult -> BotdBot:
      • Extract result type as BotdBotResult.
    • 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 and ErrorPlainResponse.
        • [note]: ErrorPlainResponse has a different format { "error": string } and it is used only in GET /visitors.
      • Extract error type as Error.
      • Extract error.code type as ErrorCode.
    • Rename EventResponse -> EventsGetResponse.
    • Rename EventUpdateRequest -> EventsUpdateRequest.
    • Rename FactoryResetResult -> FactoryReset.
    • Rename FridaResult -> Frida.
    • Rename IPLocation -> Geolocation:
      • Rename IPLocationCity -> GeolocationCity.
      • Extract subdivisions type as GeolocationSubdivisions.
      • Rename Location -> GeolocationContinent:
      • Introduce a dedicated type GeolocationCountry.
      • Rename Subdivision -> GeolocationSubdivision.
    • Rename HighActivityResult -> HighActivity.
    • Rename Confidence -> IdentificationConfidence.
    • Rename SeenAt -> IdentificationSeenAt.
    • Rename IncognitoResult -> Incognito.
    • Rename IpBlockListResult -> IPBlocklist:
      • Extract details type as IPBlocklistDetails.
    • Rename IpInfoResult -> IPInfo:
      • Rename IpInfoResultV4 -> IPInfoV4.
      • Rename IpInfoResultV6 -> IPInfoV6.
      • Rename ASN -> IPInfoASN.
      • Rename DataCenter -> IPInfoDataCenter.
    • 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 as Identification.
    • Rename RawDeviceAttributesResult -> RawDeviceAttributes:
      • Extract item type as RawDeviceAttribute.
      • Extract error type as RawDeviceAttributeError.
    • 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 VirtualMachineResult -> VirtualMachine.
    • Rename the Visit field ipLocation type DeprecatedIPLocation -> DeprecatedGeolocation.
      • Instead of DeprecatedIPLocationCity use common GeolocationCity
    • Rename Response -> VisitorsGetResponse.
      • Omit extra inner type ResponseVisits
    • Rename VpnResult -> VPN.
      • Extract confidence type as VPNConfidence.
      • Extract methods type as VPNMethods.
    • 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. (8df1d4a)

Minor Changes

  • Added new ipEvents, distinctIpByLinkedId, and distinctVisitorIdByLinkedId fields to the velocity Smart Signal. (8df1d4a)
    • Make the GeolocationCity field name required.
    • Make the GeolocationSubdivision field isoCode required.
    • Make the GeolocationSubdivision field name required.
    • Make the IPInfoASN field name required .
    • Make the IPInfoDataCenter field name required.
    • Add optional IdentificationConfidence field comment.
    • events: Add optional Botd field meta.
    • events: Add optional Identification field components.
    • events: Make the VPN field originCountry required.
    • visitors: Add optional Visit field components.
    • webhook: Add optional Webhook field components. (8df1d4a)
  • events: Add antiDetectBrowser detection method to the tampering Smart Signal. (8df1d4a)

v7.1.0

15 Oct 10:18
e18b487
Compare
Choose a tag to compare

Minor Changes

  • visitors: Add the confidence field to the VPN Detection Smart Signal (e98dbd4)

v7.1.0-rc.0

15 Oct 08:02
08ef901
Compare
Choose a tag to compare
v7.1.0-rc.0 Pre-release
Pre-release

Minor Changes

  • visitors: Add the confidence field to the VPN Detection Smart Signal (e98dbd4)

v7.0.1

22 Aug 16:07
Compare
Choose a tag to compare

7.0.1 (2024-08-22)

Bug Fixes

  • deserialize raw_device_attributes.data to correct type RawDeviceAttributesResult (743db13)

v7.0.1-dev.1

21 Aug 14:52
Compare
Choose a tag to compare
v7.0.1-dev.1 Pre-release
Pre-release

7.0.1-dev.1 (2024-08-21)

Bug Fixes

  • deserialize raw_device_attributes.data to correct type RawDeviceAttributesResult (743db13)

v7.0.0

14 Aug 10:05
Compare
Choose a tag to compare

7.0.0 (2024-08-14)

⚠ BREAKING CHANGES

  • rename unseal_events_response to unseal_event_response to keep proper naming
  • minimum supported Python version is 3.9 now
  • rename error_event403_response, error_event403_response_error, many_requests_response to common403_error_response, error_common403_response too_many_requests_response

Features

  • add delete_visitor_data method (961a165)
  • add developer_tools signal (ca25ef7)
  • add osMismatch field to the vpn signal (0b95bda)
  • add remoteControl signal (5c7b149)
  • add revision field to the confidence signal (9b42d6b)
  • add update_event method (752b1c9)
  • add velocity signal (9b31367)
  • add better error reporting in case of wrong data shape (40e9e6a)
  • add webhook validation method (d92b1fe)
  • create base class for models and move here utility functions (bfa2285)
  • drop Python 3.8 support (d857954)
  • simplify Configuration class, use inline types (8cad048)
  • simplify rest.py and api_client.py and add inline types (a8b1ae6)
  • update schema (c2e99cd)
  • use inline types for fingerprint_api.py (c466bd5)
  • use inline types instead of annotations for models (1121a5c)

Bug Fixes

  • unseal_event_response returns correct EventResponse structure (a7a0e2d)
  • don't serialise empty fields in models (9643e1d)
  • make tag field optional for webhook (e8a28f6)
  • mark optional fields in models (2c62e20)
  • remove Python2 compatibility code (2621ccd)
  • update schema with required body field for the updateEvent method (c6eaf5e)

v7.0.0-dev.3

12 Aug 13:56
Compare
Choose a tag to compare
v7.0.0-dev.3 Pre-release
Pre-release

7.0.0-dev.3 (2024-08-12)

Bug Fixes

  • mark optional fields in models (2c62e20)

v7.0.0-dev.2

09 Aug 14:31
Compare
Choose a tag to compare
v7.0.0-dev.2 Pre-release
Pre-release

7.0.0-dev.2 (2024-08-09)

⚠ BREAKING CHANGES

  • rename unseal_events_response to unseal_event_response to keep proper naming

Bug Fixes

  • unseal_event_response returns correct EventResponse structure (a7a0e2d)