Passar para o conteúdo principal
Todas as coleçõesAPI Voxuy
Integração API Voxuy
Integração API Voxuy
Time Voxuy avatar
Escrito por Time Voxuy
Atualizado há mais de 3 semanas

Quer integrar a sua Voxuy com alguma plataforma que não integramos? Com a nossa API, você consegue fazer isso, e tem total controle do que a sua Voxuy vai fazer e como ela vai trabalhar. E o melhor, as possibilidades são infinitas!

Esse tipo de integração não é feita pela Voxuy, por isso, indicamos que você tenha a ajuda de algum desenvolvedor.


Configurando a Voxuy pra uma integração por API

Adicionando produto

1. Clique em Automações → API;

2. Clique na listagem de produtos, e em + Adicionar produto;

3. Dê um nome ao seu produto, e clique em Salvar;


Adicionando categorias e eventos

1. Selecione o produto que criou, e clique em + Nova categoria;

2. Preencha um nome para seu novo evento, que vai ficar dentro da categoria que criou;

💡As categorias servem apenas pra agrupar os seus eventos.

ID do evento

3. Cada evento tem um ID, que é um código que identica e diferencia cada um deles. Esse código é extremamente necessário pra integração por API, por isso, copie ele pra seguir para os próximos passos.


Cadastrando um funil de mensagens

1. Com o produto e evento criados, agora você já pode se adiantar e cadastrar as mensagens do seu funil.


URL para webhook e Token para API

1. Clique em ⚙️, e em Integrações;

2. Pesquise por API VOXUY, e selecione essa opção;

3. Copie os códigos da URL para webhook, e também o Token API, e guarde para usarmos nas próximas etapas;

💡 Se o campo Token API estiver vazio, clique no botão Gerar Novo Token.


Plan ID

1. Clique em ⚙️, e em Produtos;

2. Pesquise pelo produto que criou nessa etapa, e clique nele;

3. Clique em + Adicionar plano;

4. Preencha um nome para o novo plano, e clique em Salvar;

5. Clique nos 3 pontinhos ao lado do plano que criou, e clique em Copiar código do plano.

Agora você tem todos os dados que vai precisar pra fazer a integração via API. 😁


Criando a integração por API

Agora que todas as configurações na sua Voxuy já estão prontinhas, vamos pra segunda etapa da integração que é desenvolver o código dela.

Nessa fase, é muito importante que você tenha um desenvolvedor junto com você.

💡 Lembrando que vamos precisar dos seguintes dados:

1. ID do evento (caso seja um evento personalizado)

4. ID do plano que será usado


Request

Pra enviar um Request para a Voxuy, você vai usar a URL para Webhook que copiou da sua Voxuy.

Esse Request deve ser um POST, e conter o Header Content-Type: application/json


Body

O corpo (dados) do Request que você vai enviar, deve ser um JSON com os campos abaixo.

💡 Obervação importante: todos os campos de valores são em Integer, sem vírgulas. Por exemplo, o valor R$ 69,90 deve ser enviado como 6990.

Campo

Tipo

Requerido?

Descrição

apiToken

String

id

String

X

Código de venda / ID único dessa transação. Esse é o identificador de uma venda/pedido/item para que seja adicionado ou atualizado. Caso este campo esteja vazio, um código único será atribuido.

planId

String

ID do plano desejado

agentEmail

String

X

Caso preenchido, especifica o atendente responsável pelas próximas mensagens desta transação. Se não preencher, quando chegar na Voxuy, a transação vai ser direcionada para o atendente que estiver configurado pra esse evento e produto.

dontCancelPrevious

Boolean

X

Como padrão, a Voxuy irá cancelar e remover do funil todas as mensagens anteriores ao entrar uma nova transação para o mesmo número. Use este campo como true para não cancelar essas mensagens anteriores.

value

Integer

X

Valor líquido da venda/pedido.

freight

Integer

X

Valor do frete.

freightType

String

X

Tipo do frete, por exemplo: PAC.

totalValue

Integer

X

Valor total da venda/pedido.

metadata

Object

X

Campos adicionais que queira usar futuramente como variáveis nas mensagens.

paymentType

Integer

Tipo de pagamento da venda/pedido/item.

status

Integer

Status atual da venda/pedido/item.

customEvent

Integer

X

date

DateTime

X

Data da venda/pedido/item. Este campo deverá ser enviado no formato ISO 8601, em UTC. Exemplo: “2021-05-01T21:00:00Z” (Z para sinalizar UTC) Caso o campo vier em branco (nulo), a data atual (ao receber o webhook) será usada. Obs.: Caso esta data seja anterior à data de criação da licença da Voxuy, não serão agendada mensagens manualmente.

clientName

String

X

Nome do cliente/lead.

clientEmail

String

X

Email do cliente/lead.

clientPhoneNumber

String

X

Telefone completo do cliente/lead, incluindo código do país. Exemplo: +5511912341234

clientDocument

String

X

CPF ou CNPJ do cliente/lead.

clientAddress

String

X

Logradouro do endereço do cliente/lead.

clientAddressNumber

String

X

Número do endereço do cliente/lead.

clientAddressComp

String

X

Complemento do endereço do cliente/lead

clientAddressDistrict

String

X

Bairro do cliente/lead

clientAddressCity

String

X

Cidade do cliente/lead

clientAddressState

String

X

Estado do cliente/lead

clientZipCode

String

X

Código Postal do cliente/lead

checkoutUrl

String

X

URL de checkout de vendas, caso necessário.

paymentLine

String

X

Linha digitável do boleto, caso a compra seja via boleto.

boletoUrl

String

X

URL de acesso ao boleto do cliente/lead, caso a compra seja via boleto.

pixQrCode

String

X

QR Code completo do PIX, caso a compra seja via PIX.

