---
title: "Using Integration User Account"
date: "2024-05-02T06:13:15+00:00"
summary: "Streamline API integration for CDP data engineers. Learn to test and push email events from ESP, with step-by-step guidance on setup and validation."
image:
type: "page"
url: "/customer-data-platform/using-integration-user-account"
id: "18cc9a4c-a5f5-45f1-9647-1f8ee1adb9fc"
---

This page provides information about the Integration User Account process for the following scenario:

Data engineers want to upstream various data sources into Customer Data Platform (CDP) through API integration. Their objective is to test and push an initiated payload of email events from the Email Service Provider (ESP) to CDP.

Important considerations
------------------------

The following are the important considerations to manage and configure API integration:

*   **Self-Service Integration:** Manage your mapping configurations through API integration.
    
*   **Extract, Transform, and Load (****ETL) Tool Requirement:** Use an ETL tool to transform your source system schema to match the CDP schema on a one-to-one basis. This is crucial as the API requires a consistent object format for upstream requests.
    
*   **Scheduling and Ingestion:** This feature does not support self-service functionality. To schedule the integration, contact Acquia Professional Services.
    

When developing a fully automated solution and streamlining the process, see the [API policy](/customer-data-platform/api-policy "API Policy") page to ensure the successful construction of your automated framework.

Checklist for testing and pushing a payload of email events
-----------------------------------------------------------

Use the following checklist to test and push a payload of email events from an ESP to CDP:

S.No.

Task

1

