B2B namespaces and schemas

NOTE
You can use templates in the Adobe Experience Platform UI to expedite your asset creation for B2B and B2C data. For more information, read the guide on using templates in Platform UI.

This document provides information on the underlying set up for the namespaces and schemas to be used with B2B sources. This document also provides details around setting up your Postman automation utility required for generating B2B namespaces and schemas.

IMPORTANT
You must have access to Adobe Real-Time Customer Data Platform B2B Edition in order for B2B schemas to participate in Real-Time Customer Profile.

Set up B2B namespaces and schema auto-generation utility

The first step in using the B2B namespace and schema auto-generation utility is to set up your Platform developer console and Postman environment.

With a Platform developer console and Postman set up, you can now start applying the appropriate environment values to your Postman environment.

The following table contains example values as well as additional information on populating your Postman environment:

Variable
Description
Example
CLIENT_SECRET
A unique identifier used to generate your {ACCESS_TOKEN}. See the tutorial on authenticating and accessing Experience Platform APIs for information on how to retrieve your {CLIENT_SECRET}.
{CLIENT_SECRET}
JWT_TOKEN
The JSON Web Token (JWT) is an authentication credential used to generate your {ACCESS_TOKEN}. See the tutorial on authenticating and accessing Experience Platform APIs for information on how to generate your {JWT_TOKEN}.
{JWT_TOKEN}
API_KEY
A unique identifier used to authenticate calls to Experience Platform APIs. See the tutorial on authenticating and accessing Experience Platform APIs for information on how to retrieve your {API_KEY}.
c8d9a2f5c1e03789bd22e8efdd1bdc1b
ACCESS_TOKEN
The authorization token required to complete calls to Experience Platform APIs. See the tutorial on authenticating and accessing Experience Platform APIs for information on how to retrieve your {ACCESS_TOKEN}.
Bearer {ACCESS_TOKEN}
META_SCOPE
With regards to Marketo, this value is fixed and is alway set to: ent_dataservices_sdk.
ent_dataservices_sdk
CONTAINER_ID
The global container holds all standard Adobe and Experience Platform partner provided classes, schema field groups, data types, and schemas. With regards to Marketo, this value is fixed and is always set to global.
global
PRIVATE_KEY
A credential used to authenticate your Postman instance to Experience Platform APIs. See the tutorial on setting up developer console and setting up developer console and Postman for instructions on how to retrieve your {PRIVATE_KEY}.
{PRIVATE_KEY}
TECHNICAL_ACCOUNT_ID
A credential used to integrate to Adobe I/O.
D42AEVJZTTJC6LZADUBVPA15@techacct.adobe.com
IMS
The Identity Management System (IMS) provides the framework for authentication to Adobe services. With regards to Marketo, this value is fixed and is always set to: ims-na1.adobelogin.com.
ims-na1.adobelogin.com
IMS_ORG
A corporate entity that can own or license products and services and allow access to its members. See the tutorial on setting up developer console and Postman for instructions on how to retrieve your {ORG_ID} information.
ABCEH0D9KX6A7WA7ATQE0TE@adobeOrg
SANDBOX_NAME
The name of the virtual sandbox partition that you are using.
prod
TENANT_ID
An ID used to ensure that the resources you create are namespaced properly and are contained within your organization.
b2bcdpproductiontest
PLATFORM_URL
The URL endpoint that you are making API calls to. This value is fixed and is always set to: http://platform.adobe.io/.
http://platform.adobe.io/

Running the scripts

With your Postman collection and environment set up, you can now run the script through the Postman interface.

In the Postman interface, select the root folder of the auto-generator utility and then select Run from the top header.

root-folder

The Runner interface appears. From here, ensure that all the checkboxes are selected and then select Run Namespaces and Schemas Autogeneration Utility.

run-generator

A successful request creates the namespaces and schemas required for B2B.

B2B namespaces

Identity namespaces are a component of Identity Service that serve to distinguish the context of an identity. A fully qualified identity includes an identity value and a namespace. Read the namespaces overview for more information.

B2B namespaces are used in the primary identity of the entity.

The following table contains information on the underlying set up for B2B namespaces.

