Het eindpunt van descriptors
De schema's bepalen een statische mening van gegevensentiteiten, maar verstrekken geen specifieke details over hoe gegevens die op deze regelingen (datasets, bijvoorbeeld) worden gebaseerd op elkaar kunnen betrekking hebben. Met Adobe Experience Platform kunt u deze relaties en andere interpreterende metagegevens over een schema beschrijven aan de hand van beschrijvingen.
De beschrijvers van het schema zijn huurdersvlakke meta-gegevens, betekenend zij aan uw organisatie uniek zijn en alle beschrijvingsverrichtingen vinden in de huurderscontainer plaats.
Op elk schema kunnen een of meer schemabeschrijvingsentiteiten zijn toegepast. Elke schemadescriptorentiteit bevat een descriptor @type
en de sourceSchema
waarop zij van toepassing is. Zodra toegepast, zullen deze beschrijvers op alle datasets van toepassing zijn die gebruikend het schema worden gecreeerd.
De /descriptors
in de Schema Registry Met API kunt u beschrijvingen programmatisch beheren binnen uw ervaringstoepassing.
Aan de slag
Het eindpunt dat in deze handleiding wordt gebruikt, maakt deel uit van de Schema Registry API. Controleer voordat je doorgaat de gids Aan de slag voor verbindingen aan verwante documentatie, een gids aan lezing de steekproefAPI vraag in dit document, en belangrijke informatie betreffende vereiste kopballen die nodig zijn om met succes vraag aan om het even welk Experience Platform API te maken.
Een lijst met descriptoren ophalen list
U kunt alle beschrijvingen weergeven die door uw organisatie zijn gedefinieerd door een GET-aanvraag in te dienen bij /tenant/descriptors
.
API-indeling
GET /tenant/descriptors
Verzoek
curl -X GET \
https://platform.adobe.io/data/foundation/schemaregistry/tenant/descriptors \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Accept: application/vnd.adobe.xdm-link+json'
De responsindeling is afhankelijk van Accept
in de aanvraag verzonden. Let erop dat de /descriptors
eindpuntgebruik Accept
kopteksten die verschillen van alle andere eindpunten in het deelvenster Schema Registry API.
Accept
kopteksten die vervangen xed
with xdm
en biedt tevens een link
-optie die uniek is voor beschrijvingen. De juiste Accept
De kopballen zijn inbegrepen in de voorbeelden roepen hieronder, maar neem extra voorzichtigheid in acht om ervoor te zorgen dat de correcte kopballen wanneer het werken met beschrijvers worden gebruikt.Accept
headerapplication/vnd.adobe.xdm-id+json
application/vnd.adobe.xdm-link+json
application/vnd.adobe.xdm+json
application/vnd.adobe.xdm-v2+json
Accept
header moet worden gebruikt om pagineringsmogelijkheden te gebruiken.Antwoord
Het antwoord bevat een array voor elk beschrijvende type waarvoor beschrijvingen zijn gedefinieerd. Met andere woorden, als er geen beschrijvingen zijn van een bepaalde @type
gedefinieerd, retourneert het register geen lege array voor dat descriptortype.
Wanneer u de opdracht link
Accept
header, wordt elke descriptor weergegeven als een arrayitem in de indeling /{CONTAINER}/descriptors/{DESCRIPTOR_ID}
{
"xdm:alternateDisplayInfo": [
"/tenant/descriptors/85dc1bc8b91516ac41163365318e38a9f1e4f351",
"/tenant/descriptors/49bd5abb5a1310ee80ebc1848eb508d383a462cf",
"/tenant/descriptors/b3b3e548f1c653326bcf5459ceac4140fc0b9e08"
],
"xdm:descriptorIdentity": [
"/tenant/descriptors/f7a4bc25429496c4740f8f9a7a49ba96862c5379"
],
"xdm:descriptorOneToOne": [
"/tenant/descriptors/cb509fd6f8ab6304e346905441a34b58a0cd481a"
]
}
Een descriptor opzoeken lookup
Als u de details van een specifieke descriptor wilt weergeven, kunt u een afzonderlijke descriptor opzoeken (GET) met behulp van de bijbehorende @id
.
API-indeling
GET /tenant/descriptors/{DESCRIPTOR_ID}
{DESCRIPTOR_ID}
@id
van de descriptor die u wilt opzoeken.Verzoek
Het volgende verzoek haalt een beschrijver door zijn terug @id
waarde. Er is geen versienummer voor de descriptors en daarom is er geen Accept
header is vereist in het opzoekverzoek.
curl -X GET \
https://platform.adobe.io/data/foundation/schemaregistry/tenant/descriptors/f3a1dfa38a4871cf4442a33074c1f9406a593407 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Antwoord
Een succesvol antwoord retourneert de details van de descriptor, inclusief zijn @type
en sourceSchema
en aanvullende informatie die afhankelijk is van het type descriptor. De geretourneerde @id
moet overeenkomen met de descriptor @id
die in het verzoek worden verstrekt.
{
"@type": "xdm:descriptorIdentity",
"xdm:sourceSchema": "https://ns.adobe.com/{TENANT_ID}/schemas/fbc52b243d04b5d4f41eaa72a8ba58be",
"xdm:sourceVersion": 1,
"xdm:sourceProperty": "/personalEmail/address",
"xdm:namespace": "Email",
"xdm:property": "xdm:code",
"xdm:isPrimary": false,
"createdUser": "{CREATED_USER}",
"imsOrg": "{ORG_ID}",
"createdClient": "{CREATED_CLIENT}",
"updatedUser": "{UPDATED_USER}",
"created": 1548899346989,
"updated": 1548899346989,
"meta:containerId": "tenant",
"@id": "f3a1dfa38a4871cf4442a33074c1f9406a593407"
}
Een descriptor maken create
U kunt een nieuwe descriptor maken door een POST aan te vragen bij de /tenant/descriptors
eindpunt.
API-indeling
POST /tenant/descriptors
Verzoek
In het volgende verzoek wordt een identiteitsbeschrijving gedefinieerd in een veld "E-mailadres" in een voorbeeldschema. Dit vertelt Experience Platform om het e-mailadres te gebruiken als id om informatie over het individu te koppelen.
curl -X POST \
https://platform.adobe.io/data/foundation/schemaregistry/tenant/descriptors \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '
{
"@type": "xdm:descriptorIdentity",
"xdm:sourceSchema": "https://ns.adobe.com/{TENANT_ID}/schemas/fbc52b243d04b5d4f41eaa72a8ba58be",
"xdm:sourceVersion": 1,
"xdm:sourceProperty": "/personalEmail/address",
"xdm:namespace": "Email",
"xdm:property": "xdm:code",
"xdm:isPrimary": false
}'
Antwoord
Een geslaagde reactie retourneert HTTP-status 201 (Gemaakt) en de details van de nieuwe descriptor, inclusief de bijbehorende @id
. De @id
is een alleen-lezen veld dat is toegewezen door de Schema Registry en wordt gebruikt voor het verwijzen naar de descriptor in de API.
{
"@type": "xdm:descriptorIdentity",
"xdm:sourceSchema": "https://ns.adobe.com/{TENANT_ID}/schemas/fbc52b243d04b5d4f41eaa72a8ba58be",
"xdm:sourceVersion": 1,
"xdm:sourceProperty": "/personalEmail/address",
"xdm:namespace": "Email",
"xdm:property": "xdm:code",
"xdm:isPrimary": false,
"meta:containerId": "tenant",
"@id": "f3a1dfa38a4871cf4442a33074c1f9406a593407"
}
Een descriptor bijwerken put
U kunt een descriptor bijwerken door de bijbehorende @id
in de weg van een verzoek van de PUT.
API-indeling
PUT /tenant/descriptors/{DESCRIPTOR_ID}
{DESCRIPTOR_ID}
@id
van de descriptor die u wilt bijwerken.Verzoek
Met dit verzoek wordt in feite de descriptor herschreven, zodat de aanvraaginstantie alle velden moet bevatten die vereist zijn voor het definiëren van een descriptor van dat type. Met andere woorden, de aanvraaglading om (PUT) een beschrijver bij te werken is het zelfde als nuttige lading aan een descriptor maken (POST) van hetzelfde type.
In het volgende voorbeeld wordt een identiteitsdescriptor bijgewerkt om naar een ander voorbeeld te verwijzen xdm:sourceProperty
(mobile phone
) en wijzigt de xdm:namespace
tot Phone
.
curl -X PUT \
https://platform.adobe.io/data/foundation/schemaregistry/tenant/descriptors/f3a1dfa38a4871cf4442a33074c1f9406a593407 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '{
"@type": "xdm:descriptorIdentity",
"xdm:sourceSchema": "https://ns.adobe.com/{TENANT_ID}/schemas/fbc52b243d04b5d4f41eaa72a8ba58be",
"xdm:sourceVersion": 1,
"xdm:sourceProperty": "/mobilePhone/number",
"xdm:namespace": "Phone",
"xdm:property": "xdm:code",
"xdm:isPrimary": false
}'
Antwoord
Een geslaagde reactie retourneert de HTTP-status 201 (Gemaakt) en de @id
van de bijgewerkte descriptor (die moet overeenkomen met de @id
verzonden in het verzoek).
{
"@id": "f3a1dfa38a4871cf4442a33074c1f9406a593407"
}
Een opzoekverzoek (GET) om de beschrijver te bekijken toont aan dat de gebieden nu zijn bijgewerkt om op de veranderingen te wijzen die in het verzoek van de PUT worden verzonden.
Een descriptor verwijderen delete
Soms moet u een descriptor die u hebt gedefinieerd, verwijderen uit het dialoogvenster Schema Registry. Dit wordt gedaan door een verzoek van DELETE te doen van verwijzingen voorzien @id
van de beschrijving die u wilt verwijderen.
API-indeling
DELETE /tenant/descriptors/{DESCRIPTOR_ID}
{DESCRIPTOR_ID}
@id
van de descriptor die u wilt verwijderen.Verzoek
curl -X DELETE \
https://platform.adobe.io/data/foundation/schemaregistry/tenant/descriptors/ca921946fb5281cbdb8ba5e07087486ce531a1f2 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Antwoord
Een geslaagde reactie retourneert HTTP-status 204 (Geen inhoud) en een lege hoofdtekst.
Om te bevestigen dat de beschrijving is verwijderd, kunt u een opzoekverzoek tegen de descriptor @id
. De reactie retourneert HTTP-status 404 (Niet gevonden) omdat de descriptor is verwijderd uit het dialoogvenster Schema Registry.
Bijlage
In de volgende sectie vindt u aanvullende informatie over het werken met descriptoren in de Schema Registry API.
descriptoren definiëren defining-descriptors
In de volgende secties vindt u een overzicht van de beschikbare descriptortypen, inclusief de vereiste velden voor het definiëren van een descriptor voor elk type.
Identiteitsbeschrijving
Een identiteitsbeschrijver signaleert dat "sourceProperty" van de "sourceSchema" is een Identity veld zoals beschreven door Adobe Experience Platform Identity Service.
{
"@type": "xdm:descriptorIdentity",
"xdm:sourceSchema":
"https://ns.adobe.com/{TENANT_ID}/schemas/fbc52b243d04b5d4f41eaa72a8ba58be",
"xdm:sourceVersion": 1,
"xdm:sourceProperty": "/personalEmail/address",
"xdm:namespace": "Email",
"xdm:property": "xdm:code",
"xdm:isPrimary": false
}
@type
xdm:descriptorIdentity
.xdm:sourceSchema
$id
URI van het schema waarin de descriptor wordt gedefinieerd.xdm:sourceVersion
xdm:sourceProperty
xdm:namespace
id
of code
waarde van de naamruimte identity. Een lijst met naamruimten vindt u in het dialoogvenster Identity Service API.xdm:property
xdm:id
of xdm:code
, afhankelijk van de xdm:namespace
gebruikt.xdm:isPrimary
Beschrijvende naam friendly-name
Met beschrijvingen van familienaam kan een gebruiker de title
, description
, en meta:enum
waarden van de kernvelden van het bibliotheekschema. Dit is vooral handig wanneer u werkt met "eVars" en andere "generieke" velden die u wilt labelen voor informatie die specifiek is voor uw organisatie. De gebruikersinterface kan deze gebruiken om een vriendelijkere naam weer te geven of om alleen velden weer te geven die een vriendelijke naam hebben.
{
"@type": "xdm:alternateDisplayInfo",
"xdm:sourceSchema": "https://ns.adobe.com/{TENANT_ID}/schemas/274f17bc5807ff307a046bab1489fb18",
"xdm:sourceVersion": 1,
"xdm:sourceProperty": "/xdm:eventType",
"xdm:title": {
"en_us": "Event Type"
},
"xdm:description": {
"en_us": "The type of experience event detected by the system."
},
"meta:enum": {
"click": "Mouse Click",
"addCart": "Add to Cart",
"checkout": "Cart Checkout"
},
"xdm:excludeMetaEnum": {
"web.formFilledOut": "Web Form Filled Out",
"media.ping": "Media ping"
}
}
@type
xdm:alternateDisplayInfo
.xdm:sourceSchema
$id
URI van het schema waarin de descriptor wordt gedefinieerd.xdm:sourceVersion
xdm:sourceProperty
/
) en niet met één. Niet opnemen properties
in het pad (bijvoorbeeld /personalEmail/address
in plaats van /properties/personalEmail/properties/address
).xdm:title
xdm:description
meta:enum
xdm:sourceProperty
is een tekenreeksveld, meta:enum
U kunt voorgestelde waarden toevoegen voor het veld in de Segmenteringsinterface. Het is belangrijk op te merken dat meta:enum
declareert geen opsomming of biedt geen gegevensvalidatie voor het XDM-veld.Deze mag alleen worden gebruikt voor de belangrijkste XDM-velden die door Adobe worden gedefinieerd. Als de broneigenschap een aangepast veld is dat door uw organisatie is gedefinieerd, moet u in plaats daarvan de veldcode
meta:enum
rechtstreeks via een PATCH-verzoek aan de bovenliggende bron van het veld.meta:excludeMetaEnum
xdm:sourceProperty
is een tekenreeksveld met bestaande voorgestelde waarden die zijn opgegeven onder een meta:enum
kunt u dit object opnemen in een beschrijvingsbestand voor vriendelijke namen om sommige of al deze waarden van segmentatie uit te sluiten. De sleutel en de waarde voor elk item moeten overeenkomen met die in het origineel meta:enum
van het veld om de vermelding uit te sluiten.Relatiebeschrijving
Relatiebeschrijvingen beschrijven een relatie tussen twee verschillende schema's, die worden vastgehouden op de eigenschappen die worden beschreven in sourceProperty
en destinationProperty
. Zie de zelfstudie aan het bepalen van een verband tussen twee schema's voor meer informatie .
{
"@type": "xdm:descriptorOneToOne",
"xdm:sourceSchema":
"https://ns.adobe.com/{TENANT_ID}/schemas/fbc52b243d04b5d4f41eaa72a8ba58be",
"xdm:sourceVersion": 1,
"xdm:sourceProperty": "/parentField/subField",
"xdm:destinationSchema":
"https://ns.adobe.com/{TENANT_ID}/schemas/78bab6346b9c5102b60591e15e75d254",
"xdm:destinationVersion": 1,
"xdm:destinationProperty": "/parentField/subField"
}
@type
xdm:descriptorOneToOne
.xdm:sourceSchema
$id
URI van het schema waarin de descriptor wordt gedefinieerd.xdm:sourceVersion
xdm:sourceProperty
xdm:destinationSchema
$id
URI of the reference schema this descriptor is define a relationship with.xdm:destinationVersion
xdm:destinationProperty
Referentie-identiteitsdescriptor
De identiteitsbeschrijvers van de verwijzing verstrekken een verwijzingscontext aan de primaire identiteit van een schemagebied, toelatend het om door gebieden in andere schema's worden van verwijzingen voorzien. In het referentieschema moet al een primair identiteitsveld zijn gedefinieerd voordat naar het kan worden verwezen door andere schema's via dit beschrijvingsbestand.
{
"@type": "xdm:descriptorReferenceIdentity",
"xdm:sourceSchema": "https://ns.adobe.com/{TENANT_ID}/schemas/78bab6346b9c5102b60591e15e75d254",
"xdm:sourceVersion": 1,
"xdm:sourceProperty": "/parentField/subField",
"xdm:identityNamespace": "Email"
}
@type
xdm:descriptorReferenceIdentity
.xdm:sourceSchema
$id
URI van het schema waarin de descriptor wordt gedefinieerd.xdm:sourceVersion
xdm:sourceProperty
/personalEmail/address
in plaats van /properties/personalEmail/properties/address
).xdm:identityNamespace
Vervangen velddescriptor
U kunt een veld binnen een aangepaste XDM-bron vervangen door een meta:status
kenmerk ingesteld op deprecated
op het betrokken gebied. Als u velden die worden verschaft door standaard XDM-bronnen in uw schema's wilt vervangen, kunt u echter een vervangen velddescriptor toewijzen aan het desbetreffende schema om hetzelfde effect te bereiken. Met de correct Accept
headerkunt u vervolgens bekijken welke standaardvelden zijn vervangen voor een schema wanneer u het opzoekt in de API.
{
"@type": "xdm:descriptorDeprecated",
"xdm:sourceSchema": "https://ns.adobe.com/{TENANT_ID}/schemas/c65ddf08cf2d4a2fe94bd06113bf4bc4c855e12a936410d5",
"xdm:sourceVersion": 1,
"xdm:sourceProperty": "/faxPhone"
}
@type
xdm:descriptorDeprecated
.xdm:sourceSchema
$id
van het schema waarop u de descriptor toepast.xdm:sourceVersion
1
.xdm:sourceProperty
["/firstName", "/lastName"]
).