Ajuda

Integrações · Documentação técnica

Webhook da Greenn: eventos, campos e exemplos

Atualizado em Leitura de 5 min

Resposta curta

O webhook da Greenn envia um JSON para a sua URL a cada mudança de status de venda ou contrato e quando alguém abandona o checkout. Abaixo estão os campos e um exemplo de cada evento.

Esta página é a referência técnica do webhook da Greenn. Para configurar o webhook na sua conta, veja Como integrar com Webhook 2.0. Para consultar dados por API, veja a Documentação da API.

Existem dois tipos de webhook, de vendas e de contratos (assinaturas), mais o evento de abandono de carrinho. Cada um chega à sua URL como um JSON.

Webhook de vendas

O tipo do evento (type) é "sale" e o evento é "saleUpdated", que indica que a transação teve o status alterado.

Campos

  • oldStatus: indica qual o status anterior da venda. Valores possíveis: created, paid, waiting_payment.
  • currentStatus: indica o status atual da venda. Valores possíveis: paid, refused, refunded, chargedback, waiting_payment.
  • product.affiliation_proposal: permite que o afiliado gere propostas.
  • product.allow_proposal: permite ao produto ter propostas
  • product.is_active: indica se o produto está ativo ou não.
  • product.thank_you_page: página para a qual o usuário é redirecionado após comprar o produto.
  • product.affiliation_public: permite que o produto em questão possa ser exibido na vitrine para que os afiliados possam solicitar afiliação.
  • product.affiliation_approbation: permite que as solicitações de afiliação passem por aprovação do vendedor ou não.
  • product.method: método de pagamento permitido para este produto. Valores possíveis: CREDIT_CARD, TWO_CREDIT_CARDS, BOLETO, PIX,PAYPAL (ou todos eles).
  • product.type: indica qual o tipo do produto: simples ou assinatura. Valores possíveis: TRANSACTIOM, SUBSCRIPTION.
  • sale.coupon: indica qual é o cupom que foi aplicado na venda. Valores possíveis: null, objeto.
  • saleMetas: Metas da venda, se houver. Valores possíveis: [], Array de Objeto.

Exemplo de payload

{
  "oldStatus": "",
  "currentStatus": "",
  "type": "sale",
  "event": "saleUpdated",
  "product": {
    "affiliation_proposal": 1,
    "description": "",
    "allow_proposal": 0,
    "created_at": "",
    "is_active": 1,
    "period": 0,
    "updated_at": "",
    "thank_you_page": "",
    "amount": 99,
    "id": 0,
    "affiliation_public": 1,
    "affiliation_approbation": 1,
    "proposal_minimum": 0,
    "type": "",
    "method": "",
    "name": ""
  },
  "sale": {
    "status": "paid",
    "seller_id": 0,
    "created_at": "",
    "updated_at": "",
    "method": "",
    "amount": 99,
    "client_id": 0,
    "installments": 1,
    "type": "",
    "id": 0,
    "coupon": {
      "id": 0,
      "seller_id": 0,
      "name": "MEUCUPOM",
      "type": "AMOUNT",
      "amount": 10.0,
      "only_products": 0,
      "limit": 5,
      "due_date": "2021-09-24 12:55:00",
      "created_at": "2021-09-24 12:49:39",
      "updated_at": "2021-09-24 12:51:13",
      "is_active": 0,
      "deleted_at": "2021-09-24 12:51:13"
    }
  },
  "seller": {
    "cellphone": "",
    "email": "",
    "name": "",
    "id": 0
  },
  "client": {
    "city": "",
    "neighborhood": "",
    "name": "",
    "cellphone": "",
    "updated_at": "",
    "created_at": "",
    "number": "",
    "zipcode": "",
    "email": "",
    "street": " ",
    "cpf_cnpj": "",
    "complement": "",
    "uf": "",
    "id": 0
  },
  "saleMetas": [
    {
      "id": 0,
      "sale_id": 0,
      "meta_key": "",
      "meta_value": "",
      "created_at": "2021-09-24 18:10:30",
      "updated_at": "2021-09-24 18:10:30"
    },
    {
      "id": 0,
      "sale_id": 0,
      "meta_key": "",
      "meta_value": "",
      "created_at": "2021-09-24 18:10:30",
      "updated_at": "2021-09-24 18:10:30"
    }
  ]
}

Webhook de contratos

O tipo do evento (type) é "contract" e o evento é "contractUpdated".

Campos

  • oldStatus: indica qual o status anterior do contrato. Valores possíveis: created, paid, trialing.
  • currentStatus: indica o status atual do contrato. Valores possíveis: paid, trialing, pending_payment, unpaid, canceled.
  • contract.start_date: data de início do contrato.
  • contract.current_period_end: data do vencimento da mensalidade atual.
  • productMetas: metas do produto, se houver.
  • proposalMetas: metas da proposta, se houver.
  • currentSale.coupon: indica qual é o cupom que foi aplicado na venda. Valores possíveis: null, objeto.
  • saleMetas: Metas da venda, se houver. Valores possíveis: [], Array de Objeto.

