shopify_api 5.2.1 → 5.2.2
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 +4 -4
- data/CHANGELOG +4 -0
- data/lib/shopify_api/resources/ping/conversation.rb +27 -0
- data/lib/shopify_api/resources/ping/delivery_confirmation.rb +10 -0
- data/lib/shopify_api/resources/ping/message.rb +0 -1
- data/lib/shopify_api/version.rb +1 -1
- data/test/fixtures/ping/failed_delivery_confirmation.json +1 -0
- data/test/fixtures/ping/successful_delivery_confirmation.json +1 -0
- data/test/ping/conversation_test.rb +32 -0
- data/test/ping/message_test.rb +23 -0
- metadata +5 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b24e62339306bcf90e50246ef4e98f4ffa46c6a885d5859b14969f3aa1e62c9c
|
4
|
+
data.tar.gz: 7e57071a073cb0e5e2bda965a1ef4cef3cc42a968905b407df9184757a04ec3b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5224d787f4cc65f3174fa894098af11b7342059510c916fc4359ab2285793053e97bfb8eee318e136410fe6fd67626f7146f7f7727f8dba4e5bcc1b32867d597
|
7
|
+
data.tar.gz: 54c9dfed163c44b51fd811ba38efcf4c157ffdcaad5b5cc7f064e035ad0c890d9580b20ed316b75f99cac6368eb19e17e19c1a2da1bb556eb49562dd3f947a72
|
data/CHANGELOG
CHANGED
@@ -13,6 +13,33 @@ module ShopifyAPI
|
|
13
13
|
message.save
|
14
14
|
message
|
15
15
|
end
|
16
|
+
|
17
|
+
def successful_delivery(message_id:, delivery_timestamp:)
|
18
|
+
delivery_details = ShopifyAPI::Ping::DeliveryConfirmation.new(
|
19
|
+
conversation_id: id,
|
20
|
+
message_id: message_id,
|
21
|
+
delivery_confirmation_details: {
|
22
|
+
delivered: true,
|
23
|
+
confirmation_timestamp: delivery_timestamp,
|
24
|
+
}
|
25
|
+
)
|
26
|
+
delivery_details.save
|
27
|
+
delivery_details
|
28
|
+
end
|
29
|
+
|
30
|
+
def failed_delivery(message_id:, delivery_timestamp:, details:)
|
31
|
+
delivery_details = ShopifyAPI::Ping::DeliveryConfirmation.new(
|
32
|
+
conversation_id: id,
|
33
|
+
message_id: message_id,
|
34
|
+
delivery_confirmation_details: {
|
35
|
+
delivered: false,
|
36
|
+
confirmation_timestamp: delivery_timestamp,
|
37
|
+
details: details,
|
38
|
+
}
|
39
|
+
)
|
40
|
+
delivery_details.save
|
41
|
+
delivery_details
|
42
|
+
end
|
16
43
|
end
|
17
44
|
end
|
18
45
|
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module ShopifyAPI
|
4
|
+
module Ping
|
5
|
+
class DeliveryConfirmation < Base
|
6
|
+
self.prefix = "/admin/api/ping-api/v1/conversations/:conversation_id/messages/:message_id/"
|
7
|
+
self.collection_name = "delivery_confirmation"
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
data/lib/shopify_api/version.rb
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
{"delivery_confirmation_details":{"delivery_timestamp":"2018-08-29T22:16:05.589479Z","delivered":"false","details":"Integration failed to deliver message."}}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"delivery_confirmation_details":{"delivery_timestamp":"2018-08-29T22:16:05.589479Z","delivered":"true"}}
|
@@ -36,4 +36,36 @@ class PingConversationTest < Test::Unit::TestCase
|
|
36
36
|
|
37
37
|
assert_equal "d0c7a2e6-8084-4e79-8483-e4a1352b81f7", message.id
|
38
38
|
end
|
39
|
+
|
40
|
+
def test_successful_delivery
|
41
|
+
fake("api/ping-api/v1/conversations/123/messages/111/delivery_confirmation",
|
42
|
+
method: :post,
|
43
|
+
body: load_fixture('ping/successful_delivery_confirmation'))
|
44
|
+
|
45
|
+
conversation = ShopifyAPI::Ping::Conversation.new(id: '123')
|
46
|
+
delivery_confirmation = conversation.successful_delivery(
|
47
|
+
message_id: '111',
|
48
|
+
delivery_timestamp: "2018-08-29T22:16:05.589479Z"
|
49
|
+
)
|
50
|
+
|
51
|
+
assert_equal("true", delivery_confirmation.delivered)
|
52
|
+
assert_equal("2018-08-29T22:16:05.589479Z", delivery_confirmation.delivery_timestamp)
|
53
|
+
end
|
54
|
+
|
55
|
+
def test_failed_delivery
|
56
|
+
fake("api/ping-api/v1/conversations/123/messages/111/delivery_confirmation",
|
57
|
+
method: :post,
|
58
|
+
body: load_fixture('ping/failed_delivery_confirmation'))
|
59
|
+
|
60
|
+
conversation = ShopifyAPI::Ping::Conversation.new(id: '123')
|
61
|
+
delivery_confirmation = conversation.failed_delivery(
|
62
|
+
message_id: '111',
|
63
|
+
delivery_timestamp: Time.now.to_s,
|
64
|
+
details: "Integration failed to deliver message."
|
65
|
+
)
|
66
|
+
|
67
|
+
assert_equal("false", delivery_confirmation.delivered)
|
68
|
+
assert_equal("2018-08-29T22:16:05.589479Z", delivery_confirmation.delivery_timestamp)
|
69
|
+
assert_equal("Integration failed to deliver message.", delivery_confirmation.details)
|
70
|
+
end
|
39
71
|
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'test_helper'
|
4
|
+
|
5
|
+
class PingMessageTest < Test::Unit::TestCase
|
6
|
+
def test_create_message
|
7
|
+
fake("api/ping-api/v1/conversations/123/messages",
|
8
|
+
method: :post,
|
9
|
+
body: load_fixture('ping/message'))
|
10
|
+
|
11
|
+
message = ShopifyAPI::Ping::Message.new(
|
12
|
+
dedupe_key: SecureRandom.uuid,
|
13
|
+
content: {
|
14
|
+
text: "Hello from shopify_api",
|
15
|
+
},
|
16
|
+
sender_id: 'test',
|
17
|
+
conversation_id: '123',
|
18
|
+
)
|
19
|
+
|
20
|
+
message.save
|
21
|
+
assert_equal("d0c7a2e6-8084-4e79-8483-e4a1352b81f7", message.id)
|
22
|
+
end
|
23
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shopify_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.2.
|
4
|
+
version: 5.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shopify
|
@@ -250,6 +250,7 @@ files:
|
|
250
250
|
- lib/shopify_api/resources/payment_details.rb
|
251
251
|
- lib/shopify_api/resources/ping.rb
|
252
252
|
- lib/shopify_api/resources/ping/conversation.rb
|
253
|
+
- lib/shopify_api/resources/ping/delivery_confirmation.rb
|
253
254
|
- lib/shopify_api/resources/ping/message.rb
|
254
255
|
- lib/shopify_api/resources/policy.rb
|
255
256
|
- lib/shopify_api/resources/price_rule.rb
|
@@ -374,7 +375,9 @@ files:
|
|
374
375
|
- test/fixtures/payment.json
|
375
376
|
- test/fixtures/payments.json
|
376
377
|
- test/fixtures/ping/conversation.json
|
378
|
+
- test/fixtures/ping/failed_delivery_confirmation.json
|
377
379
|
- test/fixtures/ping/message.json
|
380
|
+
- test/fixtures/ping/successful_delivery_confirmation.json
|
378
381
|
- test/fixtures/policies.json
|
379
382
|
- test/fixtures/price_rule.json
|
380
383
|
- test/fixtures/price_rules.json
|
@@ -429,6 +432,7 @@ files:
|
|
429
432
|
- test/order_test.rb
|
430
433
|
- test/payment_test.rb
|
431
434
|
- test/ping/conversation_test.rb
|
435
|
+
- test/ping/message_test.rb
|
432
436
|
- test/policy_test.rb
|
433
437
|
- test/price_rule_test.rb
|
434
438
|
- test/product_listing_test.rb
|