Migrar modelos do app Order Printer para o Shopify Order Printer

Se você tem modelos personalizados no antigo app Order Printer, precisará migrá-los para o novo Shopify Order Printer.

Para migrar modelos, é possível importar os modelos existentes para o app. No entanto, o Shopify Order Printer tem uma implementação um pouco diferente daquela do app herdado. Isso significa que alguns dos modelos existentes podem não funcionar no início, e talvez seja necessário fazer alguns ajustes no código.

Para que os modelos funcionem no novo app, é necessário substituir as variáveis antigas pelas novas. Por exemplo, se você usa a variável date, precisa substituí-la por created_at.

Nesta página, você encontra uma lista de variáveis que talvez precise substituir por novas no app Shopify Order Printer.

Considerações sobre a migração de modelos existentes

Antes de migrar os modelos existentes para o app Shopify Order Printer, analise as seguintes considerações:

Migrar os modelos existentes para o app Shopify Order Printer

Se você tiver modelos do app Order Printer legado, eles poderão ser importados para o app Shopify Order Printer. Vale destacar que não é possível importar modelos específicos, só todos os modelos ao mesmo tempo.

Etapas:

  1. No admin da Shopify, clique em Configurações > Apps e canais de vendas.

  2. Na página Apps e canais de vendas, clique em Order Printer.

  3. Clique em Abrir app.

  4. Clique em Modelos.

  5. Clique em Importar.

  6. Na caixa de diálogo, clique em Importar.

  7. Confira se os modelos usam variáveis herdadas e faça a substituição pelas novas.

  8. Pré-visualize os modelos e verifique se eles são exibidos corretamente.

  9. Opcional: imprima os documentos de teste.

Usar variáveis de pedido no app Shopify Order Printer

As variáveis de pedido são usadas de modo diferente no app Shopify Order Printer. Para acessá-las, é preciso adicionar o prefixo order.. Por exemplo, para acessar a variável billing_address, use order.billing_address.

Estas variáveis de pedido usadas comumente podem ser acessadas sem o prefixo order.:

  • line_items
  • tax_lines
  • fulfillments
  • transactions
  • refunds
  • shipping_methods
  • customer

Por exemplo, se você quiser acessar a variável de itens de linha, poderá usar line_items ou order.line_items.

Também é possível criar seu alias para o modelo. Por exemplo, use a sintaxe do Liquid {% assign fulfillments_count = order.fulfillments | size %} e, em seguida, faça referência com {{ fulfillments_count }} em seu código.

Mapeamento de variáveis

O app Shopify Order Printer usa variáveis distintas do antigo Order Printer. Se os modelos existentes usarem alguma das variáveis listadas nesta seção, será necessário substituir as antigas pelas novas.

Por exemplo, se você usa a variável date, precisa substituí-la por created_at.

Variáveis do pedido

Variáveis do pedido
Variável no antigo app Order Printer Variável no novo app Shopify Order Printer
line_items
  • Os itens de linha reembolsados não são incluídos na variável line_items. Analise as seguintes informações:
    • Acesse itens de linha reembolsados com a variável refunds.<each>.refund_line_items . Analise o exemplo a seguir.
      {% assign refunded_line_items = refunds | map: "refund_line_items" | map: "line_item" %}
    • É possível unir os itens de linha reembolsados com a coleção line_items, se você quiser. Analise o exemplo a seguir.
      {% assign refunded_line_items = order.refunds | map: "refund_line_items" | map: "line_item" %} {% assign line_items_with_refunded = order.line_items | concat: refunded_line_items | uniq %}
    • Inclua o filtro | uniq para evitar duplicação dos itens de linha reembolsados.
  • Os itens de linha de gorjeta não são incluídos na variável line_items. Analise as seguintes informações:
    • É possível acessá-los com a variável tip_line_items.
    • Você tem a opção de unir tip_line_items à coleção line_items, se quiser. Analise o exemplo a seguir.
      {% assign line_items_with_tips = order.line_items | concat: order.tip_line_items %}
  • Para imitar a coleção line_items herdada do Order Printer, use o código de exemplo a seguir.
    {% assign refunded_line_items = refunds | map: "refund_line_items" | map: "line_item" %} {% assign all_line_items = order.line_items | concat: refunded_line_items | concat: order.tip_line_items | uniq %} {% for line_item in all_line_items %} ... {% endfor %}
credit_card Use as informações de pagamento com base em cada transação do pedido com a variável transactions.<each>.payment_details.
current_shipping_price shipping_price
date Use a variável created_at. Use o filtro date para formatar a marcação de data e hora, por exemplo, com {{ order.created_at | date: "%B %e, %Y" }}.
gateways unique_gateways ou transactions.<each>.gateway
order_currency Moeda
processed_at Use a variável created_at, que contém o valor de order.processed_at da API GraphQL. Isso significa o tempo real em que o pedido é processado, em vez do momento em que o pedido é importado para a Shopify. É o mesmo que order.processed_at herdado do app Order Printer. Use o filtro date para formatar a marcação de data e hora, por exemplo, com {{ order.created_at | date: "%B %e, %Y" }}.
payment_transactions

