Segmentação de borda
A segmentação de borda é a capacidade de avaliar definições de segmento no Adobe Experience Platform instantaneamente na borda, permitindo casos de uso de personalização da mesma página e da próxima página.
Introdução
Este guia do desenvolvedor requer uma compreensão funcional dos vários Adobe Experience Platform serviços envolvidos com a segmentação de borda. Antes de iniciar este tutorial, revise a documentação dos seguintes serviços:
- Real-Time Customer Profile: fornece um perfil de consumidor unificado em tempo real, com base em dados agregados de várias fontes.
- Adobe Experience Platform Segmentation Service: permite criar públicos-alvo a partir do Real-Time Customer Profile dados.
- Experience Data Model (XDM): o quadro normalizado pelo qual Platform organiza os dados de experiência do cliente.
Para fazer chamadas com êxito para qualquer ponto de extremidade de API do Experience Platform, leia o manual em introdução às APIs da Platform para saber mais sobre os cabeçalhos necessários e como ler chamadas de API de amostra.
Tipos de consulta de segmentação de borda query-types
Para que um segmento seja avaliado usando a segmentação de borda, a consulta deve estar em conformidade com as seguintes diretrizes:
chain(xEvent, timestamp, [A: WHAT(eventType = "addToCart")])
homeAddress.countryCode = "US"
homeAddress.countryCode = "US" and chain(xEvent, timestamp, [A: WHAT(eventType = "addToCart")])
not(chain(xEvent, timestamp, [A: WHAT(eventType = "homePageView")]))
chain(xEvent, timestamp, [X: WHAT(eventType = "addToCart") WHEN(< 24 hours before now)])
homeAddress.countryCode = "US" and chain(xEvent, timestamp, [X: WHAT(eventType = "addToCart") WHEN(< 24 hours before now)])
homeAddress.countryCode = "US" and not(chain(xEvent, timestamp, [X: WHAT(eventType = "addToCart") WHEN(< 24 hours before now)]))
chain(xEvent, timestamp, [A: WHAT(eventType = "homePageView") WHEN(< 24 hours before now) COUNT(5) ] )
homeAddress.countryCode = "US" and chain(xEvent, timestamp, [A: WHAT(eventType = "homePageView") WHEN(< 24 hours before now) COUNT(5) ] )
not(chain(xEvent, timestamp, [A: WHAT(eventType = "homePageView") WHEN(< 24 hours before now) COUNT(5) ] ))
chain(xEvent, timestamp, [X: WHAT(eventType = "homePageView") WHEN(< 24 hours before now)]) and chain(xEvent, timestamp, [X: WHAT(eventType = "checkoutPageView") WHEN(< 24 hours before now)])
homeAddress.countryCode = "US" and chain(xEvent, timestamp, [X: WHAT(eventType = "homePageView") WHEN(< 24 hours before now)]) and chain(xEvent, timestamp, [X: WHAT(eventType = "checkoutPageView") WHEN(< 24 hours before now)])
homeAddress.countryCode = "US" and inSegment("existing segment")
chain(xEvent, timestamp, [A: WHAT(eventType = "addToCart") WHERE(externalSegmentMapProperty.values().exists(stringProperty="active"))])
Além disso, o segmento deve estar vinculado a uma política de mesclagem ativa no edge. Para obter mais informações sobre políticas de mesclagem, leia o guia de políticas de mesclagem.
Uma definição de segmento não ser ativado para segmentação de borda nos seguintes cenários:
- A definição de segmento inclui uma combinação de um único evento e uma
inSegment
evento.- No entanto, se o segmento contido na variável
inSegment
evento é somente perfil, a definição do segmento irá ser ativado para segmentação de borda.
- No entanto, se o segmento contido na variável
Recuperar todos os segmentos habilitados para segmentação de borda
Você pode recuperar uma lista de todos os segmentos que estão ativados para segmentação de borda na sua organização fazendo uma solicitação ao GET /segment/definitions
terminal.
Formato da API
Para recuperar segmentos ativados para segmentação de borda, você deve incluir o parâmetro de consulta evaluationInfo.synchronous.enabled=true
no caminho da solicitação.
GET /segment/definitions?evaluationInfo.synchronous.enabled=true
Solicitação
curl -X GET \
'https://platform.adobe.io/data/core/ups/segment/definitions?evaluationInfo.synchronous.enabled=true' \
-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}'
Resposta
Uma resposta bem-sucedida retorna uma matriz de segmentos em sua organização que estão habilitados para segmentação de borda. Informações mais detalhadas sobre a definição de segmento retornada podem ser encontradas na guia de endpoint de definições de segmento.
{
"segments": [
{
"id": "15063cb-2da8-4851-a2e2-bf59ddd2f004",
"schema": {
"name": "_xdm.context.profile"
},
"ttlInDays": 30,
"imsOrgId": "{ORG_ID}",
"sandbox": {
"sandboxId": "",
"sandboxName": "",
"type": "production",
"default": true
},
"name": " People who are NOT on their homepage ",
"expression": {
"type": "PQL",
"format": "pql/text",
"value": "select var1 from xEvent where var1._experience.analytics.endUser.firstWeb.webPageDetails.isHomePage = false"
},
"evaluationInfo": {
"batch": {
"enabled": false
},
"continuous": {
"enabled": false
},
"synchronous": {
"enabled": true
}
},
"creationTime": 1572029711000,
"updateEpoch": 1572029712000,
"updateTime": 1572029712000
},
{
"id": "f15063cb-2da8-4851-a2e2-bf59ddd2f004",
"schema": {
"name": "_xdm.context.profile"
},
"ttlInDays": 30,
"imsOrgId": "{ORG_ID}",
"sandbox": {
"sandboxId": "",
"sandboxName": "",
"type": "production",
"default": true
},
"name": "Homepage_continuous",
"description": "People who are on their homepage - continuous",
"expression": {
"type": "PQL",
"format": "pql/text",
"value": "select var1 from xEvent where var1._experience.analytics.endUser.firstWeb.webPageDetails.isHomePage = true"
},
"evaluationInfo": {
"batch": {
"enabled": false
},
"continuous": {
"enabled": false
},
"synchronous": {
"enabled": true
}
},
"creationTime": 1572021085000,
"updateEpoch": 1572021086000,
"updateTime": 1572021086000
}
],
"page": {
"totalCount": 2,
"totalPages": 1,
"sortField": "creationTime",
"sort": "desc",
"pageSize": 2,
"limit": 100
},
"link": {}
}
Criar um segmento habilitado para segmentação de borda
Você pode criar um segmento que esteja ativado para segmentação de borda fazendo uma solicitação POST para o /segment/definitions
ponto de extremidade que corresponde a um dos tipos de consulta de segmentação de borda listados acima.
Formato da API
POST /segment/definitions
Solicitação
curl -X POST \
https://platform.adobe.io/data/core/ups/segment/definitions \
-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 '{
"schema": {
"name": "_xdm.context.profile"
},
"ttlInDays": 30,
"name": "Homepage_continuous",
"description": "People who are on their homepage - continuous",
"expression": {
"type": "PQL",
"format": "pql/text",
"value": "select var1 from xEvent where var1._experience.analytics.endUser.firstWeb.webPageDetails.isHomePage = true"
},
"evaluationInfo": {
"batch": {
"enabled": false
},
"continuous": {
"enabled": false
},
"synchronous": {
"enabled": true
}
}
}'
Resposta
Uma resposta bem-sucedida retorna os detalhes da definição de segmento recém-criada que está habilitada para segmentação de borda.
{
"id": "f15063cb-2da8-4851-a2e2-bf59ddd2f004",
"schema": {
"name": "_xdm.context.profile"
},
"ttlInDays": 30,
"imsOrgId": "{ORG_ID}",
"sandbox": {
"sandboxId": "{SANDBOX_ID}",
"sandboxName": "{SANDBOX_NAME}",
"type": "production",
"default": true
},
"name": "Homepage_continuous",
"description": "People who are on their homepage - continuous",
"expression": {
"type": "PQL",
"format": "pql/text",
"value": "chain(xEvent, timestamp, [X: WHAT(var1._experience.analytics.endUser.firstWeb.webPageDetails.isHomePage = "true")])"
},
"evaluationInfo": {
"batch": {
"enabled": false
},
"continuous": {
"enabled": false
},
"synchronous": {
"enabled": true
}
},
"creationTime": 1572021085000,
"updateEpoch": 1572021086000,
"updateTime": 1572021086000
}
Próximas etapas
Agora que você sabe como criar segmentos habilitados para segmentação de borda, pode usá-los para habilitar casos de uso de personalização de mesma página e próxima página.
Para saber como executar ações semelhantes e trabalhar com segmentos usando a interface do usuário do Adobe Experience Platform, visite o Guia do usuário do Construtor de segmentos.
Apêndice
A seção a seguir lista as perguntas frequentes sobre a segmentação de borda:
Quanto tempo leva para um segmento ficar disponível na Rede de borda?
Leva até uma hora para um segmento estar disponível na Rede de borda.