Skip to content

Latest commit

 

History

History
516 lines (382 loc) · 35.2 KB

File metadata and controls

516 lines (382 loc) · 35.2 KB

Fingerprint Pro Server Python SDK

8.2.0

Minor Changes

  • Add Related Visitors API (691d02a)

8.1.0

Minor Changes

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

8.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

    • 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 the tampering Smart Signal. (8df1d4a)

8.0.0-dev.0

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)

7.1.0

Minor Changes

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

7.1.0-rc.0

Minor Changes

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

7.0.1 (2024-08-22)

Bug Fixes

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

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)

6.0.0 (2024-03-27)

⚠ BREAKING CHANGES

  • now only Python >= 3.8 is supported

Features

  • drop support for python < 3.8 (1e18e2c)

5.0.0 (2024-03-20)

⚠ BREAKING CHANGES

  • make identification field confidence optional
  • deprecated ipLocation field uses DeprecatedIpLocation model
  • change models for the most smart signals

Features

  • add linked_id field to the BotdResult type (3aba5d0)
  • add origin_country field to the vpn signal (27f7c58)
  • add SuspectScore smart signal support (331f2a8)
  • fix ipLocation deprecation (cb3b7b1)
  • make identification field tag required (678a3a1)
  • use shared structures for webhooks and event (c15ae21)

Bug Fixes

  • make fields required according to real API response (8beb757)

4.0.0 (2024-02-14)

⚠ BREAKING CHANGES

  • now only Python >= 3.6 is supported

Features

  • add method for decoding sealed results (1acdeea)
  • drop support for python < 3.6 (82d5213)

3.0.0 (2024-01-12)

⚠ BREAKING CHANGES

  • IpInfo field data_center renamed to datacenter

Features

  • deprecate IPLocation (b39189b)
  • use datacenter field instead of the wrong dataCenter (53bcda2)

2.6.0 (2023-11-27)

Features

  • add highActivity and locationSpoofing signals, support originTimezone for vpn signal (36793fe)

2.5.1 (2023-09-20)

Bug Fixes

  • update OpenAPI Schema with asn and dataCenter signals (4684316)
  • update OpenAPI Schema with auxiliaryMobile method for VPN signal (5422741)

2.5.0 (2023-08-10)

Features

  • make SDK more independent from environment (1d017c1), closes #31

Bug Fixes

  • fix multiprocessing.pool detection fro Lambda (9373a93)

Changelog

v2.4.0 (2023-07-31)

Feature

  • Add raw device attributes support (6b81649)
  • Add support for smart signals (28926b8)

Documentation

  • Improve model documentation, add special fix for RawDeviceAttributesResult documentation (36ddc0d)
  • README: Use pagination_key in README example instead of deprecated before (5dd6e55)

v2.3.0 (2023-06-06)

Feature

  • Update schema with correct IpLocation format and doc updates (d501cfa)

v2.2.0 (2023-05-16)

Feature

  • Introduce additional signals (4e5fc79)

v2.1.0 (2023-02-03)

Feature

  • Improve error reporting by adding KnownApiException class (f60625a)

Fix

  • Set retry_after to 1 in case of missed header (1d5b5b9)
  • Add retry_after value from header to ManyRequestsResponse error (25dc803)
  • Update schema (c9be3d3)

Documentation

  • Extend example with new error reporting (d78d12b)

v2.0.0 (2023-01-16)

Feature

Breaking

  • StSeenAt type renamed to SeenAt (065f23c)

Documentation

  • Add coverage badge (f8c6236)
  • Add instruction how to run tests (5eb8115)

v1.3.0 (2022-10-25)

Feature

  • Update schema to support url field for botd result (24bfdf0)

Fix

  • Restore some parts of api_doc.mustache template from swagger-codegen repository (5b6b531)

v1.2.0 (2022-09-14)

Feature

  • Introduce /event/{request_id} endpoint (3e587d0)

Documentation

  • README: Add examples to readme (13256fd)

v1.1.0 (2022-08-25)

Feature

Fix

  • Regenerate schema with nullable types support (9c05f3e)

v1.0.0 (2022-08-24)

Feature

Breaking

v0.0.4 (2022-08-19)

Fix

  • Add correct links to documentation from PyPI (af8264f)

Documentation

  • Improve setup instruction (c95f794)
  • Remove extra imports, use print instead of pprint in example (9cccd53)
  • Add keywords (93fc3a2)

v0.0.3 (2022-08-17)

Fix

  • Sync version in generated code (0181453)
  • Update release commit message to not trigger new release (9d079ca)

v0.0.2 (2022-08-16)

Documentation

v0.0.2-beta.9 (2022-08-15)

Documentation

v0.0.2-beta.8 (2022-08-12)

Documentation

v0.0.2-beta.7 (2022-08-12)

v0.0.2-beta.6 (2022-08-12)

v0.0.2-beta.5 (2022-08-12)

v0.0.2-beta.4 (2022-08-12)