Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 190
0.00% covered (danger)
0.00%
0 / 95
CRAP
0.00% covered (danger)
0.00%
0 / 1
Webhook
0.00% covered (danger)
0.00%
0 / 190
0.00% covered (danger)
0.00%
0 / 95
20306
0.00% covered (danger)
0.00%
0 / 1
 __construct
0.00% covered (danger)
0.00%
0 / 40
0.00% covered (danger)
0.00%
0 / 1
1722
 __toString
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 swaggerTypes
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 swaggerFormats
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 attributeMap
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setters
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getters
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getModelName
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 listInvalidProperties
0.00% covered (danger)
0.00%
0 / 12
0.00% covered (danger)
0.00%
0 / 1
42
 valid
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getRequestId
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setRequestId
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getUrl
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setUrl
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getIp
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setIp
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getTag
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setTag
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getTime
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setTime
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getTimestamp
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setTimestamp
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getIpLocation
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setIpLocation
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getLinkedId
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setLinkedId
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getVisitorId
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setVisitorId
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getVisitorFound
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setVisitorFound
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getConfidence
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setConfidence
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getFirstSeenAt
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setFirstSeenAt
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getLastSeenAt
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setLastSeenAt
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getBrowserDetails
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setBrowserDetails
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getIncognito
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setIncognito
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getClientReferrer
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setClientReferrer
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getComponents
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setComponents
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getBot
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setBot
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getUserAgent
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setUserAgent
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getRootApps
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setRootApps
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getEmulator
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setEmulator
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getIpInfo
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setIpInfo
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getIpBlocklist
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setIpBlocklist
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getTor
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setTor
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getVpn
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setVpn
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getProxy
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setProxy
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getTampering
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setTampering
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getClonedApp
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setClonedApp
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getFactoryReset
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setFactoryReset
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getJailbroken
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setJailbroken
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getFrida
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setFrida
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getPrivacySettings
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setPrivacySettings
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getVirtualMachine
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setVirtualMachine
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getRawDeviceAttributes
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setRawDeviceAttributes
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getHighActivity
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setHighActivity
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getLocationSpoofing
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setLocationSpoofing
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getSuspectScore
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setSuspectScore
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getRemoteControl
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setRemoteControl
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getVelocity
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setVelocity
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getDeveloperTools
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setDeveloperTools
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 offsetExists
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 offsetGet
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
6
 offsetSet
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
6
 offsetUnset
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 toPrettyString
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2/**
3 * Webhook.
4 *
5 * @category Class
6 *
7 * @author   Swagger Codegen team
8 *
9 * @see     https://github.com/swagger-api/swagger-codegen
10 */
11
12/**
13 * Fingerprint Pro Server API.
14 *
15 * 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.
16 *
17 * OpenAPI spec version: 3
18 * Contact: support@fingerprint.com
19 * Generated by: https://github.com/swagger-api/swagger-codegen.git
20 * Swagger Codegen version: 3.0.34
21 */
22/**
23 * NOTE: This class is auto generated by the swagger code generator program.
24 * https://github.com/swagger-api/swagger-codegen
25 * Do not edit the class manually.
26 */
27
28namespace Fingerprint\ServerAPI\Model;
29
30use Fingerprint\ServerAPI\ObjectSerializer;
31
32/**
33 * Webhook Class Doc Comment.
34 *
35 * @category Class
36 *
37 * @author   Swagger Codegen team
38 *
39 * @see     https://github.com/swagger-api/swagger-codegen
40 */
41class Webhook implements ModelInterface, \ArrayAccess
42{
43    /**
44     * The original name of the model.
45     *
46     */
47    protected static string $swaggerModelName = 'Webhook';
48
49    /**
50     * Array of property to type mappings. Used for (de)serialization.
51     *
52     * @var string[]
53     */
54    protected static array $swaggerTypes = [
55        'request_id' => 'string',
56        'url' => 'string',
57        'ip' => 'string',
58        'tag' => 'array',
59        'time' => '\DateTime',
60        'timestamp' => 'int',
61        'ip_location' => '\Fingerprint\ServerAPI\Model\DeprecatedGeolocation',
62        'linked_id' => 'string',
63        'visitor_id' => 'string',
64        'visitor_found' => 'bool',
65        'confidence' => '\Fingerprint\ServerAPI\Model\IdentificationConfidence',
66        'first_seen_at' => '\Fingerprint\ServerAPI\Model\IdentificationSeenAt',
67        'last_seen_at' => '\Fingerprint\ServerAPI\Model\IdentificationSeenAt',
68        'browser_details' => '\Fingerprint\ServerAPI\Model\BrowserDetails',
69        'incognito' => 'bool',
70        'client_referrer' => 'string',
71        'components' => 'array',
72        'bot' => '\Fingerprint\ServerAPI\Model\BotdBot',
73        'user_agent' => 'string',
74        'root_apps' => '\Fingerprint\ServerAPI\Model\WebhookRootApps',
75        'emulator' => '\Fingerprint\ServerAPI\Model\WebhookEmulator',
76        'ip_info' => '\Fingerprint\ServerAPI\Model\WebhookIPInfo',
77        'ip_blocklist' => '\Fingerprint\ServerAPI\Model\WebhookIPBlocklist',
78        'tor' => '\Fingerprint\ServerAPI\Model\WebhookTor',
79        'vpn' => '\Fingerprint\ServerAPI\Model\WebhookVPN',
80        'proxy' => '\Fingerprint\ServerAPI\Model\WebhookProxy',
81        'tampering' => '\Fingerprint\ServerAPI\Model\WebhookTampering',
82        'cloned_app' => '\Fingerprint\ServerAPI\Model\WebhookClonedApp',
83        'factory_reset' => '\Fingerprint\ServerAPI\Model\WebhookFactoryReset',
84        'jailbroken' => '\Fingerprint\ServerAPI\Model\WebhookJailbroken',
85        'frida' => '\Fingerprint\ServerAPI\Model\WebhookFrida',
86        'privacy_settings' => '\Fingerprint\ServerAPI\Model\WebhookPrivacySettings',
87        'virtual_machine' => '\Fingerprint\ServerAPI\Model\WebhookVirtualMachine',
88        'raw_device_attributes' => 'array',
89        'high_activity' => '\Fingerprint\ServerAPI\Model\WebhookHighActivity',
90        'location_spoofing' => '\Fingerprint\ServerAPI\Model\WebhookLocationSpoofing',
91        'suspect_score' => '\Fingerprint\ServerAPI\Model\WebhookSuspectScore',
92        'remote_control' => '\Fingerprint\ServerAPI\Model\WebhookRemoteControl',
93        'velocity' => '\Fingerprint\ServerAPI\Model\WebhookVelocity',
94        'developer_tools' => '\Fingerprint\ServerAPI\Model\WebhookDeveloperTools'];
95
96    /**
97     * Array of property to format mappings. Used for (de)serialization.
98     *
99     * @var string[]
100     */
101    protected static array $swaggerFormats = [
102        'request_id' => null,
103        'url' => null,
104        'ip' => null,
105        'tag' => null,
106        'time' => 'date-time',
107        'timestamp' => 'int64',
108        'ip_location' => null,
109        'linked_id' => null,
110        'visitor_id' => null,
111        'visitor_found' => null,
112        'confidence' => null,
113        'first_seen_at' => null,
114        'last_seen_at' => null,
115        'browser_details' => null,
116        'incognito' => null,
117        'client_referrer' => null,
118        'components' => null,
119        'bot' => null,
120        'user_agent' => null,
121        'root_apps' => null,
122        'emulator' => null,
123        'ip_info' => null,
124        'ip_blocklist' => null,
125        'tor' => null,
126        'vpn' => null,
127        'proxy' => null,
128        'tampering' => null,
129        'cloned_app' => null,
130        'factory_reset' => null,
131        'jailbroken' => null,
132        'frida' => null,
133        'privacy_settings' => null,
134        'virtual_machine' => null,
135        'raw_device_attributes' => null,
136        'high_activity' => null,
137        'location_spoofing' => null,
138        'suspect_score' => null,
139        'remote_control' => null,
140        'velocity' => null,
141        'developer_tools' => null];
142
143    /**
144     * Array of attributes where the key is the local name,
145     * and the value is the original name.
146     *
147     * @var string[]
148     */
149    protected static array $attributeMap = [
150        'request_id' => 'requestId',
151        'url' => 'url',
152        'ip' => 'ip',
153        'tag' => 'tag',
154        'time' => 'time',
155        'timestamp' => 'timestamp',
156        'ip_location' => 'ipLocation',
157        'linked_id' => 'linkedId',
158        'visitor_id' => 'visitorId',
159        'visitor_found' => 'visitorFound',
160        'confidence' => 'confidence',
161        'first_seen_at' => 'firstSeenAt',
162        'last_seen_at' => 'lastSeenAt',
163        'browser_details' => 'browserDetails',
164        'incognito' => 'incognito',
165        'client_referrer' => 'clientReferrer',
166        'components' => 'components',
167        'bot' => 'bot',
168        'user_agent' => 'userAgent',
169        'root_apps' => 'rootApps',
170        'emulator' => 'emulator',
171        'ip_info' => 'ipInfo',
172        'ip_blocklist' => 'ipBlocklist',
173        'tor' => 'tor',
174        'vpn' => 'vpn',
175        'proxy' => 'proxy',
176        'tampering' => 'tampering',
177        'cloned_app' => 'clonedApp',
178        'factory_reset' => 'factoryReset',
179        'jailbroken' => 'jailbroken',
180        'frida' => 'frida',
181        'privacy_settings' => 'privacySettings',
182        'virtual_machine' => 'virtualMachine',
183        'raw_device_attributes' => 'rawDeviceAttributes',
184        'high_activity' => 'highActivity',
185        'location_spoofing' => 'locationSpoofing',
186        'suspect_score' => 'suspectScore',
187        'remote_control' => 'remoteControl',
188        'velocity' => 'velocity',
189        'developer_tools' => 'developerTools'];
190
191    /**
192     * Array of attributes to setter functions (for deserialization of responses).
193     *
194     * @var string[]
195     */
196    protected static array $setters = [
197        'request_id' => 'setRequestId',
198        'url' => 'setUrl',
199        'ip' => 'setIp',
200        'tag' => 'setTag',
201        'time' => 'setTime',
202        'timestamp' => 'setTimestamp',
203        'ip_location' => 'setIpLocation',
204        'linked_id' => 'setLinkedId',
205        'visitor_id' => 'setVisitorId',
206        'visitor_found' => 'setVisitorFound',
207        'confidence' => 'setConfidence',
208        'first_seen_at' => 'setFirstSeenAt',
209        'last_seen_at' => 'setLastSeenAt',
210        'browser_details' => 'setBrowserDetails',
211        'incognito' => 'setIncognito',
212        'client_referrer' => 'setClientReferrer',
213        'components' => 'setComponents',
214        'bot' => 'setBot',
215        'user_agent' => 'setUserAgent',
216        'root_apps' => 'setRootApps',
217        'emulator' => 'setEmulator',
218        'ip_info' => 'setIpInfo',
219        'ip_blocklist' => 'setIpBlocklist',
220        'tor' => 'setTor',
221        'vpn' => 'setVpn',
222        'proxy' => 'setProxy',
223        'tampering' => 'setTampering',
224        'cloned_app' => 'setClonedApp',
225        'factory_reset' => 'setFactoryReset',
226        'jailbroken' => 'setJailbroken',
227        'frida' => 'setFrida',
228        'privacy_settings' => 'setPrivacySettings',
229        'virtual_machine' => 'setVirtualMachine',
230        'raw_device_attributes' => 'setRawDeviceAttributes',
231        'high_activity' => 'setHighActivity',
232        'location_spoofing' => 'setLocationSpoofing',
233        'suspect_score' => 'setSuspectScore',
234        'remote_control' => 'setRemoteControl',
235        'velocity' => 'setVelocity',
236        'developer_tools' => 'setDeveloperTools'];
237
238    /**
239     * Array of attributes to getter functions (for serialization of requests).
240     *
241     * @var string[]
242     */
243    protected static array $getters = [
244        'request_id' => 'getRequestId',
245        'url' => 'getUrl',
246        'ip' => 'getIp',
247        'tag' => 'getTag',
248        'time' => 'getTime',
249        'timestamp' => 'getTimestamp',
250        'ip_location' => 'getIpLocation',
251        'linked_id' => 'getLinkedId',
252        'visitor_id' => 'getVisitorId',
253        'visitor_found' => 'getVisitorFound',
254        'confidence' => 'getConfidence',
255        'first_seen_at' => 'getFirstSeenAt',
256        'last_seen_at' => 'getLastSeenAt',
257        'browser_details' => 'getBrowserDetails',
258        'incognito' => 'getIncognito',
259        'client_referrer' => 'getClientReferrer',
260        'components' => 'getComponents',
261        'bot' => 'getBot',
262        'user_agent' => 'getUserAgent',
263        'root_apps' => 'getRootApps',
264        'emulator' => 'getEmulator',
265        'ip_info' => 'getIpInfo',
266        'ip_blocklist' => 'getIpBlocklist',
267        'tor' => 'getTor',
268        'vpn' => 'getVpn',
269        'proxy' => 'getProxy',
270        'tampering' => 'getTampering',
271        'cloned_app' => 'getClonedApp',
272        'factory_reset' => 'getFactoryReset',
273        'jailbroken' => 'getJailbroken',
274        'frida' => 'getFrida',
275        'privacy_settings' => 'getPrivacySettings',
276        'virtual_machine' => 'getVirtualMachine',
277        'raw_device_attributes' => 'getRawDeviceAttributes',
278        'high_activity' => 'getHighActivity',
279        'location_spoofing' => 'getLocationSpoofing',
280        'suspect_score' => 'getSuspectScore',
281        'remote_control' => 'getRemoteControl',
282        'velocity' => 'getVelocity',
283        'developer_tools' => 'getDeveloperTools'];
284
285    /**
286     * Associative array for storing property values.
287     *
288     * @var mixed[]
289     */
290    protected array $container = [];
291
292    /**
293     * Constructor.
294     *
295     * @param mixed[] $data Associated array of property values
296     *                      initializing the model
297     */
298    public function __construct(?array $data = null)
299    {
300        $this->container['request_id'] = isset($data['request_id']) ? $data['request_id'] : null;
301        $this->container['url'] = isset($data['url']) ? $data['url'] : null;
302        $this->container['ip'] = isset($data['ip']) ? $data['ip'] : null;
303        $this->container['tag'] = isset($data['tag']) ? $data['tag'] : null;
304        $this->container['time'] = isset($data['time']) ? $data['time'] : null;
305        $this->container['timestamp'] = isset($data['timestamp']) ? $data['timestamp'] : null;
306        $this->container['ip_location'] = isset($data['ip_location']) ? $data['ip_location'] : null;
307        $this->container['linked_id'] = isset($data['linked_id']) ? $data['linked_id'] : null;
308        $this->container['visitor_id'] = isset($data['visitor_id']) ? $data['visitor_id'] : null;
309        $this->container['visitor_found'] = isset($data['visitor_found']) ? $data['visitor_found'] : null;
310        $this->container['confidence'] = isset($data['confidence']) ? $data['confidence'] : null;
311        $this->container['first_seen_at'] = isset($data['first_seen_at']) ? $data['first_seen_at'] : null;
312        $this->container['last_seen_at'] = isset($data['last_seen_at']) ? $data['last_seen_at'] : null;
313        $this->container['browser_details'] = isset($data['browser_details']) ? $data['browser_details'] : null;
314        $this->container['incognito'] = isset($data['incognito']) ? $data['incognito'] : null;
315        $this->container['client_referrer'] = isset($data['client_referrer']) ? $data['client_referrer'] : null;
316        $this->container['components'] = isset($data['components']) ? $data['components'] : null;
317        $this->container['bot'] = isset($data['bot']) ? $data['bot'] : null;
318        $this->container['user_agent'] = isset($data['user_agent']) ? $data['user_agent'] : null;
319        $this->container['root_apps'] = isset($data['root_apps']) ? $data['root_apps'] : null;
320        $this->container['emulator'] = isset($data['emulator']) ? $data['emulator'] : null;
321        $this->container['ip_info'] = isset($data['ip_info']) ? $data['ip_info'] : null;
322        $this->container['ip_blocklist'] = isset($data['ip_blocklist']) ? $data['ip_blocklist'] : null;
323        $this->container['tor'] = isset($data['tor']) ? $data['tor'] : null;
324        $this->container['vpn'] = isset($data['vpn']) ? $data['vpn'] : null;
325        $this->container['proxy'] = isset($data['proxy']) ? $data['proxy'] : null;
326        $this->container['tampering'] = isset($data['tampering']) ? $data['tampering'] : null;
327        $this->container['cloned_app'] = isset($data['cloned_app']) ? $data['cloned_app'] : null;
328        $this->container['factory_reset'] = isset($data['factory_reset']) ? $data['factory_reset'] : null;
329        $this->container['jailbroken'] = isset($data['jailbroken']) ? $data['jailbroken'] : null;
330        $this->container['frida'] = isset($data['frida']) ? $data['frida'] : null;
331        $this->container['privacy_settings'] = isset($data['privacy_settings']) ? $data['privacy_settings'] : null;
332        $this->container['virtual_machine'] = isset($data['virtual_machine']) ? $data['virtual_machine'] : null;
333        $this->container['raw_device_attributes'] = isset($data['raw_device_attributes']) ? $data['raw_device_attributes'] : null;
334        $this->container['high_activity'] = isset($data['high_activity']) ? $data['high_activity'] : null;
335        $this->container['location_spoofing'] = isset($data['location_spoofing']) ? $data['location_spoofing'] : null;
336        $this->container['suspect_score'] = isset($data['suspect_score']) ? $data['suspect_score'] : null;
337        $this->container['remote_control'] = isset($data['remote_control']) ? $data['remote_control'] : null;
338        $this->container['velocity'] = isset($data['velocity']) ? $data['velocity'] : null;
339        $this->container['developer_tools'] = isset($data['developer_tools']) ? $data['developer_tools'] : null;
340    }
341
342    /**
343     * Gets the string presentation of the object.
344     *
345     */
346    public function __toString(): string
347    {
348        return json_encode(ObjectSerializer::sanitizeForSerialization($this));
349    }
350
351    /**
352     * Array of property to type mappings. Used for (de)serialization.
353     */
354    public static function swaggerTypes(): array
355    {
356        return self::$swaggerTypes;
357    }
358
359    /**
360     * Array of property to format mappings. Used for (de)serialization.
361     */
362    public static function swaggerFormats(): array
363    {
364        return self::$swaggerFormats;
365    }
366
367    /**
368     * Array of attributes where the key is the local name,
369     * and the value is the original name.
370     */
371    public static function attributeMap(): array
372    {
373        return self::$attributeMap;
374    }
375
376    /**
377     * Array of attributes to setter functions (for deserialization of responses).
378     */
379    public static function setters(): array
380    {
381        return self::$setters;
382    }
383
384    /**
385     * Array of attributes to getter functions (for serialization of requests).
386     */
387    public static function getters(): array
388    {
389        return self::$getters;
390    }
391
392    /**
393     * The original name of the model.
394     */
395    public function getModelName(): string
396    {
397        return self::$swaggerModelName;
398    }
399
400    /**
401     * Show all the invalid properties with reasons.
402     *
403     * @return array invalid properties with reasons
404     */
405    public function listInvalidProperties(): array
406    {
407        $invalidProperties = [];
408
409        if (null === $this->container['request_id']) {
410            $invalidProperties[] = "'request_id' can't be null";
411        }
412        if (null === $this->container['url']) {
413            $invalidProperties[] = "'url' can't be null";
414        }
415        if (null === $this->container['ip']) {
416            $invalidProperties[] = "'ip' can't be null";
417        }
418        if (null === $this->container['time']) {
419            $invalidProperties[] = "'time' can't be null";
420        }
421        if (null === $this->container['timestamp']) {
422            $invalidProperties[] = "'timestamp' can't be null";
423        }
424
425        return $invalidProperties;
426    }
427
428    /**
429     * Validate all the properties in the model
430     * return true if all passed.
431     *
432     * @return bool True if all properties are valid
433     */
434    public function valid(): bool
435    {
436        return 0 === count($this->listInvalidProperties());
437    }
438
439    /**
440     * Gets request_id.
441     */
442    public function getRequestId(): string
443    {
444        return $this->container['request_id'];
445    }
446
447    /**
448     * Sets request_id.
449     *
450     * @param string $request_id unique identifier of the user's request
451     *
452     * @return $this
453     */
454    public function setRequestId(string $request_id): self
455    {
456        $this->container['request_id'] = $request_id;
457
458        return $this;
459    }
460
461    /**
462     * Gets url.
463     */
464    public function getUrl(): string
465    {
466        return $this->container['url'];
467    }
468
469    /**
470     * Sets url.
471     *
472     * @param string $url page URL from which the request was sent
473     *
474     * @return $this
475     */
476    public function setUrl(string $url): self
477    {
478        $this->container['url'] = $url;
479
480        return $this;
481    }
482
483    /**
484     * Gets ip.
485     */
486    public function getIp(): string
487    {
488        return $this->container['ip'];
489    }
490
491    /**
492     * Sets ip.
493     *
494     * @param string $ip IP address of the requesting browser or bot
495     *
496     * @return $this
497     */
498    public function setIp(string $ip): self
499    {
500        $this->container['ip'] = $ip;
501
502        return $this;
503    }
504
505    /**
506     * Gets tag.
507     */
508    public function getTag(): ?array
509    {
510        return $this->container['tag'];
511    }
512
513    /**
514     * Sets tag.
515     *
516     * @param ?array $tag tag
517     *
518     * @return $this
519     */
520    public function setTag(?array $tag): self
521    {
522        $this->container['tag'] = $tag;
523
524        return $this;
525    }
526
527    /**
528     * Gets time.
529     */
530    public function getTime(): \DateTime
531    {
532        return $this->container['time'];
533    }
534
535    /**
536     * Sets time.
537     *
538     * @param \DateTime $time Time expressed according to ISO 8601 in UTC format, when the request from the JS agent was made. We recommend to treat requests that are older than 2 minutes as malicious. Otherwise, request replay attacks are possible.
539     *
540     * @return $this
541     */
542    public function setTime(\DateTime $time): self
543    {
544        $this->container['time'] = $time;
545
546        return $this;
547    }
548
549    /**
550     * Gets timestamp.
551     */
552    public function getTimestamp(): int
553    {
554        return $this->container['timestamp'];
555    }
556
557    /**
558     * Sets timestamp.
559     *
560     * @param int $timestamp timestamp of the event with millisecond precision in Unix time
561     *
562     * @return $this
563     */
564    public function setTimestamp(int $timestamp): self
565    {
566        $this->container['timestamp'] = $timestamp;
567
568        return $this;
569    }
570
571    /**
572     * Gets ip_location.
573     */
574    public function getIpLocation(): ?DeprecatedGeolocation
575    {
576        return $this->container['ip_location'];
577    }
578
579    /**
580     * Sets ip_location.
581     *
582     * @param ?\Fingerprint\ServerAPI\Model\DeprecatedGeolocation $ip_location ip_location
583     *
584     * @return $this
585     */
586    public function setIpLocation(?DeprecatedGeolocation $ip_location): self
587    {
588        $this->container['ip_location'] = $ip_location;
589
590        return $this;
591    }
592
593    /**
594     * Gets linked_id.
595     */
596    public function getLinkedId(): ?string
597    {
598        return $this->container['linked_id'];
599    }
600
601    /**
602     * Sets linked_id.
603     *
604     * @param ?string $linked_id a customer-provided id that was sent with the request
605     *
606     * @return $this
607     */
608    public function setLinkedId(?string $linked_id): self
609    {
610        $this->container['linked_id'] = $linked_id;
611
612        return $this;
613    }
614
615    /**
616     * Gets visitor_id.
617     */
618    public function getVisitorId(): ?string
619    {
620        return $this->container['visitor_id'];
621    }
622
623    /**
624     * Sets visitor_id.
625     *
626     * @param ?string $visitor_id string of 20 characters that uniquely identifies the visitor's browser
627     *
628     * @return $this
629     */
630    public function setVisitorId(?string $visitor_id): self
631    {
632        $this->container['visitor_id'] = $visitor_id;
633
634        return $this;
635    }
636
637    /**
638     * Gets visitor_found.
639     */
640    public function getVisitorFound(): ?bool
641    {
642        return $this->container['visitor_found'];
643    }
644
645    /**
646     * Sets visitor_found.
647     *
648     * @param ?bool $visitor_found attribute represents if a visitor had been identified before
649     *
650     * @return $this
651     */
652    public function setVisitorFound(?bool $visitor_found): self
653    {
654        $this->container['visitor_found'] = $visitor_found;
655
656        return $this;
657    }
658
659    /**
660     * Gets confidence.
661     */
662    public function getConfidence(): ?IdentificationConfidence
663    {
664        return $this->container['confidence'];
665    }
666
667    /**
668     * Sets confidence.
669     *
670     * @param ?\Fingerprint\ServerAPI\Model\IdentificationConfidence $confidence confidence
671     *
672     * @return $this
673     */
674    public function setConfidence(?IdentificationConfidence $confidence): self
675    {
676        $this->container['confidence'] = $confidence;
677
678        return $this;
679    }
680
681    /**
682     * Gets first_seen_at.
683     */
684    public function getFirstSeenAt(): ?IdentificationSeenAt
685    {
686        return $this->container['first_seen_at'];
687    }
688
689    /**
690     * Sets first_seen_at.
691     *
692     * @param ?\Fingerprint\ServerAPI\Model\IdentificationSeenAt $first_seen_at first_seen_at
693     *
694     * @return $this
695     */
696    public function setFirstSeenAt(?IdentificationSeenAt $first_seen_at): self
697    {
698        $this->container['first_seen_at'] = $first_seen_at;
699
700        return $this;
701    }
702
703    /**
704     * Gets last_seen_at.
705     */
706    public function getLastSeenAt(): ?IdentificationSeenAt
707    {
708        return $this->container['last_seen_at'];
709    }
710
711    /**
712     * Sets last_seen_at.
713     *
714     * @param ?\Fingerprint\ServerAPI\Model\IdentificationSeenAt $last_seen_at last_seen_at
715     *
716     * @return $this
717     */
718    public function setLastSeenAt(?IdentificationSeenAt $last_seen_at): self
719    {
720        $this->container['last_seen_at'] = $last_seen_at;
721
722        return $this;
723    }
724
725    /**
726     * Gets browser_details.
727     */
728    public function getBrowserDetails(): ?BrowserDetails
729    {
730        return $this->container['browser_details'];
731    }
732
733    /**
734     * Sets browser_details.
735     *
736     * @param ?\Fingerprint\ServerAPI\Model\BrowserDetails $browser_details browser_details
737     *
738     * @return $this
739     */
740    public function setBrowserDetails(?BrowserDetails $browser_details): self
741    {
742        $this->container['browser_details'] = $browser_details;
743
744        return $this;
745    }
746
747    /**
748     * Gets incognito.
749     */
750    public function getIncognito(): ?bool
751    {
752        return $this->container['incognito'];
753    }
754
755    /**
756     * Sets incognito.
757     *
758     * @param ?bool $incognito flag if user used incognito session
759     *
760     * @return $this
761     */
762    public function setIncognito(?bool $incognito): self
763    {
764        $this->container['incognito'] = $incognito;
765
766        return $this;
767    }
768
769    /**
770     * Gets client_referrer.
771     */
772    public function getClientReferrer(): ?string
773    {
774        return $this->container['client_referrer'];
775    }
776
777    /**
778     * Sets client_referrer.
779     *
780     * @param ?string $client_referrer client_referrer
781     *
782     * @return $this
783     */
784    public function setClientReferrer(?string $client_referrer): self
785    {
786        $this->container['client_referrer'] = $client_referrer;
787
788        return $this;
789    }
790
791    /**
792     * Gets components.
793     */
794    public function getComponents(): ?array
795    {
796        return $this->container['components'];
797    }
798
799    /**
800     * Sets components.
801     *
802     * @param ?array $components components
803     *
804     * @return $this
805     */
806    public function setComponents(?array $components): self
807    {
808        $this->container['components'] = $components;
809
810        return $this;
811    }
812
813    /**
814     * Gets bot.
815     */
816    public function getBot(): ?BotdBot
817    {
818        return $this->container['bot'];
819    }
820
821    /**
822     * Sets bot.
823     *
824     * @param ?\Fingerprint\ServerAPI\Model\BotdBot $bot bot
825     *
826     * @return $this
827     */
828    public function setBot(?BotdBot $bot): self
829    {
830        $this->container['bot'] = $bot;
831
832        return $this;
833    }
834
835    /**
836     * Gets user_agent.
837     */
838    public function getUserAgent(): ?string
839    {
840        return $this->container['user_agent'];
841    }
842
843    /**
844     * Sets user_agent.
845     *
846     * @param ?string $user_agent user_agent
847     *
848     * @return $this
849     */
850    public function setUserAgent(?string $user_agent): self
851    {
852        $this->container['user_agent'] = $user_agent;
853
854        return $this;
855    }
856
857    /**
858     * Gets root_apps.
859     */
860    public function getRootApps(): ?WebhookRootApps
861    {
862        return $this->container['root_apps'];
863    }
864
865    /**
866     * Sets root_apps.
867     *
868     * @param ?\Fingerprint\ServerAPI\Model\WebhookRootApps $root_apps root_apps
869     *
870     * @return $this
871     */
872    public function setRootApps(?WebhookRootApps $root_apps): self
873    {
874        $this->container['root_apps'] = $root_apps;
875
876        return $this;
877    }
878
879    /**
880     * Gets emulator.
881     */
882    public function getEmulator(): ?WebhookEmulator
883    {
884        return $this->container['emulator'];
885    }
886
887    /**
888     * Sets emulator.
889     *
890     * @param ?\Fingerprint\ServerAPI\Model\WebhookEmulator $emulator emulator
891     *
892     * @return $this
893     */
894    public function setEmulator(?WebhookEmulator $emulator): self
895    {
896        $this->container['emulator'] = $emulator;
897
898        return $this;
899    }
900
901    /**
902     * Gets ip_info.
903     */
904    public function getIpInfo(): ?WebhookIPInfo
905    {
906        return $this->container['ip_info'];
907    }
908
909    /**
910     * Sets ip_info.
911     *
912     * @param ?\Fingerprint\ServerAPI\Model\WebhookIPInfo $ip_info ip_info
913     *
914     * @return $this
915     */
916    public function setIpInfo(?WebhookIPInfo $ip_info): self
917    {
918        $this->container['ip_info'] = $ip_info;
919
920        return $this;
921    }
922
923    /**
924     * Gets ip_blocklist.
925     */
926    public function getIpBlocklist(): ?WebhookIPBlocklist
927    {
928        return $this->container['ip_blocklist'];
929    }
930
931    /**
932     * Sets ip_blocklist.
933     *
934     * @param ?\Fingerprint\ServerAPI\Model\WebhookIPBlocklist $ip_blocklist ip_blocklist
935     *
936     * @return $this
937     */
938    public function setIpBlocklist(?WebhookIPBlocklist $ip_blocklist): self
939    {
940        $this->container['ip_blocklist'] = $ip_blocklist;
941
942        return $this;
943    }
944
945    /**
946     * Gets tor.
947     */
948    public function getTor(): ?WebhookTor
949    {
950        return $this->container['tor'];
951    }
952
953    /**
954     * Sets tor.
955     *
956     * @param ?\Fingerprint\ServerAPI\Model\WebhookTor $tor tor
957     *
958     * @return $this
959     */
960    public function setTor(?WebhookTor $tor): self
961    {
962        $this->container['tor'] = $tor;
963
964        return $this;
965    }
966
967    /**
968     * Gets vpn.
969     */
970    public function getVpn(): ?WebhookVPN
971    {
972        return $this->container['vpn'];
973    }
974
975    /**
976     * Sets vpn.
977     *
978     * @param ?\Fingerprint\ServerAPI\Model\WebhookVPN $vpn vpn
979     *
980     * @return $this
981     */
982    public function setVpn(?WebhookVPN $vpn): self
983    {
984        $this->container['vpn'] = $vpn;
985
986        return $this;
987    }
988
989    /**
990     * Gets proxy.
991     */
992    public function getProxy(): ?WebhookProxy
993    {
994        return $this->container['proxy'];
995    }
996
997    /**
998     * Sets proxy.
999     *
1000     * @param ?\Fingerprint\ServerAPI\Model\WebhookProxy $proxy proxy
1001     *
1002     * @return $this
1003     */
1004    public function setProxy(?WebhookProxy $proxy): self
1005    {
1006        $this->container['proxy'] = $proxy;
1007
1008        return $this;
1009    }
1010
1011    /**
1012     * Gets tampering.
1013     */
1014    public function getTampering(): ?WebhookTampering
1015    {
1016        return $this->container['tampering'];
1017    }
1018
1019    /**
1020     * Sets tampering.
1021     *
1022     * @param ?\Fingerprint\ServerAPI\Model\WebhookTampering $tampering tampering
1023     *
1024     * @return $this
1025     */
1026    public function setTampering(?WebhookTampering $tampering): self
1027    {
1028        $this->container['tampering'] = $tampering;
1029
1030        return $this;
1031    }
1032
1033    /**
1034     * Gets cloned_app.
1035     */
1036    public function getClonedApp(): ?WebhookClonedApp
1037    {
1038        return $this->container['cloned_app'];
1039    }
1040
1041    /**
1042     * Sets cloned_app.
1043     *
1044     * @param ?\Fingerprint\ServerAPI\Model\WebhookClonedApp $cloned_app cloned_app
1045     *
1046     * @return $this
1047     */
1048    public function setClonedApp(?WebhookClonedApp $cloned_app): self
1049    {
1050        $this->container['cloned_app'] = $cloned_app;
1051
1052        return $this;
1053    }
1054
1055    /**
1056     * Gets factory_reset.
1057     */
1058    public function getFactoryReset(): ?WebhookFactoryReset
1059    {
1060        return $this->container['factory_reset'];
1061    }
1062
1063    /**
1064     * Sets factory_reset.
1065     *
1066     * @param ?\Fingerprint\ServerAPI\Model\WebhookFactoryReset $factory_reset factory_reset
1067     *
1068     * @return $this
1069     */
1070    public function setFactoryReset(?WebhookFactoryReset $factory_reset): self
1071    {
1072        $this->container['factory_reset'] = $factory_reset;
1073
1074        return $this;
1075    }
1076
1077    /**
1078     * Gets jailbroken.
1079     */
1080    public function getJailbroken(): ?WebhookJailbroken
1081    {
1082        return $this->container['jailbroken'];
1083    }
1084
1085    /**
1086     * Sets jailbroken.
1087     *
1088     * @param ?\Fingerprint\ServerAPI\Model\WebhookJailbroken $jailbroken jailbroken
1089     *
1090     * @return $this
1091     */
1092    public function setJailbroken(?WebhookJailbroken $jailbroken): self
1093    {
1094        $this->container['jailbroken'] = $jailbroken;
1095
1096        return $this;
1097    }
1098
1099    /**
1100     * Gets frida.
1101     */
1102    public function getFrida(): ?WebhookFrida
1103    {
1104        return $this->container['frida'];
1105    }
1106
1107    /**
1108     * Sets frida.
1109     *
1110     * @param ?\Fingerprint\ServerAPI\Model\WebhookFrida $frida frida
1111     *
1112     * @return $this
1113     */
1114    public function setFrida(?WebhookFrida $frida): self
1115    {
1116        $this->container['frida'] = $frida;
1117
1118        return $this;
1119    }
1120
1121    /**
1122     * Gets privacy_settings.
1123     */
1124    public function getPrivacySettings(): ?WebhookPrivacySettings
1125    {
1126        return $this->container['privacy_settings'];
1127    }
1128
1129    /**
1130     * Sets privacy_settings.
1131     *
1132     * @param ?\Fingerprint\ServerAPI\Model\WebhookPrivacySettings $privacy_settings privacy_settings
1133     *
1134     * @return $this
1135     */
1136    public function setPrivacySettings(?WebhookPrivacySettings $privacy_settings): self
1137    {
1138        $this->container['privacy_settings'] = $privacy_settings;
1139
1140        return $this;
1141    }
1142
1143    /**
1144     * Gets virtual_machine.
1145     */
1146    public function getVirtualMachine(): ?WebhookVirtualMachine
1147    {
1148        return $this->container['virtual_machine'];
1149    }
1150
1151    /**
1152     * Sets virtual_machine.
1153     *
1154     * @param ?\Fingerprint\ServerAPI\Model\WebhookVirtualMachine $virtual_machine virtual_machine
1155     *
1156     * @return $this
1157     */
1158    public function setVirtualMachine(?WebhookVirtualMachine $virtual_machine): self
1159    {
1160        $this->container['virtual_machine'] = $virtual_machine;
1161
1162        return $this;
1163    }
1164
1165    /**
1166     * Gets raw_device_attributes.
1167     */
1168    public function getRawDeviceAttributes(): ?array
1169    {
1170        return $this->container['raw_device_attributes'];
1171    }
1172
1173    /**
1174     * Sets raw_device_attributes.
1175     *
1176     * @param ?array $raw_device_attributes raw_device_attributes
1177     *
1178     * @return $this
1179     */
1180    public function setRawDeviceAttributes(?array $raw_device_attributes): self
1181    {
1182        $this->container['raw_device_attributes'] = $raw_device_attributes;
1183
1184        return $this;
1185    }
1186
1187    /**
1188     * Gets high_activity.
1189     */
1190    public function getHighActivity(): ?WebhookHighActivity
1191    {
1192        return $this->container['high_activity'];
1193    }
1194
1195    /**
1196     * Sets high_activity.
1197     *
1198     * @param ?\Fingerprint\ServerAPI\Model\WebhookHighActivity $high_activity high_activity
1199     *
1200     * @return $this
1201     */
1202    public function setHighActivity(?WebhookHighActivity $high_activity): self
1203    {
1204        $this->container['high_activity'] = $high_activity;
1205
1206        return $this;
1207    }
1208
1209    /**
1210     * Gets location_spoofing.
1211     */
1212    public function getLocationSpoofing(): ?WebhookLocationSpoofing
1213    {
1214        return $this->container['location_spoofing'];
1215    }
1216
1217    /**
1218     * Sets location_spoofing.
1219     *
1220     * @param ?\Fingerprint\ServerAPI\Model\WebhookLocationSpoofing $location_spoofing location_spoofing
1221     *
1222     * @return $this
1223     */
1224    public function setLocationSpoofing(?WebhookLocationSpoofing $location_spoofing): self
1225    {
1226        $this->container['location_spoofing'] = $location_spoofing;
1227
1228        return $this;
1229    }
1230
1231    /**
1232     * Gets suspect_score.
1233     */
1234    public function getSuspectScore(): ?WebhookSuspectScore
1235    {
1236        return $this->container['suspect_score'];
1237    }
1238
1239    /**
1240     * Sets suspect_score.
1241     *
1242     * @param ?\Fingerprint\ServerAPI\Model\WebhookSuspectScore $suspect_score suspect_score
1243     *
1244     * @return $this
1245     */
1246    public function setSuspectScore(?WebhookSuspectScore $suspect_score): self
1247    {
1248        $this->container['suspect_score'] = $suspect_score;
1249
1250        return $this;
1251    }
1252
1253    /**
1254     * Gets remote_control.
1255     */
1256    public function getRemoteControl(): ?WebhookRemoteControl
1257    {
1258        return $this->container['remote_control'];
1259    }
1260
1261    /**
1262     * Sets remote_control.
1263     *
1264     * @param ?\Fingerprint\ServerAPI\Model\WebhookRemoteControl $remote_control remote_control
1265     *
1266     * @return $this
1267     */
1268    public function setRemoteControl(?WebhookRemoteControl $remote_control): self
1269    {
1270        $this->container['remote_control'] = $remote_control;
1271
1272        return $this;
1273    }
1274
1275    /**
1276     * Gets velocity.
1277     */
1278    public function getVelocity(): ?WebhookVelocity
1279    {
1280        return $this->container['velocity'];
1281    }
1282
1283    /**
1284     * Sets velocity.
1285     *
1286     * @param ?\Fingerprint\ServerAPI\Model\WebhookVelocity $velocity velocity
1287     *
1288     * @return $this
1289     */
1290    public function setVelocity(?WebhookVelocity $velocity): self
1291    {
1292        $this->container['velocity'] = $velocity;
1293
1294        return $this;
1295    }
1296
1297    /**
1298     * Gets developer_tools.
1299     */
1300    public function getDeveloperTools(): ?WebhookDeveloperTools
1301    {
1302        return $this->container['developer_tools'];
1303    }
1304
1305    /**
1306     * Sets developer_tools.
1307     *
1308     * @param ?\Fingerprint\ServerAPI\Model\WebhookDeveloperTools $developer_tools developer_tools
1309     *
1310     * @return $this
1311     */
1312    public function setDeveloperTools(?WebhookDeveloperTools $developer_tools): self
1313    {
1314        $this->container['developer_tools'] = $developer_tools;
1315
1316        return $this;
1317    }
1318
1319    /**
1320     * Returns true if offset exists. False otherwise.
1321     *
1322     * @param int $offset Offset
1323     */
1324    public function offsetExists($offset): bool
1325    {
1326        return isset($this->container[$offset]);
1327    }
1328
1329    /**
1330     * Gets offset.
1331     *
1332     * @param int $offset Offset
1333     */
1334    public function offsetGet($offset): mixed
1335    {
1336        return isset($this->container[$offset]) ? $this->container[$offset] : null;
1337    }
1338
1339    /**
1340     * Sets value based on offset.
1341     *
1342     * @param int   $offset Offset
1343     * @param mixed $value  Value to be set
1344     */
1345    public function offsetSet($offset, mixed $value): void
1346    {
1347        if (is_null($offset)) {
1348            $this->container[] = $value;
1349        } else {
1350            $this->container[$offset] = $value;
1351        }
1352    }
1353
1354    /**
1355     * Unsets offset.
1356     *
1357     * @param int $offset Offset
1358     */
1359    public function offsetUnset($offset): void
1360    {
1361        unset($this->container[$offset]);
1362    }
1363
1364    /**
1365     * Gets the string presentation of the object in a pretty JSON format.
1366     *
1367     */
1368    public function toPrettyString(): string
1369    {
1370        return json_encode(
1371            ObjectSerializer::sanitizeForSerialization($this),
1372            JSON_PRETTY_PRINT
1373        );
1374    }
1375}