Skip to content

Latest commit

 

History

History
405 lines (318 loc) · 23.7 KB

FingerprintApi.md

File metadata and controls

405 lines (318 loc) · 23.7 KB

FingerprintPro.ServerSdk.Api.FingerprintApi

All URIs are relative to https://api.fpjs.io

Method HTTP request Description
DeleteVisitorData DELETE /visitors/{visitor_id} Delete data by visitor ID
GetEvent GET /events/{request_id} Get event by request ID
GetRelatedVisitors GET /related-visitors Get Related Visitors
GetVisits GET /visitors/{visitor_id} Get visits by visitor ID
SearchEvents GET /events/search Get events via search
UpdateEvent PUT /events/{request_id} Update an event with a given request ID

DeleteVisitorData

void DeleteVisitorData (string visitorId)

Delete data by visitor ID

Request deleting all data associated with the specified visitor ID. This API is useful for compliance with privacy regulations. ### Which data is deleted? - Browser (or device) properties - Identification requests made from this browser (or device) #### Browser (or device) properties - Represents the data that Fingerprint collected from this specific browser (or device) and everything inferred and derived from it. - Upon request to delete, this data is deleted asynchronously (typically within a few minutes) and it will no longer be used to identify this browser (or device) for your Fingerprint Application. #### Identification requests made from this browser (or device) - Fingerprint stores the identification requests made from a browser (or device) for up to 30 (or 90) days depending on your plan. To learn more, see Data Retention. - Upon request to delete, the identification requests that were made by this browser - Within the past 10 days are deleted within 24 hrs. - Outside of 10 days are allowed to purge as per your data retention period. ### Corollary After requesting to delete a visitor ID, - If the same browser (or device) requests to identify, it will receive a different visitor ID. - If you request /events API with a request_id that was made outside of the 10 days, you will still receive a valid response. - If you request /visitors API for the deleted visitor ID, the response will include identification requests that were made outside of those 10 days. ### Interested? Please contact our support team to enable it for you. Otherwise, you will receive a 403.

Example

using System;
using System.Diagnostics;
using FingerprintPro.ServerSdk.Api;
using FingerprintPro.ServerSdk.Client;
using FingerprintPro.ServerSdk.Model;

namespace Example
{
    public class DeleteVisitorDataExample
    {
        public void main()
        {
            var configuration = new Configuration("YOUR_API_KEY");
            var apiInstance = new FingerprintApi(configuration);
            var visitorId = visitorId_example;  // string | The [visitor ID](https://dev.fingerprint.com/reference/get-function#visitorid) you want to delete.

            try
            {
                // Delete data by visitor ID
                apiInstance.DeleteVisitorData(visitorId);
            }
            catch (Exception e)
            {
                Debug.Print("Exception when calling FingerprintApi.DeleteVisitorData: " + e.Message );
            }
        }
    }
}

Parameters

Name Type Description Notes
visitorId string The visitor ID you want to delete.

Return type

void (empty response body)

Authorization

ApiKeyHeader, ApiKeyQuery

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

[Back to top] [Back to API list] [Back to Model list] [Back to README]

GetEvent

EventsGetResponse GetEvent (string requestId)

Get event by request ID

Get a detailed analysis of an individual identification event, including Smart Signals. Please note that the response includes mobile signals (e.g. rootApps) even if the request originated from a non-mobile platform. It is highly recommended that you ignore the mobile signals for such requests. Use requestId as the URL path parameter. This API method is scoped to a request, i.e. all returned information is by requestId.

Example

using System;
using System.Diagnostics;
using FingerprintPro.ServerSdk.Api;
using FingerprintPro.ServerSdk.Client;
using FingerprintPro.ServerSdk.Model;

namespace Example
{
    public class GetEventExample
    {
        public void main()
        {
            var configuration = new Configuration("YOUR_API_KEY");
            var apiInstance = new FingerprintApi(configuration);
            var requestId = requestId_example;  // string | The unique [identifier](https://dev.fingerprint.com/reference/get-function#requestid) of each identification request.

            try
            {
                // Get event by request ID
                EventsGetResponse result = apiInstance.GetEvent(requestId);
                Debug.WriteLine(result);
            }
            catch (Exception e)
            {
                Debug.Print("Exception when calling FingerprintApi.GetEvent: " + e.Message );
            }
        }
    }
}

Parameters

