### Complete Podfile Example Source: https://developers.osano.com/cmp/mobile-sdks/ios/installation/cocoapods An example of a complete Podfile including the Osano CocoaPods specs repo and the Osano Consent Manager SDK with an exact version. ```ruby platform :ios, '12.1' source "https://github.com/osano/cocoapods-specs.git" target 'MyApp' do use_frameworks! pod 'OsanoConsentManagerSDK', '3.6.5' end ``` -------------------------------- ### Using Osano CMP Pre-load Interface with Event Listeners and Properties Source: https://developers.osano.com/cmp/javascript-api/developer-documentation-consent-javascript-api Example of using the pre-load interface to add event listeners like `onInitialized` and `onCookieBlocked`, and to set user data before the main `osano.js` script is loaded. Ensure the Osano CMP script is included after this setup. ```html
... ``` -------------------------------- ### Getting Data Stores Source: https://developers.osano.com/customer-rest-api/developer-api-doc Example of how to retrieve data stores using the Osano API with authentication. ```APIDOC ## GET /v1/data-stores ### Description Retrieves a list of data stores. ### Method GET ### Endpoint /v1/data-stores ### Parameters #### Query Parameters - **limit** (integer) - Optional - The maximum number of results to return (max 500). - **next** (string) - Optional - Pagination token to retrieve subsequent pages. ### Request Example ```bash curl --header 'x-osano-api-key: myapikey' https://api.osano.com/v1/data-stores ``` ### Response #### Success Response (200) - **next** (string) - Pagination token for the next page. - **data** (array) - List of data store objects. ``` -------------------------------- ### Install iOS Native Modules with CocoaPods Source: https://developers.osano.com/cmp/mobile-sdks/react-native/installation/NPM After installing the SDK via NPM, navigate to your project's iOS directory and run this command to install the native iOS dependencies. ```bash pod install ``` -------------------------------- ### Install Osano CMP React Native SDK with NPM Source: https://developers.osano.com/cmp/mobile-sdks/react-native/installation/NPM Use this command to install the SDK package at the top level of your project. ```bash npm install @osano/osano-cmp-react-native ``` -------------------------------- ### Slack Integration Setup Source: https://developers.osano.com/integrations/data-discovery-integrations/slack Information on setting up the Slack integration with Osano, including authentication and core functionalities. ```APIDOC ## Slack Integration Setup ### Description This section details the setup process for integrating Slack with Osano, including authentication methods and core functionalities provided by the integration. ### Authentication - **Method**: OAuth2 (One click connection) - **Required Roles**: admin ### Core Functionality - Data Discovery - User Search - Data Deletion ### Base URL `https://slack.com/api` ``` -------------------------------- ### Hubspot Integration Setup Source: https://developers.osano.com/integrations/data-discovery-integrations/hubspot Instructions for setting up the Hubspot integration with Osano, including authentication and required scopes. ```APIDOC ## Hubspot Integration Setup ### Description This section outlines the necessary steps to connect Hubspot with Osano, requiring read-only API access for data discovery. An admin must create an OAuth application with specific scopes and provide this information to Osano. ### Authentication * **Method**: OAuth * **Required Scopes**: * crm.schemas.contacts.read * crm.schemas.companies.read * crm.schemas.deals.read * crm.objects.contacts.read * crm.objects.contacts.write * crm.objects.companies.read * crm.objects.companies.write * crm.objects.deals.read * crm.objects.deals.write * tickets * sales-email-read * **Authentication Actions**: Instructions for obtaining your Hubspot Private App Access Token are available via OAuth. ### Base URL `https://api.hubapi.com/crm/v3/` ``` -------------------------------- ### Shopify Integration Setup Source: https://developers.osano.com/integrations/data-discovery-integrations/shopify Instructions for setting up the connection between Osano and Shopify, including authentication details and required information. ```APIDOC ## Shopify Integration Setup ### Description To enable Osano to discover data within your Shopify systems, a connection must be established via their API. This connection requires at least read-only access. The specific information needed may vary by provider; consult the vendor's documentation for details. ### Setup An administrator must generate an API Key within Shopify and input this information into Osano to establish the connection. ### Authentication - **Method**: API Key - **Required Information**: API Key, Subdomain - **Subdomain Example**: `osano-test` from `osano-test.myshopify.com/admin` ### Core Functionality - Data Discovery - User Search - Data Deletion ### Base URL `https://$subdomain.myshopify.com` ``` -------------------------------- ### Content Security Policy Issue Example Source: https://developers.osano.com/uc/js-sdk/embedded An example of a Content Security Policy that would prevent an iframe from loading. ```http Content-Security-Policy: frame-src self ``` -------------------------------- ### Initialize Unified Consent SDK Source: https://developers.osano.com/uc/mobile-sdks/ios/introduction Initialize the SDK with your configuration ID and customer ID. Ensure these parameters match your Osano website configuration. ```swift import UIKit import UnifiedConsentSDK class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() } override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) UnifiedConsentSDKSwift.shared.initWith( view: self, configId: Environment.current.configId, customerId: Environment.current.customerId ) } } ``` -------------------------------- ### Webhook JSON Body Example Source: https://developers.osano.com/webhooks/functions Example of a JSON body for a Teams webhook demonstrating the use of hashing and transformation functions. ```json { "type": "message", "attachments": [ { "contentType": "application/vnd.microsoft.card.adaptive", "content": { "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", "version": "1.5", "body": [ { "type": "TextBlock", "text": "1. Replaced Hashed Email: sha1({{dsarDetails.email}})\r2. Replaced Upper Email: upper({{dsarDetails.email}})\r3. Lower Text: lower('Text')\r4. Hashed Text: sha256('text')", "wrap": true } ] } } ] } ``` -------------------------------- ### Initialize Osano SDK Source: https://developers.osano.com/uc/mobile-sdks/android/introduction Initialize the SDK with your application context, client ID, and configuration ID. Ensure these IDs match your Osano website configuration. The SDK is built after initialization and hiding any unwanted tabs. ```kotlin import com.osano.uc_mobile_sdk.UniversalConsentSDK import com.osano.uc_mobile_sdk.callback.UniversalConsentEventsCallBack import com.osano.uc_mobile_sdk.data.remote.response.Actions import com.osano.uc_mobile_sdk.util.HeadingTab private lateinit var universalConsentSDK: UniversalConsentSDK override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) universalConsentSDK = UniversalConsentSDK() .initWith(this, clientId, configId) universalConsentSDK .hideTab(HeadingTab.None) universalConsentSDK.build() } ``` -------------------------------- ### Webhook JSON with Default Values Example Source: https://developers.osano.com/webhooks/functions Example JSON payload demonstrating the use of coalesce and pipe syntax for providing fallback values for variables. ```json { "name": "{{coalesce(dsarDetails.given-name, 'Unknown')}}", "phone": "{{dsarDetails.phone-number | 'N/A'}}" } ``` -------------------------------- ### Setting Properties with window.Osano() Source: https://developers.osano.com/cmp/javascript-api/developer-documentation-consent-javascript-api Shows how to set properties using the `window.Osano()` function. This method takes the property name and its value. Only 'setter' properties are supported. ```APIDOC ## Setting Properties Adding property values with the `window.Osano()` function takes two arguments, the property name and the value. Only "setter" properties on the JavaScript API are supported: ### Supported Properties: - locale - userData ### Usage: ```javascript // window.Osano('propertyName', value); // Example: window.Osano('userData', 'some user data'); ``` ``` -------------------------------- ### Get Current Locale Source: https://developers.osano.com/cmp/mobile-sdks/react-native/introduction Access the `locale` read-only property to get the current language/locale setting for the consent UI. This determines the language of consent messages. ```javascript console.log(locale); // Returns: 'en', 'es', 'fr', etc. ``` -------------------------------- ### Add an Event Listener using window.Osano() Source: https://developers.osano.com/cmp/javascript-api/developer-documentation-consent-javascript-api Demonstrates how to add an event listener to the Osano CMP using the `window.Osano()` function. The event name is provided as the first argument, and a callback function as the second. This example logs a message when the preferences drawer is shown. ```javascript // window.Osano('onEventName', callback); // example: window.Osano('onUiChanged', (component, stateChange) => { if (component === 'drawer' && stateChange === 'show') { console.log('Preferences drawer has been opened.'); } }); ``` -------------------------------- ### Update Cookie Consent Rule Request Payload Example Source: https://developers.osano.com/customer-rest-api This is an example JSON payload for updating a Cookie Consent Rule. It allows modification of classification, rule, disclosure, title, and vendor name. ```json { "classification": "ANALYTICS", "rule": "string", "disclosure": true, "title": "string", "vendorName": "string" } ``` -------------------------------- ### Client Configuration Source: https://developers.osano.com/uc/js-sdk/entities Configuration object for initializing the Osano client. ```APIDOC ## Type ClientConfig ### Description This type defines the configuration required by a UnifiedConsentByOsanoClient to work. ### Fields - **token** (string) - Required - Token with authorization to execute call to the Core API. - **apiUrl** (string) - Required - Osano's Unified Consent API URL. - **osanoApiKey** (string) - Optional - API Key issued by Osano through the Webapp. Optional, but necessary for calling subject related routes in the Core API. - **overrideCountryCode** (string) - Optional - Set a country code for the client instance. - **overrideRegionCode** (string) - Optional - Set a region code for the client instance. - **cookieConfig** (CookieConfig) - Optional - Overrides the default configuration of the cookies. ``` -------------------------------- ### GET / Source: https://developers.osano.com/uc/core-api/openapi Public endpoint for health check purposes. ```APIDOC ## GET / ### Description Public endpoint for health check purposes. ### Method GET ### Endpoint https://uc.api.osano.com/ ### Response #### Success Response (200) - **status** (string) - The status of the service. - **version** (string) - The version of the service. - **commit** (string) - The commit hash of the service. - **branch** (string) - The branch of the service. #### Response Example ```json { "status": "string", "version": "string", "commit": "string", "branch": "string" } ``` ``` -------------------------------- ### Pre-load and window.Osano() Initialization Source: https://developers.osano.com/cmp/javascript-api/developer-documentation-consent-javascript-api This snippet shows how to initialize the window.Osano() function before the main osano.js script loads, allowing you to add event listeners and set properties early. ```APIDOC ## Pre-load and window.Osano() You can hook into the JavaScript API before Osano CMP loads by adding this script to the page before `osano.js`: ```javascript (function (w, o, d) { w[o] = w[o] || function () { w[o][d].push(arguments); }; w[o][d] = w[o][d] || []; })(window, 'Osano', 'data'); ``` This creates a `window.Osano()` function that you can use to push arguments to the JavaScript API. You can add event listeners and set properties. For example: ```html ... ``` `window.Osano()` can continue to be used after Osano CMP loads. ``` -------------------------------- ### Listen for Initialization Source: https://developers.osano.com/cmp/javascript-api/developer-documentation-consent-javascript-api This event dispatches when the Osano CMP is initialized. If a listener is added after initialization, the callback executes immediately. The callback receives a Consent Object. -------------------------------- ### GET /users/me Source: https://developers.osano.com/integrations/data-discovery-integrations/calendly Retrieves information about the currently authenticated user. ```APIDOC ## GET /users/me ### Description Used for data discovery to retrieve the details of the authenticated user. ### Method GET ### Endpoint https://api.calendly.com/users/me ### Parameters None ### Request Example None ### Response #### Success Response (200) - **user** (object) - Contains user details. #### Response Example { "user": { "name": "John Doe", "email": "john.doe@example.com" } } ``` -------------------------------- ### Get Subject Source: https://developers.osano.com/uc/js-sdk/reference Provides access to the Subject object, if it was provided during instantiation. ```typescript subject(): Subject ``` -------------------------------- ### Data Store Response Sample Source: https://developers.osano.com/customer-rest-api Example of a successful response when retrieving or creating a data store. Includes details about the store and its associated connectors and labels. ```json { "dataStoreId": 0, "name": "string", "status": "string", "lastSync": "2019-08-24T14:15:22Z", "description": "string", "alias": "string", "type": "string", "active": true, "created": "2019-08-24T14:15:22Z", "connector": { "connectorId": 0, "productName": "string", "authType": "string" }, "owners": [ { "email": "user@example.com", "primary": true } ], "totalFields": 0, "unclassifiedFields": 0, "fieldsWithUserData": 0, "metadata": { }, "labels": [ { "name": "string", "labelId": "41dc2eb6-a66e-42b0-a808-3d1e63af79f1" } ] } ``` -------------------------------- ### GET /v1/subject-rights/requests/{dsarId} Source: https://developers.osano.com/customer-rest-api Retrieves a detailed Subject Rights Request by its ID. ```APIDOC ## GET /v1/subject-rights/requests/{dsarId} ### Description Retrieves a detailed Subject Rights Request by its ID. ### Method GET ### Endpoint https://api.osano.com/v1/subject-rights/requests/{dsarId} ### Parameters #### Path Parameters - **dsarId** (string) - Required - The identifier of the Subject Rights Request to return. ### Response #### Success Response (200) - **dsarId** (string) - The identifier of the request. - **status** (string) - The current status of the request. - **requestType** (string) - The type of the request. - **requestSource** (string) - The source of the request. - **notes** (string) - Additional notes about the request. - **dsarDetails** (object) - Details of the data subject. - **due** (string) - The due date for the request in ISO-8601 format. - **created** (string) - The creation date of the request in ISO-8601 format. - **form** (object) - Information about the form used for the request. - **formId** (integer) - The identifier of the form. - **formName** (string) - The name of the form. #### Response Example (200) ```json { "dsarId": "string", "status": "string", "requestType": "string", "requestSource": "string", "notes": "string", "dsarDetails": { }, "due": "2019-08-24T14:15:22Z", "created": "2019-08-24T14:15:22Z", "form": { "formId": 0, "formName": "string" } } ``` #### Error Response (404) Not Found ``` -------------------------------- ### Initialize Osano CMP Pre-load Interface Source: https://developers.osano.com/cmp/javascript-api/developer-documentation-consent-javascript-api This script should be added to the page before `osano.js` to hook into the JavaScript API before the CMP loads. It creates a `window.Osano()` function for pushing arguments. ```javascript (function (w, o, d) { w[o] = w[o] || function () { w[o][d].push(arguments); }; w[o][d] = w[o][d] || []; })(window, 'Osano', 'data'); ``` -------------------------------- ### GET /v2/sessions/{sessionId} Source: https://developers.osano.com/uc/core-api/openapi Retrieves session details using a session ID. ```APIDOC ## GET /v2/sessions/{sessionId} ### Description Retrieves session details using a session ID. ### Method GET ### Endpoint https://uc.api.osano.com/v2/sessions/{sessionId} ### Parameters #### Path Parameters - **sessionId** (string) - Required - A valid session ID. ### Response #### Success Response (200) - **subject** (object) - Information about the subject. - **verifiedId** (string) - The verified ID of the subject. - **profile** (object) - The profile information of the subject. - **email** (string) - The email address of the subject. - **firstName** (string) - The first name of the subject. - **lastName** (string) - The last name of the subject. #### Response Example ```json { "subject": { "verifiedId": "string" }, "profile": { "email": "string", "firstName": "string", "lastName": "string" } } ``` ``` -------------------------------- ### GET /v2/subjects/{id}/profile Source: https://developers.osano.com/uc/core-api/openapi Retrieves a subject's profile information. ```APIDOC ## GET /v2/subjects/{id}/profile ### Description Retrieves a subject's profile information. ### Method GET ### Endpoint https://uc.api.osano.com/v2/subjects/{id}/profile ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the subject. ### Response #### Success Response (200) - **email** (string) - The email address of the subject. - **subjectId** (string) - The unique identifier for the subject. #### Response Example ```json { "email": "string", "subjectId": "string" } ``` ``` -------------------------------- ### GET /v2/config Source: https://developers.osano.com/uc/core-api/openapi Retrieves the UC configuration. This endpoint is secured with an API key. ```APIDOC ## GET /v2/config ### Description Retrieves a UC config. ### Method GET ### Endpoint https://uc.api.osano.com/v2/config ### Authorizations - ucApiKey ### Response #### Success Response (200) - The UC config. #### Response Example (Response structure not provided in the source text) ``` -------------------------------- ### Set a Property using window.Osano() Source: https://developers.osano.com/cmp/javascript-api/developer-documentation-consent-javascript-api Shows how to set a property value using the `window.Osano()` function. The property name is the first argument and the value is the second. This example sets 'userData' to 'some user data'. Only 'setter' properties are supported. ```javascript // window.Osano('propertyName', value); // example: window.Osano('userData', 'some user data'); ``` -------------------------------- ### GET Users List Source: https://developers.osano.com/integrations/data-discovery-integrations/drift Retrieves a list of users. Requires `user_read` scope. ```APIDOC ## GET /users/list ### Description Used for data discovery to retrieve a list of users. ### Method GET ### Endpoint https://driftapi.com/users/list ### Scopes Required - user_read ### Response #### Success Response (200) - **userId** (string) - The unique identifier for the user. - **name** (string) - The name of the user. - **email** (string) - The email address of the user. ### Response Example ```json { "users": [ { "userId": "user-abc-123", "name": "Jane Smith", "email": "jane.smith@example.com" } ] } ``` ``` -------------------------------- ### GET /v1/dsar-action-items Source: https://developers.osano.com/customer-rest-api Lists action items for subject rights requests. This endpoint is deprecated. ```APIDOC ## List Subject Rights Action Items (DEPRECATED) ### Description Lists action items for subject rights requests. Please use `/v1/subject-rights/action-items` instead. ### Method GET ### Endpoint https://api.osano.com/v1/dsar-action-items ### Parameters #### Query Parameters - **dsarId** (string) - Optional - The id of the Subject Rights request to filter by. - **status** (string) - Optional - Status filter for the request. Must be one of CLAIMED, IN_PROGRESS, COMPLETED, or REJECTED. - **limit** (integer) - Optional - The number of items to return. Default: 100. (1-500) - **next** (string) - Optional - The pagination token from the previous request. - **after** (string) - Optional - Specify UTC date and time in ISO-8601 format (e.g. 2021-01-01T00:00:00Z) to filter items created after this date. ### Response #### Success Response (200) - **items** (array) - A list of action item objects. - **dsarActionItemId** (integer) - The ID of the action item. - **assignees** (array of strings) - List of users assigned to the action item. - **dataStore** (object) - Information about the data store. - **dataStoreId** (integer) - The ID of the data store. - **name** (string) - The name of the data store. - **task** (object) - Information about the task. - **taskId** (integer) - The ID of the task. - **name** (string) - The name of the task. - **dsarId** (string) - The ID of the DSAR request. - **dsarDetails** (object) - Details of the DSAR request. - **due** (string) - The due date for the action item (ISO-8601 format). - **created** (string) - The creation date for the action item (ISO-8601 format). - **status** (string) - The status of the action item. - **internalNotes** (string) - Internal notes for the action item. - **requestStatus** (string) - The status of the DSAR request. - **requestType** (string) - The type of the DSAR request. - **completionType** (string) - The completion type of the action item. - **next** (string) - A token for paginating to the next set of results. #### Response Example ```json { "items": [ { "dsarActionItemId": 0, "assignees": [ "user@example.com" ], "dataStore": { "dataStoreId": 0, "name": "string" }, "task": { "taskId": 0, "name": "string" }, "dsarId": "string", "dsarDetails": { }, "due": "2019-08-24T14:15:22Z", "created": "2019-08-24T14:15:22Z", "status": "string", "internalNotes": "string", "requestStatus": "string", "requestType": "string", "completionType": "string" } ], "next": "string" } ``` ``` -------------------------------- ### Initialize ConsentUiBuilder in Swift Source: https://developers.osano.com/cmp/mobile-sdks/ios/introduction Initialize the ConsentUiBuilder with basic parameters. Optional parameters like storagePolicyHref and languageCode can be provided. ```swift let consentUiBuilder = ConsentUiBuilder( storagePolicyHref: nil, additionalLinkHref: nil, languageCode: nil, consentManager: consentManager, hideDisclosures: true ) ``` -------------------------------- ### GET /v1/data-stores/{dataStoreId}/fields Source: https://developers.osano.com/customer-rest-api Retrieves a list of fields for a specific data store. ```APIDOC ## GET /v1/data-stores/{dataStoreId}/fields ### Description Retrieves a list of fields for a specific data store. ### Method GET ### Endpoint https://api.osano.com/v1/data-stores/{dataStoreId}/fields ### Parameters #### Path Parameters - **dataStoreId** (string) - Required - The identifier of the Data Store being queried. ### Response #### Success Response (200) - **items** (array) - A list of field objects. - **fieldId** (integer) - The ID of the field. - **name** (string) - The name of the field. - **path** (string) - The path to the field. - **classification** (string) - The classification of the field. - **created** (string) - The date and time the field was created (ISO-8601 format). - **next** (string) - A token for paginating to the next set of results. #### Response Example ```json { "items": [ { "fieldId": 0, "name": "string", "path": "string", "classification": "string", "created": "2019-08-24T14:15:22Z" } ], "next": "string" } ``` ``` -------------------------------- ### Initialize ConsentManager in Swift Source: https://developers.osano.com/cmp/mobile-sdks/ios/introduction Instantiate the ConsentManager with your customer and configuration IDs. The `extUsrData` parameter is optional but required for cross-device consent. The completion handler is called upon successful initialization. ```swift import ConsentSDK // ... let consentManager = ConsentManager( customerId: "my_customer_id", configId: "my_config_id", consentingDomain: "my.consenting.domain", extUsrData: "my_user_data"){ error in if let error = error { print("Initialization failed with error: (error)") } else { print("ConsentManager initialized successfully") } } ``` -------------------------------- ### GET /v1/subject-rights/requests Source: https://developers.osano.com/customer-rest-api Retrieves a list of Subject Rights Requests with filtering and pagination options. ```APIDOC ## GET /v1/subject-rights/requests ### Description Retrieves a list of Subject Rights Requests with filtering and pagination options. ### Method GET ### Endpoint https://api.osano.com/v1/subject-rights/requests ### Parameters #### Query Parameters - **limit** (integer) - Optional - The number of items to return. Default: 100. Max: 500. - **next** (string) - Optional - The pagination token from the previous request. - **after** (string) - Optional - Specify UTC date and time in ISO-8601 format (e.g. 2021-01-01T00:00:00Z) to filter items created after this date. - **source** (string) - Optional - Source filter for the request. Must be one of API, CMP, CSV, EMAIL_INTAKE, or WEB. - **status** (string) - Optional - Status filter for the request. Must be one of PENDING_EMAIL_VERIFICATION, PENDING_IDENTITY_VERIFICATION, IN_PROGRESS, IN_REVIEW, PENDING_APPEAL, COMPLETED, REJECTED, or REJECTED_AUTO. - **requestType** (string) - Optional - Request type filter for the request. Must be one of DELETE, CORRECT, SUMMARIZE, DO_NOT_SELL, OPT_OUT, LIMIT_USE, OTHER, PORTABILITY, or CUSTOM_[1-5]. - **formId** (integer) - Optional - Form identifier through which the Subject Rights Request was made. ### Response #### Success Response (200) - **items** (array) - List of Subject Rights Requests. - **dsarId** (string) - The identifier of the request. - **status** (string) - The current status of the request. - **requestType** (string) - The type of the request. - **requestSource** (string) - The source of the request. - **notes** (string) - Additional notes about the request. - **dsarDetails** (object) - Details of the data subject. - **due** (string) - The due date for the request in ISO-8601 format. - **created** (string) - The creation date of the request in ISO-8601 format. - **form** (object) - Information about the form used for the request. - **formId** (integer) - The identifier of the form. - **formName** (string) - The name of the form. - **next** (string) - The pagination token for the next page of results. #### Response Example (200) ```json { "items": [ { "dsarId": "string", "status": "string", "requestType": "string", "requestSource": "string", "notes": "string", "dsarDetails": { }, "due": "2019-08-24T14:15:22Z", "created": "2019-08-24T14:15:22Z", "form": { "formId": 0, "formName": "string" } } ], "next": "string" } ``` #### Error Response (400) Bad Request ``` -------------------------------- ### Initialize ConsentUiBuilder with Color Overrides in Swift Source: https://developers.osano.com/cmp/mobile-sdks/ios/introduction Initialize the ConsentUiBuilder with extensive color customization options. If values are omitted, defaults from the Osano website configuration are used. ```swift let consentUiBuilder = ConsentUiBuilder( linkColor: nil, toggleButtonOnColor: nil, toggleOnBackgroundColor: nil, toggleButtonOffColor: nil, toggleOffBackgroundColor: nil, buttonBackgroundColor: nil, buttonForegroundColor: nil, dialogBackgroundColor: nil, dialogForegroundColor: nil, buttonDenyBackgroundColor: nil, buttonDenyForegroundColor: nil, infoDialogBackgroundColor: nil, infoDialogForegroundColor: nil, infoDialogOverlayColor: nil, storagePolicyHref: nil, languageCode: nil, consentManager: consentManager, hideDisclosures: true ) ``` -------------------------------- ### GET /api/profiles/:id Source: https://developers.osano.com/integrations/data-discovery-integrations/klaviyo Used for data discovery to retrieve a specific profile by its ID. ```APIDOC ## GET /api/profiles/:id ### Description Used for data discovery to retrieve a specific profile by its ID. ### Method GET ### Endpoint `https://a.klaviyo.com/api/profiles/:id` ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the profile to retrieve. ``` -------------------------------- ### Initialize ConsentManager in Objective-C Source: https://developers.osano.com/cmp/mobile-sdks/ios/introduction Instantiate the ConsentManager with your customer and configuration IDs. The `extUsrData` parameter is optional but required for cross-device consent. The completion handler is called upon successful initialization. ```objectivec @import ConsentSDK; // ... self.consentManager = [[ConsentManager alloc] initWithCustomerId: @"my_customer_id" configId: @"my_config_id" consentingDomain: @"my.consenting.domain" extUsrData: @"my_user_data" completion: ^(NSError * _Nullable error) { if (error) { NSLog(@"Initialization failed with error: %@", error); } else { NSLog(@"ConsentManager initialized"); } } ]; ``` -------------------------------- ### GET Agents Source: https://developers.osano.com/integrations/data-discovery-integrations/freshdesk Retrieves a list of agents from Freshdesk. This endpoint is used for data discovery. ```APIDOC ## GET Agents ### Description Retrieves a list of all agents available in Freshdesk. This endpoint is part of the data discovery functionality. ### Method GET ### Endpoint `https://subdomain.freshdesk.com/api/v2/agents` ### Query Parameters None ### Request Body None ### Response #### Success Response (200) - **agents** (array) - A list of agent objects. - **id** (integer) - The unique identifier for the agent. - **email** (string) - The email address of the agent. - **name** (string) - The name of the agent. #### Response Example ```json { "agents": [ { "id": 67890, "email": "agent.smith@example.com", "name": "Agent Smith" } ] } ``` ``` -------------------------------- ### ConsentManager Initialization Source: https://developers.osano.com/cmp/mobile-sdks/react-native/introduction Initialize the Osano ConsentSDK by creating an instance of the Osano object with your customer and configuration IDs. This object holds the general configuration parameters for the SDK. ```APIDOC ## Osano ConsentSDK Initialization ### Description Initialize the Osano ConsentSDK for React Native by providing your `customerId` and `configId`. This component manages consent preferences and integrates with the Osano Consent Management Platform. ### Method Component Rendering ### Endpoint N/A (Client-side SDK) ### Parameters #### Props - **customerId** (string) - Required - Your Osano customer ID. - **configId** (string) - Required - The ID of your published Cookie Consent configuration. - **hideDisclosures** (boolean) - Optional - Whether to hide disclosures. - **onConfigLoadSuccess** (function) - Optional - Callback for successful configuration load. - **onConfigLoadFailure** (function) - Optional - Callback for failed configuration load. - **onLangLoadSuccess** (function) - Optional - Callback for successful language load. - **onLangLoadFailure** (function) - Optional - Callback for failed language load. - **setLoggingEnabled** (boolean) - Optional - Enable or disable logging (typically used for development). - **overrides** (object) - Optional - Object for overriding flavor, locale, and palette. - **flavor** (string) - Optional - Override the flavor of the UI. - **locale** (string) - Optional - Override the locale of the UI. - **palette** (object) - Optional - Override the color palette of the UI. - **extUsrData** (string) - Optional - An external user identifier for cross-device consent tracking. Do not use PII. Required for cross-device consent. ### Request Example ```jsx