Siga este guia de início rápido para se familiarizar com a API Data Manager. Escolha a versão do tutorial rápido que você quer consultar:
Neste guia de início rápido, você vai concluir as seguintes etapas:
- Prepare um
Destination
para receber dados de público-alvo. - Prepare os dados do público-alvo para envio.
- Crie uma solicitação
IngestionService
para os membros do público-alvo. - Envie a solicitação com o Google APIs Explorer.
- Entender as respostas de sucesso e falha.
Preparar um destino
Antes de enviar dados, é necessário preparar o destino para o envio. Confira um exemplo de Destination
:
{
"operatingAccount": {
"product": "OPERATING_ACCOUNT_PRODUCT",
"accountId": "OPERATING_ACCOUNT_ID"
},
"productDestinationId": "AUDIENCE_ID"
}
Defina o
operatingAccount
como o produto e o ID da conta que vai receber os dados do público-alvo.
Preparar dados de público
Considere os dados de exemplo a seguir em um arquivo separado por vírgulas. Cada linha no arquivo corresponde a um membro do público-alvo, e cada membro tem até três endereços de e-mail.
#,email_1,email_2,email_3
1,dana@example.com,DanaM@example.com,
2,ALEXJ@example.com, AlexJ@cymbalgroup.com,alexj@altostrat.com
3,quinn@CYMBALGROUP.com,baklavainthebalkans@gmail.com ,
4,rosario@example.org,cloudySanFrancisco@GMAIL.com,
Os endereços de e-mail têm os seguintes requisitos de formatação e hash:
- Remova todos os espaços em branco iniciais, finais e intermediários.
- Converta o endereço de e-mail para letras minúsculas.
- Criptografe o endereço de e-mail usando o algoritmo SHA-256.
- Codifique os bytes de hash usando hexadecimal (hex) ou codificação Base64. Os exemplos neste guia usam codificação hexadecimal.
Confira os dados formatados:
#,email_1,email_2,email_3
1,dana@example.com,danam@example.com,
2,alexj@example.com,alexj@cymbalgroup.com,alexj@altostrat.com
3,quinn@cymbalgroup.com,baklavainthebalkans@gmail.com,
4,rosario@example.org,cloudysanfrancisco@gmail.com,
Confira os dados depois de serem criptografados com hash e codificados:
#,email_1,email_2,email_3
1,07e2f1394b0ea80e2adca010ea8318df697001a005ba7452720edda4b0ce57b3,1df6b43bc68dd38eca94e6a65b4f466ae537b796c81a526918b40ac4a7b906c7
2,2ef46c4214c3fc1b277a2d976d55194e12b899aa50d721f28da858c7689756e3,54e410b14fa652a4b49b43aff6eaf92ad680d4d1e5e62ed71b86cd3188385a51,e8bd3f8da6f5af73bec1ab3fbf7beb47482c4766dfdfc94e6bd89e359c139478
3,05bb62526f091b45d20e243d194766cca8869137421047dc53fa4876d111a6f0,f1fcde379f31f4d446b76ee8f34860eca2288adc6b6d6c0fdc56d9eee75a2fa5
4,83a834cc5327bc4dee7c5408988040dc5813c7662611cd93b707aff72bf7d33f,223ebda6f6889b1494551ba902d9d381daf2f642bae055888e96343d53e9f9c4
Confira um exemplo de AudienceMember
para os endereços de e-mail formatados, hash e codificados
de dana@example.com
e danam@example.com
da primeira linha dos
dados de entrada:
{
"userData": {
"userIdentifiers": [
{
"emailAddress": "07e2f1394b0ea80e2adca010ea8318df697001a005ba7452720edda4b0ce57b3"
},
{
"emailAddress": "1df6b43bc68dd38eca94e6a65b4f466ae537b796c81a526918b40ac4a7b906c7"
}
]
}
}
Criar o corpo da solicitação
Combine Destination
e userData
para o corpo da solicitação:
{
"destinations": [
{
"operatingAccount": {
"product": "OPERATING_ACCOUNT_PRODUCT",
"accountId": "OPERATING_ACCOUNT_ID"
},
"productDestinationId": "AUDIENCE_ID"
}
],
"audienceMembers": [
{
"userData": {
"userIdentifiers": [
{
"emailAddress": "07e2f1394b0ea80e2adca010ea8318df697001a005ba7452720edda4b0ce57b3"
},
{
"emailAddress": "1df6b43bc68dd38eca94e6a65b4f466ae537b796c81a526918b40ac4a7b906c7"
}
]
}
},
{
"userData": {
"userIdentifiers": [
{
"emailAddress": "2ef46c4214c3fc1b277a2d976d55194e12b899aa50d721f28da858c7689756e3"
},
{
"emailAddress": "54e410b14fa652a4b49b43aff6eaf92ad680d4d1e5e62ed71b86cd3188385a51"
},
{
"emailAddress": "e8bd3f8da6f5af73bec1ab3fbf7beb47482c4766dfdfc94e6bd89e359c139478"
}
]
}
},
{
"userData": {
"userIdentifiers": [
{
"emailAddress": "05bb62526f091b45d20e243d194766cca8869137421047dc53fa4876d111a6f0"
},
{
"emailAddress": "f1fcde379f31f4d446b76ee8f34860eca2288adc6b6d6c0fdc56d9eee75a2fa5"
}
]
}
},
{
"userData": {
"userIdentifiers": [
{
"emailAddress": "83a834cc5327bc4dee7c5408988040dc5813c7662611cd93b707aff72bf7d33f"
},
{
"emailAddress": "223ebda6f6889b1494551ba902d9d381daf2f642bae055888e96343d53e9f9c4"
}
]
}
}
],
"consent": {
"adUserData": "CONSENT_GRANTED",
"adPersonalization": "CONSENT_GRANTED"
},
"encoding": "HEX",
"termsOfService": {
"customerMatchTermsOfServiceStatus": "ACCEPTED"
},
"validateOnly": true
}
- Atualize os marcadores de posição no corpo, como
OPERATING_ACCOUNT_PRODUCT
,OPERATING_ACCOUNT_ID
eAUDIENCE_ID
, com os valores da sua conta e do destino. - Defina
validateOnly
comotrue
para validar a solicitação sem aplicar as mudanças. Quando estiver tudo pronto para aplicar as mudanças, definavalidateOnly
comofalse
. - Defina
termsOfService
para indicar que o usuário aceitou os Termos de Serviço do Match de Clientes. - Essa solicitação indica que
consent
foi concedida e não usa criptografia.
Enviar a solicitação
- Copie o corpo da solicitação usando o botão de cópia no canto superior direito da amostra.
- Acesse a página
audienceMembers.ingest
. - Clique no botão API à direita e, em seguida, no botão Teste na seção expandida.
- Cole o corpo da solicitação copiado na caixa Corpo da solicitação.
- Clique no botão Executar, conclua as solicitações de autorização e revise a resposta.
Respostas de sucesso
Uma solicitação bem-sucedida retorna uma resposta com um objeto que contém um requestId
.
{
"requestId": "126365e1-16d0-4c81-9de9-f362711e250a"
}
Respostas de falha
Uma solicitação com falha resulta em um código de status de resposta de erro, como 400 Bad
Request
, e uma resposta com detalhes do erro.
Por exemplo, um email_address
que contém uma string de texto simples em vez de um valor codificado em
hexadecimal produz a seguinte resposta:
{
"error": {
"code": 400,
"message": "There was a problem with the request.",
"status": "INVALID_ARGUMENT",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "INVALID_ARGUMENT",
"domain": "datamanager.googleapis.com"
},
{
"@type": "type.googleapis.com/google.rpc.BadRequest",
"fieldViolations": [
{
"field": "audience_members.audience_members[0].user_data.user_identifiers",
"description": "Email is not hex encoded.",
"reason": "INVALID_HEX_ENCODING"
}
]
}
]
}
}
Um email_address
que não é codificado por hash e é codificado apenas em hexadecimal produz a
seguinte resposta:
{
"error": {
"code": 400,
"message": "There was a problem with the request.",
"status": "INVALID_ARGUMENT",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "INVALID_ARGUMENT",
"domain": "datamanager.googleapis.com"
},
{
"@type": "type.googleapis.com/google.rpc.BadRequest",
"fieldViolations": [
{
"field": "audience_members.audience_members[0]",
"reason": "INVALID_SHA256_FORMAT"
}
]
}
]
}
}
Próximas etapas
- Configure a autenticação e o ambiente com uma biblioteca de cliente.
- Saiba mais sobre os requisitos de formatação, hash e codificação para cada tipo de dados.
- Saiba como criptografar dados do usuário.
- Saiba mais sobre as práticas recomendadas.
- Saiba mais sobre limites e cotas.