Name Type Description Notes
requestId string The unique identifier of each identification request.

Return type

EventsGetResponse

Authorization

ApiKeyHeader, ApiKeyQuery

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

[Back to top] [Back to API list] [Back to Model list] [Back to README]

GetRelatedVisitors

RelatedVisitorsResponse GetRelatedVisitors (string visitorId)

Get Related Visitors

Related visitors API lets you link web visits and in-app browser visits that originated from the same mobile device. It searches the past 6 months of identification events to find the visitor IDs that belong to the same mobile device as the given visitor ID. ⚠️ Please note that this API is not enabled by default and is billable separately. ⚠️ If you would like to use Related visitors API, please contact our support team. To learn more, see Related visitors API reference.

Example

using System;
using System.Diagnostics;
using FingerprintPro.ServerSdk.Api;
using FingerprintPro.ServerSdk.Client;
using FingerprintPro.ServerSdk.Model;

namespace Example
{
    public class GetRelatedVisitorsExample
    {
        public void main()
        {
            var configuration = new Configuration("YOUR_API_KEY");
            var apiInstance = new FingerprintApi(configuration);
            var visitorId = visitorId_example;  // string | The [visitor ID](https://dev.fingerprint.com/reference/get-function#visitorid) for which you want to find the other visitor IDs that originated from the same mobile device.

            try
            {
                // Get Related Visitors
                RelatedVisitorsResponse result = apiInstance.GetRelatedVisitors(visitorId);
                Debug.WriteLine(result);
            }
            catch (Exception e)
            {
                Debug.Print("Exception when calling FingerprintApi.GetRelatedVisitors: " + e.Message );
            }
        }
    }
}

Parameters

Name Type Description Notes
visitorId string The visitor ID for which you want to find the other visitor IDs that originated from the same mobile device.

Return type

RelatedVisitorsResponse

Authorization

ApiKeyHeader, ApiKeyQuery

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

[Back to top] [Back to API list] [Back to Model list] [Back to README]

GetVisits

VisitorsGetResponse GetVisits (string visitorId, string requestId = null, string linkedId = null, int? limit = null, string paginationKey = null, long? before = null)

Get visits by visitor ID

Get a history of visits (identification events) for a specific visitorId. Use the visitorId as a URL path parameter. Only information from the Identification product is returned. #### Headers * Retry-After — Present in case of 429 Too many requests. Indicates how long you should wait before making a follow-up request. The value is non-negative decimal integer indicating the seconds to delay after the response is received.

Example

using System;
using System.Diagnostics;
using FingerprintPro.ServerSdk.Api;
using FingerprintPro.ServerSdk.Client;
using FingerprintPro.ServerSdk.Model;

namespace Example
{
    public class GetVisitsExample
    {
        public void main()
        {
            var configuration = new Configuration("YOUR_API_KEY");
            var apiInstance = new FingerprintApi(configuration);
            var visitorId = visitorId_example;  // string | Unique [visitor identifier](https://dev.fingerprint.com/reference/get-function#visitorid) issued by Fingerprint Pro.
            var requestId = requestId_example;  // string | Filter visits by `requestId`.   Every identification request has a unique identifier associated with it called `requestId`. This identifier is returned to the client in the identification [result](https://dev.fingerprint.com/reference/get-function#requestid). When you filter visits by `requestId`, only one visit will be returned.  (optional) 
            var linkedId = linkedId_example;  // string | Filter visits by your custom identifier.   You can use [`linkedId`](https://dev.fingerprint.com/reference/get-function#linkedid) to associate identification requests with your own identifier, for example: session ID, purchase ID, or transaction ID. You can then use this `linked_id` parameter to retrieve all events associated with your custom identifier.  (optional) 
            var limit = 56;  // int? | Limit scanned results.   For performance reasons, the API first scans some number of events before filtering them. Use `limit` to specify how many events are scanned before they are filtered by `requestId` or `linkedId`. Results are always returned sorted by the timestamp (most recent first). By default, the most recent 100 visits are scanned, the maximum is 500.  (optional) 
            var paginationKey = paginationKey_example;  // string | Use `paginationKey` to get the next page of results.   When more results are available (e.g., you requested 200 results using `limit` parameter, but a total of 600 results are available), the `paginationKey` top-level attribute is added to the response. The key corresponds to the `requestId` of the last returned event. In the following request, use that value in the `paginationKey` parameter to get the next page of results:  1. First request, returning most recent 200 events: `GET api-base-url/visitors/:visitorId?limit=200` 2. Use `response.paginationKey` to get the next page of results: `GET api-base-url/visitors/:visitorId?limit=200&paginationKey=1683900801733.Ogvu1j`  Pagination happens during scanning and before filtering, so you can get less visits than the `limit` you specified with more available on the next page. When there are no more results available for scanning, the `paginationKey` attribute is not returned.  (optional) 
            var before = 789;  // long? | ⚠️ Deprecated pagination method, please use `paginationKey` instead. Timestamp (in milliseconds since epoch) used to paginate results.  (optional) 

            try
            {
                // Get visits by visitor ID
                VisitorsGetResponse result = apiInstance.GetVisits(visitorId, requestId, linkedId, limit, paginationKey, before);
                Debug.WriteLine(result);
            }
            catch (Exception e)
            {
                Debug.Print("Exception when calling FingerprintApi.GetVisits: " + e.Message );
            }
        }
    }
}

