From 018ee2e7c47e57ac225241840929413676d027b2 Mon Sep 17 00:00:00 2001 From: andy Date: Thu, 5 Apr 2018 14:50:20 -0400 Subject: [PATCH 1/9] Added and documented new method add_subscription --- .gitignore | 3 ++- .yardoc/checksums | 4 ++-- .yardoc/object_types | Bin 1171 -> 1253 bytes .yardoc/objects/root.dat | Bin 27150 -> 31991 bytes lib/ontraport.rb | 26 ++++++++++++++++++++++++-- 5 files changed, 28 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 34ac40c..d5397db 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ ontraport.sublime-project ontraport.sublime-workspace *.gem -/doc/* \ No newline at end of file +/doc/* +.idea \ No newline at end of file diff --git a/.yardoc/checksums b/.yardoc/checksums index 381a7f7..8004f69 100644 --- a/.yardoc/checksums +++ b/.yardoc/checksums @@ -1,5 +1,5 @@ -lib/ontraport.rb b594b805dde3c592fd7cbad36b2c4669b73b26e7 -lib/ontraport/version.rb 91989823b1c7e27b077df5cbfa78e912fd7e9400 +lib/ontraport.rb 4e92e3ae03dce3b011de79fc98f6378112acf67d +lib/ontraport/version.rb 65d06275f9c937d20387da033fb820edc859f319 lib/ontraport/response.rb a6560cd7c27414b42d2070db67f466f8e1be050e lib/ontraport/exceptions.rb 2847613063c8f69f5c22a2a19b8e445b66075729 lib/ontraport/configuration.rb c0cecf8a66acf72e84d7c97e89f602a92a6f8f21 diff --git a/.yardoc/object_types b/.yardoc/object_types index c2a3c5333bc99e36c0192c0f31b988c28dc94885..2c237152869ae8a91ce2c149369cdd4955705243 100644 GIT binary patch delta 92 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 Lju}c_AyxiA)ZP7{ literal 27150 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 # + # + # @see https://api.ontraport.com/live/#!/objects/addSubscription API docs + # + # @param object_type [Symbol] the type of object + # @param id [Array, Integer] id or array of ids of objects to subscribe + # @param add_list [Array, Integer] id or array of ids of Campaigns or Sequences to subscribe the object to + # @param sub_type [String, nil] possible values are "Sequence" or "Campaign" defaults to "Campaign" + # @param params [Hash, nil] extra stuff to add to request data. Use +.describe+ to get a list of available fields. + # @return [Response] + + def self.add_subscription object_type, id, add_list, sub_type = 'Campaign', params = {} + objects_call :put, object_type, endpoint: '/objects/subscribe', + data: params.update( + id: Array(id), + sub_type: sub_type, + add_list: Array(add_list) + ) + end + # @!endgroup # @!group "Transactions" Methods @@ -166,8 +190,6 @@ def self.get_order order_id request_with_authentication :get, endpoint: '/transaction/order', data: { id: order_id } end - # @!endgroup - private def self.request_with_authentication method, endpoint:, data: nil data_param = method.eql?(:get) ? :query : :body From e61e1bd8c5a15bff9f18125702f3cd62474d5d21 Mon Sep 17 00:00:00 2001 From: andy Date: Thu, 5 Apr 2018 14:53:23 -0400 Subject: [PATCH 2/9] Added the endgroup back after transactions. Oops --- lib/ontraport.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/ontraport.rb b/lib/ontraport.rb index 7a28fec..00a7daa 100644 --- a/lib/ontraport.rb +++ b/lib/ontraport.rb @@ -190,6 +190,9 @@ def self.get_order order_id request_with_authentication :get, endpoint: '/transaction/order', data: { id: order_id } end + # @!endgroup + # + private def self.request_with_authentication method, endpoint:, data: nil data_param = method.eql?(:get) ? :query : :body From 71971736681955808579947dbe93490feca9aebc Mon Sep 17 00:00:00 2001 From: andy Date: Thu, 5 Apr 2018 15:24:28 -0400 Subject: [PATCH 3/9] Changed version. --- .gitignore | 3 ++- CHANGELOG.md | 2 ++ lib/ontraport/version.rb | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index d5397db..16a444c 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ ontraport.sublime-project ontraport.sublime-workspace *.gem /doc/* -.idea \ No newline at end of file +.idea +.ruby-version \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 6ef68db..93bd3c2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ # Unreleased +- Added new method add_subscription + # 0.1.21 - September 6, 2017 - require HTTParty in main module (fixes #1) diff --git a/lib/ontraport/version.rb b/lib/ontraport/version.rb index 0c98a2f..78498ae 100644 --- a/lib/ontraport/version.rb +++ b/lib/ontraport/version.rb @@ -1,3 +1,3 @@ module Ontraport - VERSION = '0.1.21' + VERSION = '0.1.3' end From a04945a46b2ceb60ecdb730151ced445bbcfbc61 Mon Sep 17 00:00:00 2001 From: andy Date: Thu, 5 Apr 2018 15:28:23 -0400 Subject: [PATCH 4/9] Id should be ids. --- lib/ontraport.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/ontraport.rb b/lib/ontraport.rb index 00a7daa..3f006b9 100644 --- a/lib/ontraport.rb +++ b/lib/ontraport.rb @@ -162,16 +162,16 @@ def self.untag_objects object_type, object:, tag: # @see https://api.ontraport.com/live/#!/objects/addSubscription API docs # # @param object_type [Symbol] the type of object - # @param id [Array, Integer] id or array of ids of objects to subscribe + # @param ids [Array, Integer] id or array of ids of objects to subscribe # @param add_list [Array, Integer] id or array of ids of Campaigns or Sequences to subscribe the object to # @param sub_type [String, nil] possible values are "Sequence" or "Campaign" defaults to "Campaign" # @param params [Hash, nil] extra stuff to add to request data. Use +.describe+ to get a list of available fields. # @return [Response] - def self.add_subscription object_type, id, add_list, sub_type = 'Campaign', params = {} + def self.add_subscription object_type, ids, add_list, sub_type = 'Campaign', params = {} objects_call :put, object_type, endpoint: '/objects/subscribe', data: params.update( - id: Array(id), + ids: Array(ids), sub_type: sub_type, add_list: Array(add_list) ) @@ -191,7 +191,7 @@ def self.get_order order_id end # @!endgroup - # + # private def self.request_with_authentication method, endpoint:, data: nil From 92a3376021f9c201c65a35e7df42f24c33fc7ae9 Mon Sep 17 00:00:00 2001 From: andy Date: Thu, 5 Apr 2018 15:54:03 -0400 Subject: [PATCH 5/9] Need to convert arrays to CSVs. --- lib/ontraport.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/ontraport.rb b/lib/ontraport.rb index 3f006b9..32738ce 100644 --- a/lib/ontraport.rb +++ b/lib/ontraport.rb @@ -171,9 +171,9 @@ def self.untag_objects object_type, object:, tag: def self.add_subscription object_type, ids, add_list, sub_type = 'Campaign', params = {} objects_call :put, object_type, endpoint: '/objects/subscribe', data: params.update( - ids: Array(ids), + ids: Array(ids).join(','), sub_type: sub_type, - add_list: Array(add_list) + add_list: Array(add_list).join(',') ) end From fba8ace08df2ac151229fc22dbf9b49f85beaa65 Mon Sep 17 00:00:00 2001 From: andy Date: Thu, 5 Apr 2018 16:56:03 -0400 Subject: [PATCH 6/9] Added "debug_mode" and updated changelog to reflect changes. --- .yardoc/checksums | 8 ++++---- .yardoc/object_types | Bin 1253 -> 1423 bytes .yardoc/objects/root.dat | Bin 31991 -> 34436 bytes CHANGELOG.md | 4 +++- lib/ontraport.rb | 6 +++++- lib/ontraport/configuration.rb | 8 +++++++- lib/ontraport/response.rb | 7 ++++++- 7 files changed, 25 insertions(+), 8 deletions(-) diff --git a/.yardoc/checksums b/.yardoc/checksums index 8004f69..61b18cc 100644 --- a/.yardoc/checksums +++ b/.yardoc/checksums @@ -1,5 +1,5 @@ -lib/ontraport.rb 4e92e3ae03dce3b011de79fc98f6378112acf67d -lib/ontraport/version.rb 65d06275f9c937d20387da033fb820edc859f319 -lib/ontraport/response.rb a6560cd7c27414b42d2070db67f466f8e1be050e +lib/ontraport.rb 306376bf02a3e2270837fc52572b60bf15ea4405 +lib/ontraport/version.rb 13bacfd933f7b6f9cd998cabbcaba4ce15fd9ea2 +lib/ontraport/response.rb 29aed67b1e4f4f54a179c11680e19df0cbf4de77 lib/ontraport/exceptions.rb 2847613063c8f69f5c22a2a19b8e445b66075729 -lib/ontraport/configuration.rb c0cecf8a66acf72e84d7c97e89f602a92a6f8f21 +lib/ontraport/configuration.rb 3c1a8c931b393a146d44360862182f69173c282b diff --git a/.yardoc/object_types b/.yardoc/object_types index 2c237152869ae8a91ce2c149369cdd4955705243..f9d1146df39173626f6db0dc0a5eb3473b121e1b 100644 GIT binary patch delta 105 zcmaFL+0Q+pk5PSN|2?M3PRybL`9+!OnR$sh@kObHrK!awlhc|1GJ7g%O#a9$DVUO) sRGJ>2o1c=(X3g&AsiX-K6+(#GLWIGJxia%IOEMF4GOJQ2C$O{v0K_dMiU0rr delta 20 ccmeC@e#$wak5PGJ|2?M3Gnl_m=3{LH09U{WHvj+t diff --git a/.yardoc/objects/root.dat b/.yardoc/objects/root.dat index 768253326fa1fe95dd5625ee35fc6769ed3ae712..a9a2a11e5991ccf81ab1076f159dc7d3f0a543a0 100644 GIT binary patch delta 3415 zcma)9TWlN071iv@G);-LBkE;Yj}c|P5{052H%&QavyvmqR4vn@*jP5}s7rAvZ%poz zyObPT3={)x0yt;|iU4-%6fJ_F9}SAuUoG1Hxc%$h z01ZH>WxBc4_rn z?Hh ztYf>;JuE`Bl2Ljx9zP>$g)5j)({-vUnJYAh1(cKmy?jwps97OuR!G*Vq=?Ckl%ldi z%Y`&+s!4?nO`(bEalv4$eBKmQ#^lTeTDU0Dsvk95X;mwqj@4a<a{__W5VWACia3sgS+DO-dYWUd21sMAI8Qd2K`@T>CyS+)zzLq>sBJiK&^Bwmpp$cABKJy-2TlQCDeqKtAZJ*t0aRj>r{Yo~eX5_2V>ZX|4km4*HIl<0u?Pv4m_uk+>O%hWA$GD*D zvL+X#fP<~X*~zk$ofEjz96MhIBNiyuzy%A`Yv6Yx+lH0B#{M7H&{LM`Yc+7u0)JKm zPg~$`YGBj?vD6ix&RF1QRnUll$B)wUl9Mbh3tT79;;83Lv^ZFK`Q7^E)0I=k%x~1f z6qFNX{x;W%trqsZ(kE%2kWTp1deHrh%2wOi_XA7}up|sz?BP=Z2KjWSh&CqcP2$pS z5|>}wB(`*0!jaf3a6`P@UT#LXyQj1C-o*|=CgBhA+(4Zx0p?-rtY2_4^haW2@Rp|= zqP{lhDY{|p*$+qvCN3@E=haJ}x6bnNAz014!V!Q+6d!bEr)MdZ(=;Z^8Qm`_o5=s0 zQbx^Xk#3$uVxkpRvCoANEod7O3MD1w!av9#^zvMc2lB|M+li!Ky`wSsarSX{jIZ8Q zZXbc)XW#xxlTD49W?@^QBnEFOodlU(NqUxemCg0Ay=JA`VN^X~1nYy0`jT7a*`r~$ z6u>NT*;jHemnA#7UA%o$dC6V0%i$;aSIY{IYuDX7b)wr^asLZ^pjsi*z>5AR*@ge= z>+an;-ArK_{+aiZ2@s11r>v=pxe2pztIWnB%pFF~*A#0o47>}K} ztwMUHe8rO680UuF51tK1d|u<7(4dRtGg=QDZ-J@{FDwir5w}C8=y}507^*mL_Gd#P z$}t?UDFad_@xjfU*JYvbQEreNg$wy1JLt&|wB4$;$%V!}(fp&^))BOz`fcIjKC8NB zxR^G3xSIK@xy$HpV`C2+j;m~>n;j0bQ5I$$%*zHMKC`-` zvLY8`(cs-mf@+r-t2<(5hQ*9@z@0fK46gNV9~P-1UB;oU7er+ZM{$~-us_30Up)af zm2gCS9gU)}F<5R_@>QD(2s|dYm`!d~z0S2bJ7&JIrZJmoG+y<(A@pJ~MAKqMm#V>I z>?W0F>uC;`cACTGm(!e+U8=Ay4hi)v&&~^6(V*=(%US}wZiw%ean-`Hr4hen;>I3} zqU$cwFr3=h>_$JZA^a+vcCtX29g!(JDpUA$@2dF~|9 zO4pwo=Hc2_*8}ete28#CxS1T{1@0c)-s;7%_V=w3oG7khe_x0X_C}S0CgxPF;IIBe zAPHOygyI0n!ZXFgyvhfGXoL9gPROX8u^7hFcHraUSnDnyH1C3q00iy^ADlGk?;-2* P;?`RgRgcwxMmPT-6<-O1 delta 1859 zcma)7UrbwN6yJ9*{ReGXV6+{q&=m))YJ0)W#eNj-m=p@5U0a6IvSDd&>BZ8*ZGkb^ zDj94+GewWOXiVIUFZ$p@ZsG$k8Z*t}iy?-{gK_epiHQ%+7vh77A1!TfH8Xp-_kQPh z&i9?)ch2wRF5jef|3YPD%7v%a%f2}QziXASW-b$dI59-g3O*vXp0ZJBT?{?fjKo#@ z20|n7Y5Q?VwA;}g_@v!JR#u=Kw=3+X(}ED1Z{Z`y;i01m9yq+H9F`mnVxVK2R(ypu zPOP=Vm7XJTzUu~cmV!6BPKym^Hj%-{rKXaJ6lYCvb0&*L$eZwb_XgS$UCw(5dYuPF zV{Z&~=!d#}ewW8>a+sPKYpb=bwONkUgSf$Eew54PGHdo@;Y(L5s)RpXVO1B_3=&4F zFs#q(AlX29!JSjcu!HAWd zuf5=xN%p>fSq)lF1=?^U$dBjrHK8F`i`8X@ z7PPp>bp{VDDC{bM3q@E8Q}*&XflqUc9KSG#dvjj=B1^d`Je&hvMKDwV`-)(y0QMKb zl>&G+4|-YZRskKzqb&7t0dyC^&kLZZ2;R?wdt}KYuJKAV;A1I7V?PN~1`o(_&KxW? z&+i}7l>L$@a#?3_owWlC2XIjQWr8MxfZtxWYc3@5MKvB}@JkF10Tb6}!VHe!CVX@- ziM#b!A<3aDWk5_R17bcl1JcThpggExDK*WjbFw#hvdVyMnMV9RUWJejex2+#mJnpH z7Dw?BR*7>g;kH%>9&-ioiA`hyob;0S&E!s*jphv?OudDMAtRWfW!gq_i3m&|uBNF@ z8qkx+G|B`Y&(0|kUnlHLKdbJfb0Tw@(LH!~$_;`Lfx47YM;uQ(u{DWpO3XNMD_@D* zcs;mNW7-Z{QYIB_rmJBy#q8y809pEmW+c1y979M`0eCO{TF%un^8w=F>lseNmjs-e zeLENM-R!HH#S&L^Zn1KbX7Yv0W_URFAzFnuFO6$fOJZg7{!CUSfzp-{Q`$0OKDuQJ zJh3k*GAZO5!z{(qSrNsHIH5@J)hxc}D~e28>@lHQ56@hk)scLqbu^MX8sUqpmdt4~hWolGJi&;(D z#Os+L>hY2Ml8KW`6UrYyA+#*@qNF&zbd*MoaOc_~4WHoCd??Oe=2&VAep)t=S=?Q2 zq;<3%E+z~_DHhsp@FdbgXeueBt>I)M%8$ Date: Thu, 5 Apr 2018 20:20:09 -0400 Subject: [PATCH 7/9] Fixed a small mistake. --- lib/ontraport.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ontraport.rb b/lib/ontraport.rb index ca32cfb..53a27c4 100644 --- a/lib/ontraport.rb +++ b/lib/ontraport.rb @@ -212,7 +212,7 @@ def self.request_with_authentication method, endpoint:, data: nil parsed_response = response.parsed_response - @configuration.debug_mode ? parsed_response.update(original_response: response.request) : nil + @configuration.debug_mode ? parsed_response.update(original_request: response.request) : nil Response.new **parsed_response.symbolize_keys end From 3fae2beddc4a18a90555a965a1e9f589796f6b15 Mon Sep 17 00:00:00 2001 From: andy Date: Thu, 5 Apr 2018 21:09:53 -0400 Subject: [PATCH 8/9] Request body is now converted to json string except for get requests. This should allow for nested objects to be submitted correctly. --- lib/ontraport.rb | 52 ++++++++++++++++++++++++++---------------------- 1 file changed, 28 insertions(+), 24 deletions(-) diff --git a/lib/ontraport.rb b/lib/ontraport.rb index 53a27c4..5b2b22f 100644 --- a/lib/ontraport.rb +++ b/lib/ontraport.rb @@ -194,37 +194,41 @@ def self.get_order order_id # private - def self.request_with_authentication method, endpoint:, data: nil - data_param = method.eql?(:get) ? :query : :body - args = [method, "#{BASE_URL}#{API_VERSION}#{endpoint}"] - kwargs = { - :headers => { 'Api-Appid' => @configuration.api_id, 'Api-Key' => @configuration.api_key }, - data_param => data - } + def self.request_with_authentication method, endpoint:, data: nil + data_param = method.eql?(:get) ? :query : :body + request_content = data_param.eql?(:body) ? data.to_json : data - response = HTTParty.send *args, **kwargs + args = [method, "#{BASE_URL}#{API_VERSION}#{endpoint}"] + kwargs = { + :headers => { 'Api-Appid' => @configuration.api_id, + 'Api-Key' => @configuration.api_key, + 'Content-Type' => 'application/json' }, + data_param => request_content + } - unless response.code.eql? 200 - error = "#{response.code} #{response.msg}" - raise APIError.new(response.body.present? ? "#{error} - #{response.body}" : error) - end + response = HTTParty.send *args, **kwargs - parsed_response = response.parsed_response + unless response.code.eql? 200 + error = "#{response.code} #{response.msg}" + raise APIError.new(response.body.present? ? "#{error} - #{response.body}" : error) + end - @configuration.debug_mode ? parsed_response.update(original_request: response.request) : nil + parsed_response = response.parsed_response - Response.new **parsed_response.symbolize_keys - end + @configuration.debug_mode ? parsed_response.update(original_request: response.request) : nil - def self.objects_call method, object_type, endpoint:, data: {} - metadata = describe object_type - data.update 'objectID' => metadata['schema_object_id'] + Response.new **parsed_response.symbolize_keys + end - request_with_authentication method, endpoint: endpoint, data: data - end + def self.objects_call method, object_type, endpoint:, data: {} + metadata = describe object_type + data.update 'objectID' => metadata['schema_object_id'] - def self.objects_meta - @objects_meta_cache ||= request_with_authentication :get, endpoint: '/objects/meta' - end + request_with_authentication method, endpoint: endpoint, data: data + end + + def self.objects_meta + @objects_meta_cache ||= request_with_authentication :get, endpoint: '/objects/meta' + end end From aff629e99bb3c8f6659ee18850bbcf581c7db300 Mon Sep 17 00:00:00 2001 From: andy Date: Thu, 5 Apr 2018 21:54:20 -0400 Subject: [PATCH 9/9] Added remove_subscription method. --- lib/ontraport.rb | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/lib/ontraport.rb b/lib/ontraport.rb index 5b2b22f..234f84e 100644 --- a/lib/ontraport.rb +++ b/lib/ontraport.rb @@ -177,6 +177,30 @@ def self.add_subscription object_type, ids, add_list, sub_type = 'Campaign', par ) end + # Remove a subscription from an object. + # + # @example + # Ontraport.remove_subscription :contact, 12345, [150,200], "Campaign", { range: 5 } + # #=> # + # + # @see https://api.ontraport.com/live/#!/objects/addSubscription API docs + # + # @param object_type [Symbol] the type of object + # @param ids [Array, Integer] id or array of ids of objects to subscribe + # @param remove_list [Array, Integer] id or array of ids of Campaigns or Sequences to unsubscribe the object to + # @param sub_type [String, nil] possible values are "Sequence" or "Campaign" defaults to "Campaign" + # @param params [Hash, nil] extra stuff to add to request data. Use +.describe+ to get a list of available fields. + # @return [Response] + + def self.remove_subscription object_type, ids, remove_list, sub_type = 'Campaign', params = {} + objects_call :delete, object_type, endpoint: '/objects/subscribe', + data: params.update( + ids: Array(ids).join(','), + sub_type: sub_type, + remove_list: Array(remove_list).join(',') + ) + end + # @!endgroup # @!group "Transactions" Methods