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.

 

 

Responses

RetornoDescrição
200Sucesso
201Criado
204Sem conteúdo
401Sem autorização
403Acesso Negado
404Not found

Paginação

Parâmetro

Descrição

Tipo

Valores

Exemplos

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 https://api.dooca.store/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

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.

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.