Skip to content

Commit

Permalink
feat: add RawDeviceAttributes signal
Browse files Browse the repository at this point in the history
  • Loading branch information
ilfa committed Jul 28, 2023
1 parent adaceb6 commit ae12318
Show file tree
Hide file tree
Showing 12 changed files with 638 additions and 4 deletions.
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,7 @@ Class | Method | HTTP request | Description
- [BotdResult](docs/BotdResult.md)
- [BrowserDetails](docs/BrowserDetails.md)
- [Confidence](docs/Confidence.md)
- [Error](docs/Error.md)
- [ErrorEvent403Response](docs/ErrorEvent403Response.md)
- [ErrorEvent403ResponseError](docs/ErrorEvent403ResponseError.md)
- [ErrorEvent404Response](docs/ErrorEvent404Response.md)
Expand All @@ -232,6 +233,7 @@ Class | Method | HTTP request | Description
- [ProductsResponseBotd](docs/ProductsResponseBotd.md)
- [ProductsResponseIdentification](docs/ProductsResponseIdentification.md)
- [ProductsResponseIdentificationData](docs/ProductsResponseIdentificationData.md)
- [RawDeviceAttributesResultValue](docs/RawDeviceAttributesResultValue.md)
- [Response](docs/Response.md)
- [ResponseVisits](docs/ResponseVisits.md)
- [SeenAt](docs/SeenAt.md)
Expand All @@ -253,6 +255,7 @@ Class | Method | HTTP request | Description
- [SignalResponsePrivacySettingsData](docs/SignalResponsePrivacySettingsData.md)
- [SignalResponseProxy](docs/SignalResponseProxy.md)
- [SignalResponseProxyData](docs/SignalResponseProxyData.md)
- [SignalResponseRawDeviceAttributes](docs/SignalResponseRawDeviceAttributes.md)
- [SignalResponseRootApps](docs/SignalResponseRootApps.md)
- [SignalResponseRootAppsData](docs/SignalResponseRootAppsData.md)
- [SignalResponseTampering](docs/SignalResponseTampering.md)
Expand Down
14 changes: 14 additions & 0 deletions docs/Error.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@


# Error


## Properties

| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
|**name** | **String** | | |
|**message** | **String** | | |



1 change: 1 addition & 0 deletions docs/ProductsResponse.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ Contains all the information from each activated product - Fingerprint Pro or Bo
|**vpn** | [**SignalResponseVpn**](SignalResponseVpn.md) | | [optional] |
|**proxy** | [**SignalResponseProxy**](SignalResponseProxy.md) | | [optional] |
|**tampering** | [**SignalResponseTampering**](SignalResponseTampering.md) | | [optional] |
|**rawDeviceAttributes** | [**SignalResponseRawDeviceAttributes**](SignalResponseRawDeviceAttributes.md) | | [optional] |



14 changes: 14 additions & 0 deletions docs/RawDeviceAttributesResultValue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@


# RawDeviceAttributesResultValue


## Properties

| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
|**error** | [**Error**](Error.md) | | [optional] |
|**value** | **Object** | | [optional] |



13 changes: 13 additions & 0 deletions docs/SignalResponseRawDeviceAttributes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@


# SignalResponseRawDeviceAttributes


## Properties

| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
|**data** | [**Map<String, RawDeviceAttributesResultValue>**](RawDeviceAttributesResultValue.md) | It includes 35+ raw browser identification attributes to provide Fingerprint users with even more information than our standard visitor ID provides. This enables Fingerprint users to not have to run our open-source product in conjunction with Fingerprint Pro Plus and Enterprise to get those additional attributes. Warning: The raw signals data can change at any moment as we improve the product. We cannot guarantee the internal shape of raw device attributes to be stable, so typical semantic versioning rules do not apply here. Use this data with caution without assuming a specific structure beyond the generic type provided here. | [optional] |



