Como podemos ajudar?

06. Metadados Base64
15 min
Criado por MT em 15/02/2023 15:05
Atualizado por Leonora Alves em 01/04/2024 16:08

Aqui você encontra um modelo dos parâmetros do customer, que deverão ser encaminhados à Zenvia para o envio das comunicações com arquivo, em Base64. Customer é um objeto que representa o cliente dentro da plataforma.

Body de exemplo

{
"id":"111.111.111-11",
"name":"João da Silva",
"nickname":"JoaoSilva",
"personType":"natural",
"gender":"male",
"maritalStatus":"married",
"birthDate":"1980-07-15T03:00:00.000Z",
"emails":[
{
"address":"journey@d1.cx",
"kind":"comercial"
}
],
"phones":[
{
"number":"5511999999999",
"kind":"cellphone"
}
],
"addresses":[
{
"street":"Rua João da Silva Filho Junior",
"number":"999",
"complement":"Complemento",
"neighborhood":"João da Silva Filho",
"city":"São Paulo",
"state":"SP",
"zipCode":"12345-000",
"country":{
"id":"76",
"name":"Brasil"
},
"kind":"residential",
"geocode":[1200, 92929]
}
],
"documents":{
"cpf":"111.111.111-11"
}
}


Atributos

Campo Descrição
id Deve ser a chave única para identificação do customer e que será utilizada para updates futuros. Normalmente utilizado com dados de CPF ou CNPJ.
Caso um mesmo customer seja informado com outro valor neste campo, o customer será DUPLICADO. Obrigatório
name (nome) Obrigatório
nickname (apelido) nome curto e fácil de recordar, pelo qual uma pessoa se identifica
personType (Tipo pessoa). Dados suportados: natural/legal
gender (Sexo) Dados suportados: male/female
maritalStatus (Estado Civil) Dados suportados: married/divorced/widowed/single/clmarried/other
birthDate (Data Aniversário) formato suportado:
yyyy-MM-ddThh:mm:ss.dddZ
emails Lista dos e-mails do customer
➢ address: deve estar como lower case. Obrigatório
➢ kind: deve seguir o modelo tipo de contato. Obrigatório
emails.kind Identifica o tipo do e-mail. Os valores válidos são:
➢ residential
➢ comercial
➢ other
emails.address É o endereço de e-mail do destinatário da comunicação.
phones Lista dos telefones do customer
➢ number: deve estar no formato 551199999999. Obrigatório
➢ Kind: deve seguir o modelo tipo de contato. Obrigatório
phones.kind Identifica o tipo do telefone. Os valores válidos são:
➢ residential
➢ comercial
➢ cellphone
➢ other
phones.address É o número do telefone do destinatário. Para envio de comunicação esse número deve ser um celular.
addresses Lista dos endereços do customer
➢ street, number, complement, neighborhood, city, devem estar previamente formatados corretamente.
➢ state: deve possuir o valor da UF.
➢ zipCode: deve estar no formato: 0000-000.
➢ country.id: deve estar de acordo com a ISO 3166-1. Deve-se utilizar números inteiros (sem zero à esquerda). Obrigatório
➢ country.name: nome do país.
➢ kind: deve seguir o modelo tipo de contato. Obrigatório
➢ geocode: deve ser latitude e longitude.
addresses.street Descrição do endereço (rua, Av, etc)
addresses.number Número do endereço
addresses.complement Complemento do endereço
addresses.neighborhood Bairro
addresses.state Sigla do estado
addresses.zipCode Número do CEP
addresses.country.id Identificação do país de acordo com a ISO 3166-1. Deve-se utilizar números inteiros (sem zero à esquerda)
addresses.country.name Nome do país
addresses.kind Identifica o tipo do endereço. Os valores válidos são:
➢ residential
➢ comercial
➢ other
addresses.geocode Informação de geolocalização do cliente
documents Lista dos documentos do customer, formato suportado:
{“chave”: “valor”}


Campo files

O objetivo desse campo é informar para a plataforma como serão enviados os arquivos de uma determinada comunicação. Esse campo une informações dos campos Kit, Documents e Attachments.

