Realizar envio de dados de pessoas.
Envio de dados de Pessoas
O envio é realizado a partir de um CSV ou JSON. O arquivo deve conter no máximo 1GB de tamanho, caso ultrapasse o limite o arquivo deve ser divido em partes contendo 1GB cada.
Os campos a serem enviados devem seguir o padrão PascalCase
nas duas estrutura (CSV e JSON).
Estrutura das informações
As informações são enviadas em uma lista contendo a estrutura de Person
.
Identificadores chave
Previamente, o usuário deverá definir qual informação de Person
será considerada como identificador chave. Esta definição deverá ser alinhada com o account responsável pela conta. Os identificadores chave podem ser CPF
ou Email
ou Phone
.
A partir dessa definição, o identificador chave será considerado um campo obrigatório juntamente com os campos FirstName
ou LastName
Person
FirstName* : String
LastName* : String
CPF* : String
Email* : String
Phone* : String
ExternalId : String
FacebookId : String
AccessToken : String
Token : String
SmartLinkId : string // UUIDv4
CookieId : String
CustomAttributes : Map<String, CustomAttributes>
O objeto Person
deve conter um dos campos obrigatórios. (*
)
O campo SmarlinkId
deve ser passado por string
um valor UUID
valido.
CustomAttributes
Type : String
Value : Object
Ao enviar CustomAttributes, é importante incluir o nome, tipo e valor do atributo. Você tem a flexibilidade de escolher qualquer nome para o atributo, mas o tipo deve ser selecionado a partir das opções: String
, Integer
, Float
, Boolean
ou Datetime
. Certifique-se de que o valor fornecido esteja em conformidade com a tipo especificada no campo Type
. Para o CSV o cabeçalho segue a estrutura: [NomeDoAtributo]:[TipoDoAtributo]
Atributo do tipo
Float
deve conter uma casa decimal, para que seja identificado como um valor flutuante
Atributo do tipo
DateTime
deve estar noYYYY-MM-DD
Requisição
Deve incluir em seu cabeçalho, a chave de acesso e o tipo de conteúdo que será enviado, que pode ser application/json
para arquivos no formato .json
e application/csv
para arquivos no formato .csv
.
O envio do arquivo deve ser realizado através de streaming
. Se estiver utilizando um programa para fazer a requisição (Insomnia/Postman), é recomendado utilizar o formato Binary
no corpo da requisição para o envio do arquivo.
Exemplo de solicitação utilizando cURL
:
curl --request POST \
--url 'https://{base_url}/DataInserterProfiles/api/profile' \
--header 'Content-Type: application/json' \
--header 'apiKey: {apiKey}' \
curl --request POST \
--url 'https://{base_url}/DataInserterProfiles/api/profile' \
--header 'Content-Type: application/csv' \
--header 'apiKey: {apiKey}' \
Requisições realizadas pela documentação não irão retornar sucesso, pois a plataforma não suporta o formato
Streaming
Exemplos dos arquivos JSON e CSV
[
{
"FirstName": "Melissa",
"LastName": "Araújo",
"CPF": "24631414090",
"Email": "[email protected]",
"Phone": "8529741289",
"ExternalId": "External123",
"FacebookId": "Facebook123",
"AccessToken": "AccessToken123",
"Token": "Token123",
"SmartLinkId": "8a48c9e9-0832-420c-8efe-9614cfdaecfa",
"CookieId": "Cookie123",
"customAttributes": {
"CorFavorita": {
"Type": "string",
"Value": "Vermelho"
},
"TemCachorro": {
"Type": "boolean",
"Value": false
},
"Altura": {
"Type": "float",
"Value": 2.0
},
"TamanhoSapato": {
"Type": "integer",
"Value": 30
},
"Aniversario": {
"Type": "datetime",
"Value": "2023-11-26"
}
}
}
]
FirstName;LastName;CPF;Email;Phone;ExternalId;FacebookId;AccessToken;Token;SmartLinkId;CookieId;CorFavorita:String;TemCachorro:Boolean;Altura:Float;TamanhoSapato:Integer;Aniversario:Datetime
Melissa;Araújo;24631414090;melissaaraujo;8529741289;External123;Facebook123;AccessToken123;Token123;8a48c9e9-0832-420c-8efe-9614cfdaecfa;Cookie123;Vermelho;false;2.0;30;2023-11-26