1 change: 1 addition & 0 deletions docs/WebhookVisit.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
|**vpn** | [**VpnResult**](VpnResult.md) | | [optional] |
|**proxy** | [**WebhookSignalResponseProxy**](WebhookSignalResponseProxy.md) | | [optional] |
|**tampering** | [**TamperingResult**](TamperingResult.md) | | [optional] |
|**rawDeviceAttributes** | [**Map<String, RawDeviceAttributesResultValue>**](RawDeviceAttributesResultValue.md) | It includes 35+ raw browser identification attributes to provide Fingerprint users with even more information than our standard visitor ID provides. This enables Fingerprint users to not have to run our open-source product in conjunction with Fingerprint Pro Plus and Enterprise to get those additional attributes. Warning: The raw signals data can change at any moment as we improve the product. We cannot guarantee the internal shape of raw device attributes to be stable, so typical semantic versioning rules do not apply here. Use this data with caution without assuming a specific structure beyond the generic type provided here. | [optional] |
|**requestId** | **String** | Unique identifier of the user's identification request. | |
|**browserDetails** | [**BrowserDetails**](BrowserDetails.md) | | |
|**ip** | **String** | | |
Expand Down
77 changes: 77 additions & 0 deletions res/fingerprint-server-api.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,25 @@ paths:
virtualMachine:
data:
result: false
rawDeviceAttributes:
data:
architecture:
value: 127
audio:
value: 35.73832903057337
canvas:
value:
Winding: true
Geometry: 4dce9d6017c3e0c052a77252f29f2b1c
Text: dd2474a56ff78c1de3e7a07070ba3b7d
colorDepth:
value: 30
colorGamut:
value: srgb
contrast:
value: 0
cookiesEnabled:
value: true
allErrorsResponse:
summary: All failed signals
value:
Expand Down Expand Up @@ -3664,6 +3683,24 @@ paths:
result: false
virtualMachine:
result: false
rawDeviceAttributes:
architecture:
value: 127
audio:
value: 35.73832903057337
canvas:
value:
Winding: true
Geometry: 4dce9d6017c3e0c052a77252f29f2b1c
Text: dd2474a56ff78c1de3e7a07070ba3b7d
colorDepth:
value: 30
colorGamut:
value: srgb
contrast:
value: 0
cookiesEnabled:
value: true
responses:
default:
description: The server doesn't validate the answer.
Expand Down Expand Up @@ -3998,6 +4035,8 @@ components:
example: false
tampering:
$ref: '#/components/schemas/TamperingResult'
rawDeviceAttributes:
$ref: '#/components/schemas/RawDeviceAttributesResult'
requestId:
description: Unique identifier of the user's identification request.
type: string
Expand Down Expand Up @@ -4586,6 +4625,12 @@ components:
$ref: '#/components/schemas/TamperingResult'
error:
$ref: '#/components/schemas/ProductError'
rawDeviceAttributes:
title: SignalResponseRawDeviceAttributes
type: object
properties:
data:
$ref: '#/components/schemas/RawDeviceAttributesResult'
EventResponse:
description: >-
Contains results from all activated products - Fingerprint Pro, Bot
Expand Down Expand Up @@ -4764,6 +4809,38 @@ components:
example: 0
minimum: 0
maximum: 1
RawDeviceAttributesResult:
type: object
description: >
It includes 35+ raw browser identification attributes to provide
Fingerprint users with even more information than our standard visitor
ID provides. This enables Fingerprint users to not have to run our
open-source product in conjunction with Fingerprint Pro Plus and
Enterprise to get those additional attributes.
Warning: The raw signals data can change at any moment as we improve the
product. We cannot guarantee the internal shape of raw device attributes
to be stable, so typical semantic versioning rules do not apply here.
Use this data with caution without assuming a specific structure beyond
the generic type provided here.
additionalProperties:
type: object
properties:
error:
properties:
name:
title: error.name
type: string
message:
title: error.message
type: string
required:
- name
- message
title: error
type: object
value:
title: value
ProductError:
type: object
properties:
Expand Down
145 changes: 145 additions & 0 deletions src/main/java/com/fingerprint/model/Error.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
/*
* Fingerprint Pro Server API
* Fingerprint Pro Server API allows you to get information about visitors and about individual events in a server environment. It can be used for data exports, decision-making, and data analysis scenarios. Server API is intended for server-side usage, it's not intended to be used from the client side, whether it's a browser or a mobile device.
*
* The version of the OpenAPI document: 3
* Contact: support@fingerprint.com
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/


package com.fingerprint.model;

import java.util.Objects;
import java.util.Arrays;
import java.util.Map;
import java.util.HashMap;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonTypeName;
import com.fasterxml.jackson.annotation.JsonValue;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fingerprint.sdk.JSON;


/**
* Error
*/
@JsonPropertyOrder({
Error.JSON_PROPERTY_NAME,
Error.JSON_PROPERTY_MESSAGE
})
@JsonTypeName("error")
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
public class Error {
public static final String JSON_PROPERTY_NAME = "name";
private String name;

public static final String JSON_PROPERTY_MESSAGE = "message";
private String message;

public Error() {
}

public Error name(String name) {
this.name = name;
return this;
}

/**
* Get name
* @return name
**/
@javax.annotation.Nonnull
@ApiModelProperty(required = true, value = "")
@JsonProperty(JSON_PROPERTY_NAME)
@JsonInclude(value = JsonInclude.Include.ALWAYS)

public String getName() {
return name;
}


@JsonProperty(JSON_PROPERTY_NAME)
@JsonInclude(value = JsonInclude.Include.ALWAYS)
public void setName(String name) {
this.name = name;
}


public Error message(String message) {
this.message = message;
return this;
}

/**
* Get message
* @return message
**/
@javax.annotation.Nonnull
@ApiModelProperty(required = true, value = "")
@JsonProperty(JSON_PROPERTY_MESSAGE)
@JsonInclude(value = JsonInclude.Include.ALWAYS)

public String getMessage() {
return message;
}


@JsonProperty(JSON_PROPERTY_MESSAGE)
@JsonInclude(value = JsonInclude.Include.ALWAYS)
public void setMessage(String message) {
this.message = message;
}


/**
* Return true if this error object is equal to o.
*/
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
Error error = (Error) o;
return Objects.equals(this.name, error.name) &&
Objects.equals(this.message, error.message);
}

@Override
public int hashCode() {
return Objects.hash(name, message);
}

@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class Error {\n");
sb.append(" name: ").append(toIndentedString(name)).append("\n");
sb.append(" message: ").append(toIndentedString(message)).append("\n");
sb.append("}");
return sb.toString();
}

/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private String toIndentedString(Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}

}

Loading

0 comments on commit ae12318

Please sign in to comment.