...
"files": [
{
"type": "storage",
"mode": "Link",
"isMain": true,
"storagePath": "/meudiretorio",
"filename": "fatura_directone.pdf",
"description": "Boleto",
"correlationId": "46299F1DF4C9C9CCEDB4D49DAE6C254",
"dueDate": "1980-07-15T03:00:00.000Z",
"documentNumber": "122545455",
"tags": ["BOLETO", "1VIA"],
"base64File": {
"content": null,
"contentType": null
}
},
{
"type": "Base64",
"mode": "link",
"isMain": false,
"filename": " test.txt",
"description": "Carteirinha",
"correlationId": "46299F1DF4C9C9CCEDB4D49DAE6C254",
"base64File": {
"content": "VGhpcyBpcyB5b3VyIGF0dGFjaGVkIGZpbGUhISEK",
"contentType": "text/plain"
}
}

 Atributos

Campo Descrição
type

Indica a localização do arquivo, ou seja, onde ele está armazenado. Seu objetivo é permitir que a plataforma consiga enviar arquivos armazenados em qualquer fonte externa, como por exemplo um storage do cliente.

Nesta versão apenas os valores Storage, Base64 e External são suportados. O valor Storage indica para a plataforma que o arquivo está armazenado em nosso Storage Service, que é um serviço de gerenciamento de arquivos. O valor Base64 indica que será utilizado o arquivo enviado em formato Base64 na requisição. O valor External indica para a plataforma que não haverá armazenamento no nosso serviço de Storage, o cliente poderá enviar um link no novo campo adicionado no payload com o nome de “Link”. Esse campo é específico para tipo External.

mode

Indica a forma como o arquivo será disponibilizado dentro da comunicação.

Attachment: o arquivo será anexado a comunicação caso o canal permita (e-mail, WhatsApp, RCS, etc).

Link: O arquivo será enviado no corpo da comunicação como um URL.

Info: Utilizando apenas para o serviço Customer.

isMain

Indica que o arquivo é o arquivo principal dentro do conjunto de arquivos enviados, caso exista mais de um.

Essa informação é importante para que a plataforma consiga identificar qual dos arquivos deverá ser enviado como link quando utilizamos a variável ${link_documento}

storagePath É o caminho onde o documento está armazenado no storage. Esse campo deve ser informado apenas para quando o tipo for ‘Storage’ (type = ‘Storage’)
filename É o nome do arquivo. Esse nome será exibido no e-mail quando for um anexo ou será o nome que os navegadores utilizarão para salvá-lo em disco em caso de download.
description É uma descrição para o arquivo. Será utilizada para a feature de loop de documentos.
correlationId É uma chave de identificação única do arquivo e é utilizada para a realização do download.
nodes

Esse campo é opcional. Deve ser utilizado quando houver necessidade de especificar para qual nó de canal o arquivo deve ser tratado e enviado.

Por exemplo: é possível parametrizar que um arquivo deve ser enviado para o canal de e-mail e outro para o canal de WhatsApp.
Caso não seja informado, todos os arquivos serão anexados em todos os canais.

nodes.name

Indica em qual nó de canal o arquivo será disponibilizado.

Exemplo: E-mail 2 (deve ser idêntico ao nome dado à comunicação dentro da jornada).

Attachment: O arquivo será anexado a comunicação caso o canal permita (e-mail, WhatsApp, RCS, etc).

Link: O arquivo será enviado no corpo da comunicação como um URL.

 

Campo tipo Base64File

Campo Descrição
content Arquivo em formato Base64. Obrigatório quando Type igual a base64.
contentType ContentType do arquivo. Obrigatório quando Type igual a base64.

 

Campo tipo Date

É importante que todos os campos do tipo date sejam enviados utilizando o formato ISO-86001.

O controle do fuso horário assim como o horário de verão é de responsabilidade de quem está chamando a API.

Exemplo: 1980-07-15T03:00:00.000Z

Campo tipo External

"files": [
{
"type": "External",
"mode": "Link",
"isMain": true,
"filename": "Zenvia-PDF-FAQ.pdf",
"description": "test External Certificate - 18/04",
"correlationId": "test External Certificate",
"dueDate": "2023-04-18T03:00:00Z",
"tags": [],
"link": https://www.zenvia.com/wp-content/uploads/2019/04/Zenvia-PDF-FAQ.pdf"
}
]
Campo Descrição
Link É o campo do link que será enviado no disparo. Obrigatório quando o Type é External.
Funcional para os “Mode”: Link, Attachment

 

Este artigo resolveu sua dúvida?
Últimos artigos visitados