NOTE
Please scroll left/right to view the full contents of the table.
Display Name
Identity Symbol
Identity Type
B2B Person
b2b_person
CROSS_DEVICE
B2B Account
b2b_account
B2B_ACCOUNT
B2B Opportunity
b2b_opportunity
B2B_OPPORTUNITY
B2B Opportunity Person Relation
b2b_opportunity_person_relation
B2B_OPPORTUNITY_PERSON
B2B Campaign
b2b_campaign
B2B_CAMPAIGN
B2B Campaign Member
b2b_campaign_member
B2B_CAMPAIGN_MEMBER
B2B Marketing List
b2b_marketing_list
B2B_MARKETING_LIST
B2B Marketing List Member
b2b_marketing_list_member
B2B_MARKETING_LIST_MEMBER
B2B Account Person Relation
b2b_account_person_relation
B2B_ACCOUNT_PERSON

B2B schemas

Experience Platform uses schemas to describe the structure of data in a consistent and reusable way. By defining data consistently across systems, it becomes easier to retain meaning and therefore gain value from data.

Before data can be ingested into Platform, a schema must be composed to describe the data’s structure and provide constraints to the type of data that can be contained within each field. Schemas consist of a base class and zero or more schema field groups.

For more information on the schema composition model, including design principles and best practices, see the basics of schema composition.

The following table contains information on the underlying setup of B2B schemas.

NOTE
Please scroll left/right to view the full contents of the table.
Schema name
Base class
Field groups
Profile in Schema
Primary identity
Primary identity namespace
Secondary identity
Secondary identity namespace
Relationship
Notes
B2B Account
XDM Business Account
XDM Business Account Details
Enabled
accountKey.sourceKey in the base class
B2B Account
extSourceSystemAudit.externalKey.sourceKey in the base class
B2B Account
  • accountParentKey.sourceKey in XDM Business Account Details field group
  • Destination property: /accountKey/sourceKey
  • Type: one-to-one
  • Reference schema: B2B Account
  • Namespace: B2B Account
B2B Person
XDM Individual Profile
  • XDM Business Person Details
  • XDM Business Person Components
  • IdentityMap
  • Consent and Preference Details
Enabled
b2b.personKey.sourceKey in the XDM Business Person Details Field Group
B2B Person
  1. extSourceSystemAudit.externalKey.sourceKey of XDM Business Person Details field group
  2. workEmail.address of XDM Business Person Details field group
  1. B2B Person
  2. Email
  • personComponents.sourceAccountKey.sourceKey of XDM Business Person Components field group
  • Type: Many-to-one
  • Reference Schema: B2B Account
  • Namespace: B2B Account
  • Destination property: accountKey.sourceKey
  • Relationship name from current schema: Account
  • Relationship name from reference schema: People
B2B Opportunity
XDM Business Opportunity
XDM Business Opportunity Details
Enabled
opportunityKey.sourceKey in the base class
B2B Opportunity
extSourceSystemAudit.externalKey.sourceKey in the base class
B2B Opportunity
  • accountKey.sourceKey in the base class
  • Type: Many-to-one
  • Reference Schema: B2B Account
  • Namespace: B2B Account
  • Destination property: accountKey.sourceKey
  • Relationship name from current schema: Account
  • Relationship name from reference schema: Opportunities
B2B Opportunity Person Relation
XDM Business Opportunity Person Relation
None
Enabled
opportunityPersonKey.sourceKey in the base class
B2B Opportunity Person Relation
extSourceSystemAudit.externalKey.sourceKey in the base class
B2B Opportunity Person Relation

First relationship

  • personKey.sourceKey in the base class
  • Type: Many-to-one
  • Reference Schema: B2B Person
  • Namespace: B2B Person
  • Destination property: b2b.personKey.sourceKey
  • Relationship name from current schema: Person
  • Relationship name from reference schema: Opportunities

Second relationship

  • opportunityKey.sourceKey in the base class
  • Type: Many-to-one
  • Reference Schema: B2B Opportunity
  • Namespace: B2B Opportunity
  • Destination property: opportunityKey.sourceKey
  • Relationship name from current schema: Opportunity
  • Relationship name from reference schema: People
B2B Campaign
XDM Business Campaign
XDM Business Campaign Details
Enabled
campaignKey.sourceKey in the base class
B2B Campaign
extSourceSystemAudit.externalKey.sourceKey in the base class
B2B Campaign
B2B Campaign Member
XDM Business Campaign Members
XDM Business Campaign Member Details
Enabled
ccampaignMemberKey.sourceKey in the base class
B2B Campaign Member
extSourceSystemAudit.externalKey.sourceKey in the base class
B2B Campaign Member

