CDN APIs para implementação headless em fases

Uma implementação headless em fases é uma técnica que visa oferecer uma experiência de compra unificada usando várias tecnologias de loja (virtual) como o Storefront Reference Architecture (SFRA) e o Composable Storefront.

Uma zona CDN integrada (eCDN) pode rotear tráfego para o SFRA e para o Managed Runtime ao mesmo tempo, permitindo que você faça a implementação gradual do Composable Storefront.

Este guia descreve como usar as zonas CDN da Commerce API para rotear o tráfego para o Managed Runtime.

  1. Familiarize-se com a Autorização para as Admin APIs
  2. Você precisa ter um Cliente do Account Manager API com o escopo sfcc.cdn-zones.rw.
  3. Você precisa saber o ID da zona eCDN para usar com o Managed Runtime. Para obter essa informação, use o endpoint getZonesInfo da CDN Zones API.
  4. Use updateSecuritySettings para habilitar alwaysUseHttps na zona. O Managed Runtime só é compatível com tráfego por HTTPS.
  5. Configure o redirect_uri de seu Cliente da SLAS API para incluir a zona.
  6. Se você tiver restringido o conjunto de IPs com permissão de acesso ao seu ambiente do Managed Runtime, adicione os IPs do CloudFlare usados pela eCDN ao conjunto de IPs com permissão.

Com o endpoint createMrtRules, você pode criar regras que roteiem tráfego para um ambiente do Managed Runtime:

Vamos analisar os dados fornecidos no corpo da solicitação.

O valor de mrtHostname é o domínio do ambiente do Managed Runtime para roteamento de tráfego. Ele precisa fazer referência a um ambiente do Managed Runtime hospedado no domínio mobify-storefront.com. Se o valor fornecido é usado por uma regra existente, a solicitação falha.

O Managed Runtime é o único destino de roteamento compatível.

O valor de expressions é um array do Cloudflare rule expressions (expressões de regras do Cloudflare) que controla quais solicitações são roteadas para o Managed Runtime. Para a maioria das implementações, uma única expressão de roteamento é suficiente.

Além das expressões fornecidas, as regras-padrão de roteamento a seguir são usadas:

As mudanças no roteamento são aplicadas imediatamente, e o acesso a um URL que corresponde à expressão retorna o conteúdo recuperado do Managed Runtime.

As expressões são validadas com base nos seguintes critérios:

  • http.host precisa aparecer exatamente uma vez e precisa ser seguido pelo operador eq. O valor deve corresponder à zona.
  • Os campos a seguir são compatíveis:
    • http.host
    • http.request.uri.path
    • http.request.uri
    • http.cookie
  • O comprimento máximo de uma expressão é de 3072 caracteres.
  • O máximo de 100 expressões pode estar associado a uma zona.

Ao continuar seu lançamento em fases, você pode rotear mais solicitações para o Managed Runtime.

Para alterar uma expressão de roteamento, use getMrtRule para obter os IDs do conjunto de regras e a regra associados à expressão que você quer atualizar:

Em seguida, use updateMrtRule para atualizar a expressão:

Para desabilitar o roteamento, use getMrtRule para obter o ID do conjunto de regras:

Em seguida, use deleteMrtRuleset para remover o roteamento do Managed Runtime para aquele conjunto de regras:

Quando você concluir sua implementação em fases ou se você estiver lançando um novo site, é possível escolher rotear todo o tráfego de uma zona para o Managed Runtime usando uma única expressão:

Em ambientes em que a eCDN não está disponível, use o composable-hybrid-dev-server para simular o roteamento da eCDN.

Para acessar o código, você precisa acessar o Salesforce Commerce Cloud GitHub.