Migrar do app Order Printer para 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. 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 PrinterVariá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_cardUse as informações de pagamento com base em cada transação do pedido com a variável transactions.<each>.payment_details.
current_shipping_priceshipping_price
dateUse 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_currencyMoeda
processed_atUse 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_transactionsFiltre 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_lineshipping_methods | first
shipping_linesshipping_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_taxtax_price
total_paidnet_payment

Variáveis LineItem

Variável LineItem
Variável no antigo app Order PrinterVariável no novo app Shopify Order Printer
fulfillable_quantityquantity - successfully_fulfilled_quantity
processadoquantity == successfully_fulfilled_quantity
Nometitle
product_titleproduct.title
unit_discountquantity ? line_level_total_discount/quantidade: 0
variant_titlevariant.title
weightgramas

Variáveis de processamento

Variável de processamento de pedidos
Variável no antigo app Order PrinterVariável no novo app Shopify Order Printer
datecreated_at

Variáveis da loja

Variável do Shop
Variável no antigo app Order PrinterVariável no novo app Shopify Order Printer
proprietárioaccount_owner.name
endereçoshop.address.address1
address2shop.address.address2
cityshop.address.city
paísshop.address.country
country_codeshop.address.country_code
provinceshop.address.province
province_codeshop.address.province_code
zipshop.address.zip

Variáveis de endereço

Variável de endereço
Variável no antigo app Order PrinterVariável no novo app Shopify Order Printer
latitudeSe 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.
longitudeSe 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 PrinterVariável no novo app Shopify Order Printer
dateUse 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 PrinterVariável no novo app Shopify Order Printer
current_priceprice
priceoriginal_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 PrinterVariável no novo app Shopify Order Printer
gramasweight

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 PrinterFiltrar nome no novo app Shopify Order Printer
files_urlfile_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.
Não encontrou as respostas que está procurando? Estamos sempre à disposição para ajudar você.