Parameters

Name Type Description Notes
visitorId string Unique visitor identifier issued by Fingerprint Pro.
requestId string Filter visits by requestId. Every identification request has a unique identifier associated with it called requestId. This identifier is returned to the client in the identification result. When you filter visits by requestId, only one visit will be returned. [optional]
linkedId string Filter visits by your custom identifier. You can use linkedId to associate identification requests with your own identifier, for example: session ID, purchase ID, or transaction ID. You can then use this linked_id parameter to retrieve all events associated with your custom identifier. [optional]
limit int? Limit scanned results. For performance reasons, the API first scans some number of events before filtering them. Use limit to specify how many events are scanned before they are filtered by requestId or linkedId. Results are always returned sorted by the timestamp (most recent first). By default, the most recent 100 visits are scanned, the maximum is 500. [optional]
paginationKey string Use paginationKey to get the next page of results. When more results are available (e.g., you requested 200 results using limit parameter, but a total of 600 results are available), the paginationKey top-level attribute is added to the response. The key corresponds to the requestId of the last returned event. In the following request, use that value in the paginationKey parameter to get the next page of results: 1. First request, returning most recent 200 events: GET api-base-url/visitors/:visitorId?limit=200 2. Use response.paginationKey to get the next page of results: GET api-base-url/visitors/:visitorId?limit=200&paginationKey=1683900801733.Ogvu1j Pagination happens during scanning and before filtering, so you can get less visits than the limit you specified with more available on the next page. When there are no more results available for scanning, the paginationKey attribute is not returned. [optional]
before long? ⚠️ Deprecated pagination method, please use paginationKey instead. Timestamp (in milliseconds since epoch) used to paginate results. [optional]

Return type

VisitorsGetResponse

Authorization

ApiKeyHeader, ApiKeyQuery

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

[Back to top] [Back to API list] [Back to Model list] [Back to README]

SearchEvents

SearchEventsResponse SearchEvents (int? limit, string visitorId = null, string bot = null, string ipAddress = null, string linkedId = null, long? start = null, long? end = null, bool? reverse = null, bool? suspect = null)

Get events via search

Search for identification events, including Smart Signals, using multiple filtering criteria. If you don't provide start or end parameters, the default search range is the last 7 days. Please note that events include mobile signals (e.g. rootApps) even if the request originated from a non-mobile platform. We recommend you ignore mobile signals for such requests.

Example

using System;
using System.Diagnostics;
using FingerprintPro.ServerSdk.Api;
using FingerprintPro.ServerSdk.Client;
using FingerprintPro.ServerSdk.Model;

