Carrinhos abandonados

Tiago Assis
Tiago Assis
  • Atualizado

Apresentamos abaixo os endpoints para consulta dos carrinhos abandonados. Temos três endpoints para esse conteúdo: o de listagem de carrinhos, o interno com informações de um carrinho específico e o de excluir um carrinho.

Lembrando que esses carrinhos ficam disponíveis por 30 dias.

 

Paginação

 

ParâmetroDescriçãoTipoValoresExemplos
pageDefine a página de buscanumber ?page=2
limitDefine o número de registros por páginanumber ?limit=150
sortDefine a ordenação da buscastring 

?sort=-id

?sort=id

 

Com isso, já é possível realizar toda a paginação e ordenação de resultados.

O retorno segue essa interface:

 

{
   "data": [], (array com os carrinhos, seguindo as interfaces abaixo)
   "meta": {
       "current_page": number,
       "from": number,
       "last_page": number,
       "per_page": number,
       "to": number,
       "total": number
   }
}

 

Listagem

GET: /checkout/abandoned


Interface de retorno: 

 

{
   "id": string,
   "token": string,
   "customer_id": number,
   "type": "cart",
   "total": number,
   "subtotal": number,
   "discount": number,
   "quantity": number,
   "customer": {
       "email": string,
       "first_name": string,
       "last_name": string
       "doc": string,
       "phone": string
   },
   "items": [
       {
           "components": array|null,
           "customize": array|null,
           "has_gift_wrapping": boolean,
           "image": string,
           "name": string,
           "price": number,
           "quantity": number,
           "total": number,
           "uid": number,
           "variation": string,
           "variation_id": number,
           "product_id": number
       }
   ],
   "created_at": string,
   "updated_at": string
}

 

Os filtros disponíveis para esse endpoint, são os seguintes:

 

ParâmetroDescriçãoTipoValoresExemplos
qBusca por nome, e-mail e documento do clientestring ?q=Maria
product_nameNome do Produtostring ?product_name=Bolsa
anonymousFiltrar carrinhos com e sem cliente. boolean

1 = Com cliente

0 = Sem cliente

?anonymous=1
created_atData de criação do carrinhostring ?created_at=2025-01-01--2025-01-05

 

Deletar Carrinho

DELETE /checkout/abandoned/:token 

 

Webhooks

O webhook de carrinhos é enviado ao criar/editar um carrinho, sempre que tiver um cliente vinculado ao mesmo. Para configurar um webhook, o administrador da loja deve incluir o endpoint para onde o webhook será enviado no painel, em Configurações > APIs e Webhooks e selecionar a opção carrinho.

Interface dos Webhooks:

 

{
   "id": number,
   "event": "cart.updated" / "cart.created",
   "data": {
       "available": boolean,
       "coupon": string,
       "coupon_errors": string,
       "coupon_messages": string,
       "customer_group_id": number,
       "customer_id": number,
       "discount": number,
       "discount_buy_and_get": CartPromotionEntity[],
       "discount_coupon": CartPromotionEntity[],
       "discount_gifts": CartPromotionEntity[],
       "discount_progressive": null,
       "errors": string,
       "gifts": CartPromotionEntity[],
       "gift_price": number,
       "is_draft": boolean,
       "items": CartItemEntity[],
       "min_purchase": number,
       "min_quantity": number,
       "overstocks": CartItemEntity[],
       "inactive_items": CartItemEntity[],
       "payments": PaymentEntity[],
       "promotions": CartPromotionEntity[],
       "quantity": number,
       "quantity_was_changed": boolean,
       "shipping_required": boolean,
       "shipping_price": number,
       "subtotal": number,
       "tax": number,
       "total": number,
       "shipping": ShippingEntity[],
       "cashback_balance": number,
       "url": string,
       "customer": {
           "email": string,
           "first_name": string,
           "last_name": string,
           "phone": number
       }
   }
}


CartPromotionEntity
{
   "available": boolean,
   "closest": boolean,
   "entitled_category_ids": number[],
   "entitled_category_names": string[],
   "entitled_product_ids": number[],
   "is_free_freight": boolean,
   "min_purchase": number,
   "min_purchase_remaining": number,
   "min_quantity": number,
   "min_quantity_remaining": number,
   "type": string,
   "value": number,
   "value_type": string (percentage/fixed_amount)
}


CartItemEntity
{
   "additional_shipping_time": number,
   "additional_time_out_of_stock": number,
   "balance": number,
   "billet_discount": number,
   "change_quantity_by_stock": boolean,
   "customize": string,
   "depth": number,
   "discount": number,
   "discount_quantity_applied": number,
   "gift_wrapping_accept": boolean,
   "gift_wrapping_price": number,
   "gtin": string,
   "has_gift_wrapping": boolean,
   "height": number,
   "image": string,
   "is_virtual": boolean,
   "order_bump_id": number,
   "kit": boolean,
   "name": string,
   "ncm": string,
   "price": number,
   "price_compare": number,
   "price_out_of_stock": number,
   "product_id": number,
   "quantity": number,
   "reference": string,
   "sell_out_of_stock": boolean,
   "selling_out_of_stock": boolean,
   "slug": string,
   "sku": string,
   "subtotal": number,
   "subtotal_compare": number,
   "tax": number,
   "total": number,
   "variation": string,
   "variation_id": number,
   "weight": number,
   "width": number,
   "components": CartItemEntity[],
   "errors": string
}


PaymentEntity
{
   "description": string,
   "expire_days": number,
   "gateway_id": number,
   "gateway_name": string,
   "gateway_public_key": number,
   "gateway_slug": string,
   "installments": [
       {
           "parcel": number,
           "total": number,
           "parcel_price": number,
           "discount": number,
           "discount_percentage": number,
           "interest": number,
           "interest_percentage": number,
           "tax": number
       }
   ],
   "is_default": boolean,
   "markup": number,
   "max_parcels": number,
   "method": string,
   "name": string,
   "parcels_no_interest": number,
   "payment_id": number,
   "token": string
}


ShippingEntity
{
   "carrier_id": number,
   "name": string,
   "alias": string,
   "api": string,
   "price": number,
   "price_cost": number,
   "has_lower_price": boolean,
   "additional_message": string,
   "shipment_time": number,
   "delivery_time": number,
   "estimated_shipment_at": number,
   "estimated_delivery_at": number,
   "created_at": string,
   "updated_at": string,
   "selected": string,
   "token": string
}

 

Para saber se um carrinho virou um pedido, basta acompanhar o webhook de pedidos order.created. Nele vem um cart_id que é o mesmo do id dos webhooks acima e aponta que um carrinho foi finalizado.

Relativo a

Esse artigo foi útil?

Usuários que acharam isso útil: 0 de 0

Tem mais dúvidas? Envie uma solicitação

Comentários

0 comentário

Por favor, entre para comentar.