First relationship

  • personKey.sourceKey in the base class
  • Type: Many-to-one
  • Reference Schema: B2B Person
  • Namespace: B2B Person
  • Destination property: b2b.personKey.sourceKey
  • Relationship name from current schema: Person
  • Relationship name from reference schema: Campaigns

Second relationship

  • campaignKey.sourceKey in the base class
  • Type: Many-to-one
  • Reference Schema: B2B Campaign
  • Namespace: B2B Campaign
  • Destination property: campaignKey.sourceKey
  • Relationship name from current schema: Campaign
  • Relationship name from reference schema: People
B2B Marketing List
XDM Business Marketing List
None
Enabled
marketingListKey.sourceKey in the base class
B2B Marketing List
None
None
None
Static List is not synced from Salesforce and therefore does not have a secondary identity.
B2B Marketing List Member
XDM Business Marketing List Members
None
Enabled
marketingListMemberKey.sourceKey in the base class
B2B Marketing List Member
None
None

First relationship

  • PersonKey.sourceKey in the base class
  • Type: Many-to-one
  • Reference Schema: B2B Person
  • Namespace: B2B Person
  • Destination property: b2b.personKey.sourceKey
  • Relationship name from current schema: Person
  • Relationship name from reference schema: Marketing Lists

Second relationship

  • marketingListKey.sourceKey in the base class
  • Type: Many-to-one
  • Reference Schema: B2B Marketing List
  • Namespace: B2B Marketing List
  • Destination property: marketingListKey.sourceKey
  • Relationship name from current schema: Marketing List
  • Relationship name from reference schema: People
Static list member is not synced from Salesforce and therefore does not have a secondary identity.
B2B Activity
XDM ExperienceEvent
  • Visit WebPage
  • New Lead
  • Convert Lead
  • Add To List
  • Remove From List
  • Add To Opportunity
  • Remove From Opportunity
  • Form Filled Out
  • Link Clicks
  • Email Delivered
  • Email Opened
  • Email Clicked
  • Email Bounced
  • Email Bounced Soft
  • Email Unsubscribed
  • Score Changed
  • Opportunity Updated
  • Status in Campaign Progression Changed
  • Person Identifier
  • Marketo Web URL
  • Interesting Moment
  • Call Webhook
  • Change Campaign Cadence
  • Revenue Stage Changed
  • Merge Leads
  • Email Sent
  • Change Campaign Stream
  • Add to Campaign
Enabled
personKey.sourceKey of Person Identifier field group
B2B Person
None
None

First relationship

  • listOperations.listKey.sourceKey field
  • Type: one-to-one
  • Reference Schema: B2B Marketing List
  • Namespace: B2B Marketing List

Second relationship

  • opportunityEvent.opportunityKey.sourceKey field
  • Type: one-to-one
  • Reference Schema: B2B Opportunity
  • Namespace: B2B Opportunity

Third relationship

  • leadOperation.campaignProgression.campaignKey.sourceKey field
  • Type: one-to-one
  • Reference Schema: B2B Campaign
  • Namespace: B2B Campaign
ExperienceEvent is different from entities. The identity of experience event is the person who did the activity.
B2B Account Person Relation
XDM Business Account Person Relation
Identity Map
Enabled
accountPersonKey.sourceKey in the base class
B2B Account Person Relation
None
None

First relationship

  • personKey.sourceKey in the base class
  • Type: Many-to-one
  • Reference Schema: B2B Person
  • Namespace: B2B Person
  • Destination property: b2b.personKey.SourceKey
  • Relationship name from current schema: People
  • Relationship name from reference schema: Account

Second relationship

  • accountKey.sourceKey in the base class
  • Type: Many-to-one
  • Reference Schema: B2B Account
  • Namespace: B2B Account
  • Destination property: accountKey.sourceKey
  • Relationship name from current schema: Account
  • Relationship name from reference schema: People

Next steps

To learn how to connect your Marketo data to Platform, see the tutorial on creating a Marketo source connector in the UI.

recommendation-more-help
337b99bb-92fb-42ae-b6b7-c7042161d089