perpetto 0.0.1
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 +7 -0
- data/lib/perpetto/api.rb +60 -0
- metadata +73 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 622ab560e49bdbcbb4fae74ff22c8d39ab14d630
|
|
4
|
+
data.tar.gz: 3380f0934d00ef4d4fdb2f9f62b2d7addca6e29b
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 95dd38b0983d9628ab34de2d6221cece6f439973526af0e85bf23fc2492c8d8f8ff3b65033e30072fdebcc9d43c71df6e737978ea5ab3b805e72a4187b32b676
|
|
7
|
+
data.tar.gz: e58850d60767c4f431537ff1e4b84682dd911c81720f3d15787769af51dc9225b753706f10220f422e92ea0c181f1e1770e1aa2a695d9b7bb7f457dbcecbb63d
|
data/lib/perpetto/api.rb
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
require 'bundler/setup'
|
|
2
|
+
require 'httparty'
|
|
3
|
+
require 'json'
|
|
4
|
+
|
|
5
|
+
module Perpetto
|
|
6
|
+
class API
|
|
7
|
+
|
|
8
|
+
def initialize(account_id, secret)
|
|
9
|
+
@account_id = account_id
|
|
10
|
+
@secret = secret
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def get_shop_info
|
|
14
|
+
get('')
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def get_containers
|
|
18
|
+
get('info/containers')
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def get_campaigns
|
|
22
|
+
get('info/campaigns')
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def cart_paid(cart_id)
|
|
26
|
+
post('backend_track/cart_paid', {cart_id: cart_id})
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def order_voided(cart_id)
|
|
30
|
+
post('backend_track/order_voided', {cart_id: cart_id})
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def item_updated(item_id, item_hash)
|
|
34
|
+
post('backend_track/items_updated', {items: {item_id => item_hash}})
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
private
|
|
38
|
+
def get(path)
|
|
39
|
+
response = HTTParty.get(api_url(path))
|
|
40
|
+
decode_and_check_response(response)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def post(path, body)
|
|
44
|
+
response = HTTParty.post(api_url(path), body: body.to_json, headers: {'Content-Type' => 'application/json' })
|
|
45
|
+
decode_and_check_response(response)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def decode_and_check_response(response)
|
|
49
|
+
response_hash = JSON.parse(response.body)
|
|
50
|
+
puts "Perpetto response: #{response_hash}"
|
|
51
|
+
raise "Perpetto API returned error: #{response_hash['data']['error']}" if response_hash['data']['status'] == 'error'
|
|
52
|
+
response_hash['data']
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
private
|
|
56
|
+
def api_url(path)
|
|
57
|
+
"https://#{@account_id}.api.perpetto.com/v3/#{path}?secret=#{@secret}"
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: perpetto
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.0.1
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Yavor Stoychev
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2018-09-06 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: httparty
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - ">="
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '0'
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - ">="
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '0'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: bundler
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - ">="
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '0'
|
|
34
|
+
type: :runtime
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - ">="
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '0'
|
|
41
|
+
description:
|
|
42
|
+
email: yavor@perpetto.com
|
|
43
|
+
executables: []
|
|
44
|
+
extensions: []
|
|
45
|
+
extra_rdoc_files: []
|
|
46
|
+
files:
|
|
47
|
+
- lib/perpetto/api.rb
|
|
48
|
+
homepage: https://github.com/Perpetto/client-ruby
|
|
49
|
+
licenses:
|
|
50
|
+
- MIT
|
|
51
|
+
metadata:
|
|
52
|
+
source_code_uri: https://github.com/Perpetto/client-ruby
|
|
53
|
+
post_install_message:
|
|
54
|
+
rdoc_options: []
|
|
55
|
+
require_paths:
|
|
56
|
+
- lib
|
|
57
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - ">="
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '0'
|
|
62
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
63
|
+
requirements:
|
|
64
|
+
- - ">="
|
|
65
|
+
- !ruby/object:Gem::Version
|
|
66
|
+
version: '0'
|
|
67
|
+
requirements: []
|
|
68
|
+
rubyforge_project:
|
|
69
|
+
rubygems_version: 2.6.11
|
|
70
|
+
signing_key:
|
|
71
|
+
specification_version: 4
|
|
72
|
+
summary: API client for Perpetto
|
|
73
|
+
test_files: []
|