namespace Example
{
    public class SearchEventsExample
    {
        public void main()
        {
            var configuration = new Configuration("YOUR_API_KEY");
            var apiInstance = new FingerprintApi(configuration);
            var limit = 56;  // int? | Limit the number of events returned. 
            var visitorId = visitorId_example;  // string | Unique [visitor identifier](https://dev.fingerprint.com/reference/get-function#visitorid) issued by Fingerprint Pro. Filter for events matching this `visitor_id`.  (optional) 
            var bot = bot_example;  // string | Filter events by the bot detection result, specifically:    - events where any kind of bot was detected.   - events where a good bot was detected.   - events where a bad bot was detected.   - events where no bot was detected.  (optional) 
            var ipAddress = ipAddress_example;  // string | Filter events by IP address range. The range can be as specific as a single IP (/32 for IPv4 or /128 for IPv6)  All ip_address filters must use CIDR notation, for example, 10.0.0.0/24, 192.168.0.1/32  (optional) 
            var linkedId = linkedId_example;  // string | Filter events by your custom identifier.   You can use [linked IDs](https://dev.fingerprint.com/reference/get-function#linkedid) to associate identification requests with your own identifier, for example, session ID, purchase ID, or transaction ID. You can then use this `linked_id` parameter to retrieve all events associated with your custom identifier.  (optional) 
            var start = 789;  // long? | Filter events with a timestamp greater than the start time, in Unix time (milliseconds).  (optional) 
            var end = 789;  // long? | Filter events with a timestamp smaller than the end time, in Unix time (milliseconds).  (optional) 
            var reverse = true;  // bool? | Sort events in reverse timestamp order.  (optional) 
            var suspect = true;  // bool? | Filter events previously tagged as suspicious via the [Update API](https://dev.fingerprint.com/reference/updateevent).  (optional) 

            try
            {
                // Get events via search
                SearchEventsResponse result = apiInstance.SearchEvents(limit, visitorId, bot, ipAddress, linkedId, start, end, reverse, suspect);
                Debug.WriteLine(result);
            }
            catch (Exception e)
            {
                Debug.Print("Exception when calling FingerprintApi.SearchEvents: " + e.Message );
            }
        }
    }
}

Parameters

Name Type Description Notes
limit int? Limit the number of events returned.
visitorId string Unique visitor identifier issued by Fingerprint Pro. Filter for events matching this visitor_id. [optional]
bot string Filter events by the bot detection result, specifically: - events where any kind of bot was detected. - events where a good bot was detected. - events where a bad bot was detected. - events where no bot was detected. [optional]
ipAddress string Filter events by IP address range. The range can be as specific as a single IP (/32 for IPv4 or /128 for IPv6) All ip_address filters must use CIDR notation, for example, 10.0.0.0/24, 192.168.0.1/32 [optional]
linkedId string Filter events by your custom identifier. You can use linked IDs to associate identification requests with your own identifier, for example, session ID, purchase ID, or transaction ID. You can then use this linked_id parameter to retrieve all events associated with your custom identifier. [optional]
start long? Filter events with a timestamp greater than the start time, in Unix time (milliseconds). [optional]
end long? Filter events with a timestamp smaller than the end time, in Unix time (milliseconds). [optional]
reverse bool? Sort events in reverse timestamp order. [optional]
suspect bool? Filter events previously tagged as suspicious via the Update API. [optional]

Return type

SearchEventsResponse

Authorization

ApiKeyHeader, ApiKeyQuery

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

[Back to top] [Back to API list] [Back to Model list] [Back to README]

UpdateEvent

void UpdateEvent (EventsUpdateRequest body, string requestId)

Update an event with a given request ID

Change information in existing events specified by requestId or flag suspicious events. When an event is created, it is assigned linkedId and tag submitted through the JS agent parameters. This information might not be available on the client so the Server API allows for updating the attributes after the fact. Warning It's not possible to update events older than 10 days.

Example

using System;
using System.Diagnostics;
using FingerprintPro.ServerSdk.Api;
using FingerprintPro.ServerSdk.Client;
using FingerprintPro.ServerSdk.Model;

namespace Example
{
    public class UpdateEventExample
    {
        public void main()
        {
            var configuration = new Configuration("YOUR_API_KEY");
            var apiInstance = new FingerprintApi(configuration);
            var body = new EventsUpdateRequest(); // EventsUpdateRequest | 
            var requestId = requestId_example;  // string | The unique event [identifier](https://dev.fingerprint.com/reference/get-function#requestid).

            try
            {
                // Update an event with a given request ID
                apiInstance.UpdateEvent(body, requestId);
            }
            catch (Exception e)
            {
                Debug.Print("Exception when calling FingerprintApi.UpdateEvent: " + e.Message );
            }
        }
    }
}

Parameters

Name Type Description Notes
body EventsUpdateRequest
requestId string The unique event identifier.

Return type

void (empty response body)

Authorization

ApiKeyHeader, ApiKeyQuery

HTTP request headers

  • Content-Type: application/json
  • Accept: application/json

[Back to top] [Back to API list] [Back to Model list] [Back to README]