Filtre order.transactions para o status kind na sintaxe Liquid com where ou com loop e if dentro. Analise os exemplos a seguir.

{% assign sale_transactions = order.transactions | where: "kind", "sale" %} {% assign capture_transactions = order.transactions | where: "kind", "capture" %} {% for transaction in transactions %} {% if transaction.kind == "sale" or transaction.kind == "capture" %} Transaction ID: {{ transaction.id }} Kind: {{ transaction.kind }} Amount: {{ transaction.amount | money }} {% endif %} {% endfor %}

{% assign sale_transactions = order.transactions | where: "kind", "sale" %} {% assign capture_transactions = order.transactions | where: "kind", "capture" %} {% assign payment_transactions = sale_transactions | concat: capture_transactions %}

refund_transactions Filtre order.transactions para o status kind na sintaxe Liquid com where ou com loop e if dentro, como no exemplo a seguir. {% assign refund_transactions = order.transactions | where: "kind", "refund" %}
shipping_line shipping_methods | first
shipping_lines shipping_methods
show_line_item_taxes tax_lines.size > 0. É possível defini-la como uma variável no início do modelo e fazer referência várias vezes, como no seguinte exemplo:
{% if tax_lines.size > 0 %} {% assign show_line_item_taxes = true %} {% else %} {% assign show_line_item_taxes = false %} {% endif %}
total_tax tax_price
total_paid net_payment

Variáveis LineItem

Variável LineItem
Variável no antigo app Order Printer Variável no novo app Shopify Order Printer
fulfillable_quantity quantity - successfully_fulfilled_quantity
processado quantity == successfully_fulfilled_quantity
Nome title
product_title product.title
unit_discount quantity ? line_level_total_discount/quantidade: 0
variant_title variant.title
weight gramas

Variáveis de processamento

Variável de processamento de pedidos
Variável no antigo app Order Printer Variável no novo app Shopify Order Printer
date created_at

Variáveis da loja

Variável do Shop
Variável no antigo app Order Printer Variável no novo app Shopify Order Printer
proprietário account_owner.name
endereço shop.address.address1
address2 shop.address.address2
city shop.address.city
país shop.address.country
country_code shop.address.country_code
province shop.address.province
province_code shop.address.province_code
zip shop.address.zip

Variáveis de endereço

Variável de endereço
Variável no antigo app Order Printer Variável no novo app Shopify Order Printer
latitude Se houver referência à variável address no atributo location, agora a latitude e a longitude estarão disponíveis diretamente no próprio objeto location.
longitude Se houver referência à variável address no atributo location, agora a latitude e a longitude estarão disponíveis diretamente no próprio objeto location.

Variáveis do reembolso

Variável de reembolso
Variável no antigo app Order Printer Variável no novo app Shopify Order Printer
date Use a variável created_at. Use o filtro date para formatar a marcação de data e hora, por exemplo, com {{ order.created_at | date: "%B %e, %Y" }}.

Variáveis ShippingLine

Variável ShippingLine
Variável no antigo app Order Printer Variável no novo app Shopify Order Printer
current_price price
price original_price

Variáveis de transação

Estas variáveis de transação foram removidas e não podem ser substituídas no app Shopify Order Printer:

  • authorization
  • message
  • test

Variáveis de variante

Variável de variante
Variável no antigo app Order Printer Variável no novo app Shopify Order Printer
gramas weight

Variáveis de metacampo

Para acessar um metacampo, você precisa especificar o Namespace, e não é necessário adicionar .value à variável. Saiba mais sobre definições de metacampos.

Por exemplo, em vez da variável product.metafields.manufacturerid.value, use a variável product.metafields.custom.manufacturerid.

Para identificar os valores de Namespace em cada metacampo, consulte a página Dados personalizados no admin da Shopify. As definições de metacampos são agrupadas pelos objetos aos quais se referem, como produtos, variantes ou pedidos.

Mapeamento de filtro

Mapeamento de filtro
Filtrar nome no app herdado Order Printer Filtrar nome no novo app Shopify Order Printer
files_url file_url
payment_method e payment_methods Use o campo transaction.gateway_display_name em transações de pedido. As formas de pagamento não são mais categorizadas em tipos específicos, como {cartão de crédito, cartão de débito, transferência bancária}. O Order Printer antigo mapeou apenas um pequeno subconjunto de gateways de pagamento em funcionamento para essas categorias. Os provedores de gateway de pagamento gerenciam os tipos de formas de pagamento usadas pelos clientes.

Tudo pronto para começar a vender com a Shopify?

Experimente de graça