Exemplo de payload

{
  "oldStatus": "",
  "currentStatus": "",
  "type": "contract",
  "event": "contractUpdated",
  "product": {
    "affiliation_proposal": 1,
    "description": "",
    "allow_proposal": 0,
    "created_at": "",
    "is_active": 1,
    "period": 0,
    "updated_at": "",
    "thank_you_page": "",
    "amount": 0,
    "id": 0,
    "affiliation_public": 1,
    "affiliation_approbation": 1,
    "proposal_minimum": 0,
    "type": "",
    "method": "",
    "name": ""
  },
  "currentSale": {
    "status": "paid",
    "seller_id": 0,
    "created_at": "",
    "updated_at": "",
    "method": "",
    "amount": 0,
    "client_id": 0,
    "installments": 1,
    "type": "",
    "id": 0,
    "coupon": {
      "id": 0,
      "seller_id": 0,
      "name": "MEUCUPOM",
      "type": "AMOUNT",
      "amount": 10.0,
      "only_products": 0,
      "limit": 5,
      "due_date": "2021-09-24 12:55:00",
      "created_at": "2021-09-24 12:49:39",
      "updated_at": "2021-09-24 12:51:13",
      "is_active": 0,
      "deleted_at": "2021-09-24 12:51:13"
    }
  },
  "contract": {
    "start_date": "",
    "created_at": "",
    "updated_at": "",
    "status": "",
    "current_period_end": "",
    "id": 0
  },
  "seller": {
    "cellphone": "",
    "email": "",
    "name": "",
    "id": 0
  },
  "affiliate": {
    "cellphone": "",
    "email": "",
    "name": "",
    "id": 0
  },
  "client": {
    "city": "",
    "neighborhood": "",
    "name": "",
    "cellphone": "",
    "updated_at": "",
    "created_at": "",
    "number": "",
    "zipcode": "",
    "email": "",
    "street": " ",
    "cpf_cnpj": "",
    "complement": "",
    "uf": "",
    "id": 0
  },
  "productMetas": [
    {
      "key": "",
      "value": "",
      "id": 0
    }
  ],
  "proposalMetas": [
    {
      "key": "",
      "value": "",
      "id": 0
    }
  ],
  "saleMetas": [
    {
      "id": 0,
      "sale_id": 0,
      "meta_key": "",
      "meta_value": "",
      "created_at": "2021-09-24 18:10:30",
      "updated_at": "2021-09-24 18:10:30"
    },
    {
      "id": 0,
      "sale_id": 0,
      "meta_key": "",
      "meta_value": "",
      "created_at": "2021-09-24 18:10:30",
      "updated_at": "2021-09-24 18:10:30"
    }
  ]
}

Evento de abandono de carrinho

O tipo do evento (type) é "lead" e o evento é "checkoutAbandoned".

Campos

  • lead.step: indica em qual passo o cliente parou no checkout. Valores possíveis: 1, 2, 3.

    • 1: dados pessoais.
    • 2: dados de endereço (se houver).
    • 3: dados de pagamento.

Exemplo de payload

"type": "lead",
"event": "checkoutAbandoned",
"lead": {
  "city": "",
  "neighborhood": "",
  "name": "",
  "cellphone": "",
  "updated_at": "",
  "created_at": "",
  "number": "",
  "zipcode": "",
  "email": "",
  "street": " ",
  "cpf_cnpj": "",
  "complement": "",
  "uf": "",
  "step": 1,
  "id": 0
},
"product": {
  "affiliation_proposal": 1,
  "description": "",
  "allow_proposal": 0,
  "created_at": "",
  "is_active": 1,
  "period": 0,
  "updated_at": "",
  "thank_you_page": "",
  "amount": 0,
  "id": 0,
  "affiliation_public": 1,
  "affiliation_approbation": 1,
  "proposal_minimum": 0,
  "type": "",
  "method": "",
  "name": ""
},
"seller": {
  "cellphone": "",
  "email": "",
  "name": "",
  "id": 0
},
"affiliate": {
  "cellphone": "",
  "email": "",
  "name": "",
  "id": 0
},
"productMetas": [
  {
    "key": "",
    "value": "",
    "id": 0
  }
],
"proposalMetas": [
  {
    "key": "",
    "value": "",
    "id": 0
  }
]

Isso resolveu?

Sua resposta ajuda a gente a melhorar este artigo.

Ainda com dúvida?

A gente resolve com você

O Mr. Greenn responde na hora e, se for preciso, chama uma pessoa do time.

Ainda não vende na Greenn?

Veja quanto fica com você em cada venda

Coloque o preço do seu produto no simulador. Aqui você não é só um número.

Aqui você não é só um número.