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âmetro | Descrição | Tipo | Valores | Exemplos |
page | Define a página de busca | number | ?page=2 | |
limit | Define o número de registros por página | number | ?limit=150 | |
sort | Define a ordenação da busca | string | ?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âmetro | Descrição | Tipo | Valores | Exemplos |
q | Busca por nome, e-mail e documento do cliente | string | ?q=Maria | |
product_name | Nome do Produto | string | ?product_name=Bolsa | |
anonymous | Filtrar carrinhos com e sem cliente. | boolean | 1 = Com cliente 0 = Sem cliente | ?anonymous=1 |
created_at | Data de criação do carrinho | string | ?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
Comentários
0 comentário
Por favor, entre para comentar.