solidus_meta 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b9df7c2815f8fcf61690d5f9728822ed9d2e38c2395bfd3a903e7765b8e629fc
4
- data.tar.gz: 79881489f2cd955db11445883dd359fa415392525b33728d734f5ebcb94be54c
3
+ metadata.gz: 044a17f1c1fdef34776d69dbe95547093d93d73f43c763a7a3f555f2d8e5535f
4
+ data.tar.gz: 33591806f54b6c78a27d6ad43392831fd6c902116558fa2d5208a59c758b9fb6
5
5
  SHA512:
6
- metadata.gz: 27f7e2c7c2c6301b40f1053d8dec9a531acb5cf34081b2ae5bceddccb8e8a9f022fca3dddfd6ca543690cda4542723652bf586fa389e93015e3a38326723a6dc
7
- data.tar.gz: 9dfbf78a4f965421222ee53d00051727a5600c6e3f3b216a7329ad5063d199da37bd21094bffd130f916c493572cc7df7f13e19bd8611f38afeaf149c0538e2d
6
+ metadata.gz: ef0cc87a051cab5febdf71dce909f22564cfd89b8a273485d9838b388b461e3d47582ad00494f791c260126d2f9df3cfa40db66d9b080958ef084f1d30eecd72
7
+ data.tar.gz: 1b59ad6378d171953d54da71aab06bf74ea17b54b1a969910cd426ec1216da24cbed70daf1e4ef660cf1486ee713467ad8c0dd7be37cf03395609777a8a0a3f6
data/README.md CHANGED
@@ -44,7 +44,7 @@ E dispare o `EventJob` nos pontos do fluxo da loja. O `meta_tracking_data` lê o
44
44
  ```ruby
45
45
  SolidusMeta::EventJob.perform_later("AddToCart", line_item_id: line_item.id, quantity:, **meta_tracking_data)
46
46
  SolidusMeta::EventJob.perform_later("InitiateCheckout", order_id: order.id, **meta_tracking_data)
47
- SolidusMeta::EventJob.perform_later("AddPaymentInfo", payment_id: payment.id, **meta_tracking_data)
47
+ SolidusMeta::EventJob.perform_later("AddPaymentInfo", order_id: order.id, **meta_tracking_data)
48
48
  SolidusMeta::EventJob.perform_later("Purchase", order_id: order.id, **meta_tracking_data)
49
49
  ```
50
50
 
@@ -54,4 +54,4 @@ O `event_time` enviado à Meta é o momento em que o job foi enfileirado.
54
54
 
55
55
  ### Adicionando um evento
56
56
 
57
- Inclua o nome em `SolidusMeta::Event::EVENTS` e crie um método privado em `SolidusMeta::Event` com o nome em snake_case (`ViewContent` → `view_content`). Ele recebe as opções passadas ao job, define `@order` e retorna `event_id`, `path` e, opcionalmente, `fallback` e `custom_data` (que sobrescreve os campos padrão).
57
+ Inclua o nome em `SolidusMeta::Event::EVENTS` e crie um método privado em `SolidusMeta::Event` com o nome em snake_case (`ViewContent` → `view_content`). Ele recebe as opções passadas ao job, define `@order` e retorna `path` e, opcionalmente, `event_id`, `fallback` e `custom_data` (que sobrescreve os campos padrão). Sem `event_id`, o id é `<número do pedido>-<event_time>`, então cada disparo conta como um evento separado. Defina um `event_id` fixo quando o evento só pode contar uma vez por pedido, como o `Purchase`.
@@ -11,11 +11,12 @@ module SolidusMeta
11
11
  def track(event_name, cookies_meta:, ahoy_visit_id: nil, event_time: Time.current, **options)
12
12
  raise Error, "evento não suportado: #{event_name}" unless EVENTS.include?(event_name)
13
13
  event = send(event_name.underscore, **options)
14
+ event_id = event[:event_id] || "#{order.number}-#{event_time.to_time.to_i}"
14
15
 
15
16
  @client.send_event(
16
17
  event_name,
17
18
  event_time:,
18
- event_id: event[:event_id],
19
+ event_id:,
19
20
  event_source_url: File.join(SolidusMeta.config.store_url(order.store), event[:path]),
20
21
  user_data: user_data(cookies_meta, ahoy_visit_id, fallback: event[:fallback]),
21
22
  custom_data: {
@@ -37,7 +38,7 @@ module SolidusMeta
37
38
  @order = line_item.order
38
39
 
39
40
  {
40
- event_id: "#{line_item.id}#{line_item.updated_at.to_i}",
41
+ event_id: "#{line_item.id}-#{line_item.updated_at.to_i}",
41
42
  path: "carrinho",
42
43
  fallback: "sem usuário",
43
44
  custom_data: {
@@ -52,23 +53,22 @@ module SolidusMeta
52
53
  @order = Spree::Order.find(order_id)
53
54
 
54
55
  {
55
- event_id: order.number,
56
56
  path: "checkout/address/edit",
57
- custom_data: {num_items: order.line_items.count}
57
+ custom_data: {
58
+ num_items: order.line_items.count
59
+ }
58
60
  }
59
61
  end
60
62
 
61
- def add_payment_info(payment_id:)
62
- payment = Spree::Payment.find(payment_id)
63
- @order = payment.order
63
+ def add_payment_info(order_id:)
64
+ @order = Spree::Order.find(order_id)
64
65
 
65
66
  {
66
- event_id: order.number,
67
67
  path: "checkout/payment",
68
68
  custom_data: {
69
- currency: payment.currency,
70
- value: payment.amount.to_f,
71
- content_id: payment.number
69
+ currency: "BRL",
70
+ value: order.total.to_f,
71
+ content_id: order.id
72
72
  }
73
73
  }
74
74
  end
@@ -76,7 +76,10 @@ module SolidusMeta
76
76
  def purchase(order_id:)
77
77
  @order = Spree::Order.find(order_id)
78
78
 
79
- {event_id: order.number, path: "pedidos"}
79
+ {
80
+ event_id: order.number,
81
+ path: "pedidos"
82
+ }
80
83
  end
81
84
 
82
85
  def user_data(cookies_meta, ahoy_visit_id, fallback: nil)
@@ -112,7 +115,11 @@ module SolidusMeta
112
115
  end
113
116
 
114
117
  def content_line_item(line_item, quantity)
115
- {id: line_item.sku, quantity:, item_price: line_item.price.to_f}
118
+ {
119
+ id: line_item.sku,
120
+ quantity:,
121
+ item_price: line_item.price.to_f
122
+ }
116
123
  end
117
124
 
118
125
  def address
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SolidusMeta
4
- VERSION = "1.0.0"
4
+ VERSION = "1.1.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solidus_meta
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - marialuiza1324