[Create a user role through a DW Tracker instance](/node/56981/#section-creating-a-dw-tracker-instance)

2

[Create a user role through Postman](/node/57431/#section-creating-a-user-role-through-postman)

3

[Initiate your payload test](#section-initiating-a-payload-test)

Initiating a payload test
-------------------------

1.  Set up Payload Push in Postman with the following steps:
    1.  [Set up Postman](/customer-data-platform/api-authentication-mechanism#set-up-postman "API Authentication Mechanism").
    2.  Click **Add folder** to create a new folder for Payload.
        
        ![cdp_integration-acc-add-folder.png](https://acquia.widen.net/content/89c94f69-82ce-4a19-ad47-c2da1a3eaa71/web/cdp_integration-acc-add-folder.png?h=480&itok=59ZyWV8V)
        
    3.  In **Name**, enter **All Types of Scenarios.**
    4.  Create a request to `POST`.
    5.  In **Name**, enter **Scenario 1 - Pushing an email event.**
    6.  Click **Params.**
    7.  Select **Key** as **scheme** and **Value** as **a1user**.
        
        ![cdp_integration-acc-params.png](https://acquia.widen.net/content/b1d9cd25-f84e-4003-b369-2ded63001e06/web/cdp_integration-acc-params.png)
        
        Post URL: `https://api7-green.agilone.com/v2/*TENANTID*/dw/tracker?scheme=a1user`.
        
        The following are the URL parameters:
        
        **Cloud Region**
        
        URL Endpoint
        
        **Parameter Description**
        
        AWS
        
        api7-green.agilone.com/v2
        
        *   `api7-green` indicates the AWS service endpoint to upload data to the DW tracker.
            
        *   `/v2` indicates the version of the API.
            
        *   `*TenantID` indicates the path numerical identifier correlating to the tenant ID for accessing the account.
            
        *   `/dw/tracker` indicates the path to the data warehouse (dw) that points towards a service named _tracker._
            
        *   `scheme=a1user` indicates the authentication or authorization scheme to be used. The indication to the server that the request is made under the A1User scheme may affect how the token is generated or the permissions associated with it.
            
        
    8.  Click the **Authorization** tab and select the **Type** as **Bearer Token.**
    9.  Add the token you want to extend.
    10.  Click the **Headers** tab.
         
    11.  Add **Key** as **Content-Type** and **Value** as **application/json**.
         
2.  Set up Body Payload in Postman with the following steps:
    1.  Click **Body**.
        
        ![cdp_integration-acc-body.png](https://acquia.widen.net/content/36dcb853-68f0-4f10-bd4e-339df94203fd/web/cdp_integration-acc-body.png)
        
        The following is the sample code:
        
            {
                "events":[
                    {
                      "SourceSystemID":"Responsys",
                      "Type":"emailClick",
                      "Cookie": "a1cookie",
                      "SourceCustomerNumber":"6952E515-B67C-CB1B-3B21-58367BEC1CA2",
                      "TenantId":"1232",
                      "Email":"user1@acquia.com",
                      "EventTimeStamp":{{epochVariable}},
                      "SourceMessageNumber":"PT-2022041102" 
                    }  
                ],
                "Customers":[
                    {
                      "SourceSystemID":"Responsys",
               "SourceCustomerNumber":"6952E515-B67C-CB1B-3B21-58367BEC1CA2",
                      "Email":"user1@acquia.com",
                      "FirstName":"Brook",
                      "LastName":"Blake",
                      "BirthDay":"27",
                      "BirthMonth":"03",
                      "DoNotEmail":"N",
                      "DoNotCall":"Y",
                      "DoNotText":"N",
                      "DoNotMail":"Y",
                      "EmailStatus":"valid",
                      "MobilePhone":"3172722349",
                      "PrimaryPhone":"3172722349"
                      }
                ]
                      
            }
        
    2.  Click **Pre-request Script** and add the provided Postman script.
        
        The system populates the current epoch date as {{epochVariable}}. For example:
        
            function epoch (date) {
              pm.collectionVariables.set("epochVariable", Date.parse(date))
                  console.log(pm.collectionVariables.get("epochVariable"))
            }
            const dateToday = new Date() 
            const timestamp = epoch(dateToday)
        
        The `EventTimeStamp` object contains the date and time when the payload is pushed to CDP.
        
        ![cdp_integration-acc-pre-req-script.png](https://acquia.widen.net/content/ed49ebc0-a647-4c93-bfd7-04bafeefc7c3/web/cdp_integration-acc-pre-req-script.png)
        
    3.  Click **Save** and click **Send.**
        
        For successful requests, Postman displays **Status: 200 OK**.
        

Validating data in CDP
----------------------

Note

Ensure that you have the necessary add-on subscription for Interactive Queries.

Use the following procedure to validate data integration in CDP:

1.  [Sign in to your CDP user interface](https://docs.acquia.com/customer-data-platform/docs/profiles-and-data-unification/getting-started/signin-cdp.html).
2.  Navigate to **Interactive Queries** > **Queries**.
3.  Click **Create** to initiate a new query.
4.  In the left panel, check the list of entities.
    
    This list enables API data validation through entities starting with `zone.datavalidation.dw_batch_<name entity>`.
    

### Querying entities

Query each entity individually or combine them based on the validation requirements.

**Example**: Querying individual batch entities

    -- Customer entity
    SELECT * 
    FROM zone_datavalidation.dw_batch_customer;
    -- Event entity
    SELECT * 
    FROM zone_datavalidation.dw_batch_event;

**Example:** Combining batch entities

    SELECT *
    FROM zone_datavalidation.dw_batch_customer AS c
    LEFT JOIN zone_datavalidation.dw_batch_event AS e
      ON c.customer_id = e.customer_id;  -- Replace with the actual join key

Users create a view based on the entities and validations necessary for reviewing the dataset from the API integration.

Refer to [CDP referential integrity IDs](https://docs.acquia.com/customer-data-platform/docs/integration-and-data-collection/data-mapping/cdp-referential-integrity-ids) to understand the primary key relationships used for table joins. This step helps to validate how entity fields align with [upstream data mappings](https://docs.acquia.com/customer-data-platform/docs/integration-and-data-collection/data-mapping/upstream-data-mapping).

Expand the test folders
-----------------------

The following are the reasons to expand the test folders:

*   As more integrations are developed, conduct POST test payloads in Postman to ensure that requests are correctly functioning, and payloads, objects, and values are properly landing in CDP.
    
*   When you use Postman for testing, it serves as a valuable troubleshooting tool for future integrations. By conducting simple payload tests to check responses or other factors, you can quickly identify and address any issues that may arise.
    
*   Postman provides an intuitive platform for testing our API with your various source system payloads. By successfully conducting these tests, you gain a better understanding of the structural aspects of the API integration.