Este método irá realizar a consulta de todos os benefícios disponíveis para o cliente e realizar a aplicação automática dos mesmos.

A aplicação irá coletar os benefícios e promoções já aplicados no carrinho, incluindo:

basketDiscounts: Descontos aplicados ao carrinho.
deliveryDiscounts: Descontos aplicados à entrega.
basketPayments: Pagamentos vinculados a benefícios/cashbacks.

Isso irá ocorrer se existir uma Promoção Específica Informada 


Caso um PromotionID seja informado na requisição:

Caso não haja um PromotionID na requisição:


Caso um item que esteja com a promoção aplicada, seja removido do carrinho será necessário aplicar o método novamente.

Em caso de erro, as promoções continuarão aplicadas e cabe ao processo de validação removê-la, caso não estejam validas no momento que o pipeline de promoção externa for executado.

O elemento PromotionID não é obrigatório.

Requisições

Abaixo, segue a requisição da WebAPI de exemplo:

{
    "PromotionID": 0,
    "ShopperTicketID": "06ae832f-9f8e-436a-876c-6965f44449f2",
    "BasketID": 0,
    "BasketAuthorityToken": "string",
    "CustomerID": 0,
    "SessionID": "sem3e0baj4gkp1t15s4"
}

Request da loja:

var endpoint = browsingContext.Common.Urls.BaseUrl + "carrinho/ApplyResearchedBenefits";
var promotionData =

{ "PromotionID": 1111, }
;

$.ajax({
type: 'POST',
url: endpoint,
data: JSON.stringify(promotionData),
contentType: 'application/json',
success: function(response)

{ console.log('Requisição bem-sucedida:', response); }
,
error: function(error)

{ console.error('Erro na requisição:', error); }
});


Os benefícios aplicados pelo ApplyResearchedItemsBenefits, se baseia na ordem retornada pela integração considerando seguintes tipos:

  1. Itens
  2. Pedidos
  3. Frete
  4. Cashback
  5. A atualização dos benefícios aplicados segue a regra aplicada anteriormente no método ApplyResearchedItemsBenefits