pixUrl

String

X

URL de acesso aos dados do PIX, caso a compra seja via PIX.

fileUrl

String

X

URL para enviar algum arquivo personalizado dessa transação (não esqueça de habilitar a opção Avançado do funil de API).

currentShippingEvent

Integer

X

shipping

Object

X


Tipos de Pagamento

Nome

Valor

Descrição

Gratuito

0

Usado quando há uma venda mas não tem valor monetário.

Boleto

1

Pedido via boleto.

Cartão de Crédito

2

Pedido via Cartão de Crédito.

PayPal

3

Pedido via PayPal.

Boleto Parcelado

4

Pedido via boleto, de forma parcelada.

Depósito bancario

5

Pedido via depósito bancário.

Depósito em conta

6

Pedido com pagamento usando crédito em conta da plataforma.

Pix

7

Pedido via Pix.

Nenhum

99

Use este valor caso seja um Carrinho Abandonado, Mensagem Externa ou algum Evento Personalizado.


Status do Pedido

Nome

Valor

Descrição

Pendente / Aguardando Pagamento

0

Pedido em aberto, aguardando pagamento.

Pagamento Aprovado

1

Pagamento foi aprovado e pronto para envio.

Cancelado

2

Pedido cancelado ou com pagamento não aprovado.

Chargeback

3

Pedido com Chargeback

Estornado

4

Cliente foi estornado.

Em Análise

5

Pagamento em análise pela instituição financeira.

Aguardando Estorno

6

Estorno pedido pelo cliente.

Processando Cartão

7

Pagamento em cartão sendo processado.

Parcialmente Pago

8

Valor completo ainda não foi pago

Bloqueado

9

Pedido bloqueado.

Rejeitado

10

Rejeitado, possivelmente por alguma tentativa de fraude

Duplicado

11

Pagamento duplicado

Carrinho Abandonado

80

Também conhecido como Abandono de Checkout.

Nenhum / Desconhecido

99

Use este valor caso esteja usando um evento personalizado.


Logística

Campo

Tipo

Requerido?

Descrição

trackingCode

String

X

Código de rastreio

trackingUrl

String

X

URL para rastreio

branchName

String

X

Agência ou local em que o produto se encontra

city

String

X

Cidade em que o produto se encontra

state

String

X

Estado/UF em que o produto se encontra

country

String

X

País em que o produto se encontra

date

String

X

Data e hora da última atualização recebida pela empresa de logística. Este campo deverá ser enviado no formato ISO 8601, em UTC. Exemplo: “2021-05-01T21:00:00Z” (Z para sinalizar UTC)


Status de Logística

Nome

Valor

Descrição

Nenhum

0

Pedido não possui nenhum status de logística.

Postado

1

O vendedor levou o objeto para a transportadora

Em Trânsito

2

A transportadora está fazendo a logística do objeto

Retirada

3

O cliente precisa retirar o pacote na transportadora

Alerta

4

Ocorreu algum problema com o objeto, como por exemplo, extravio

Saiu para entrega

5

A transportadora está levando o objecto para a residência do cliente

Entregue

6

Objeto recebido pelo cliente


Exemplo de Request

Esse request de exemplo criará um novo item que vai agendar mensagens do funil personalizado que criamos de teste.

POST https://sistema.voxuy.com/api/<codigo>/webhooks/voxuy/transaction

Headers:

Content-Type: application/json

{"apiToken": "00000000-0000-0000-0000-000000000000",
"id": "<id-do-seu-sistema>",
"planId": "e9b3a0a5-7ad9-4ea9-b7dd-93cfeb",
"value": null,
"freight": null,
"freightType": null,
"totalValue": null,
"metadata": null,
"paymentType": 99,
"status": 99,
"customEvent": 63,
"paymentLine": null,
"date": "2021-05-21T23:59:00Z",
"clientName": "Cliente 1",
"clientEmail": null,
"clientPhoneNumber": "+551199999999",
"clientDocument": null,
"clientAddress": null,
"clientAddressNumber": null,
"clientAddressComp": null,
"clientAddressDistrict": null,
"clientAddressCity": null,
"clientAddressState": null,
"clientAddressCountry": null,
"clientZipCode": null,
"checkoutUrl": null,
"boletoUrl": null,
"pixQrCode": null,
"pixUrl": null
}Resposta (Código 200) – sucesso.


Resposta (Código 200) - sucesso. { "Success": true }


Resposta (Código 400 - Bad Request) - quando algum campo enviado for inválido.

{"errors": {
"clientPhoneNumber": [
"The clientPhoneNumber field is required."
]
},
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"traceId": "0HM8U2U27H831:00000001"
}

Dúvidas frequentes

Como criar variáveis personalizadas com os dados que envio no webhook da minha integração por API?

Pra criar no seu funil, variáveis personalizadas com os dados que você envia no webhook da sua integração por API, é só na mensagem que deseja, clicar em Inserir variável → Venda → Campo metadata (API).

Pra que a variável seja preenchida, você precisa enviar no body do seu request as informações que deseja.

Essa informação também vai aparecer nas informações adicionais do evento do cliente no relatório da sua Voxuy.


Como duplicar um funil de API para outro evento do mesmo produto?

1. Clique nos 3 pontinhos ao lado do evento que que copiar, e clique em Duplicar evento;

2. Selecione o evento que quer enviar a cópia;

3. Clique em Duplicar funil;

4. Prontinho! Seu funil já vai estar duplicado pra outro evento.


Como configurar meu chat pra enviar o funil de API?

Pra Voxuy enviar as mensagens do funil de API, você precisa marcar o produto que criou, e também o evento de API/Customizado no chat do seu atendente. Aqui nesse link explicamos como fazer essa configuração.

Respondeu à sua pergunta?