{"id":1039,"date":"2017-07-13T13:54:03","date_gmt":"2017-07-13T05:54:03","guid":{"rendered":"https:\/\/tongwing.woon.sg\/blog\/?p=1039"},"modified":"2017-07-13T13:54:03","modified_gmt":"2017-07-13T05:54:03","slug":"starbucks-should-really-make-their-apis-public-tendigi","status":"publish","type":"post","link":"https:\/\/tongwing.woon.sg\/blog\/starbucks-should-really-make-their-apis-public-tendigi\/","title":{"rendered":"Starbucks should really make their APIs public. \u2013 Tendigi"},"content":{"rendered":"<p>See how closed API reverse engineering typically happens.<\/p>\n<p><a href=\"https:\/\/blog.tendigi.com\/starbucks-should-really-make-their-apis-public-6b64a1c2e923\"><img decoding=\"async\" class=\"alignnone size-full\" src=\"https:\/\/cdn-images-1.medium.com\/max\/2000\/1*-Ik8trvjGHQsIbvv3DgBtw.png\" alt=\"\" \/><\/a><\/p>\n<blockquote><p>Now that I was able to sign and fingerprint my login requests, I combined everything into a small Node.js module that allows some basic Starbucks API functions. The good news is that it\u2019s (mostly) hosted here on GitHub!<br \/>\n<br \/>\nVoil\u00e0! Programmatic coffee.<\/p><\/blockquote>\n<p>Source: <em><a href=\"https:\/\/blog.tendigi.com\/starbucks-should-really-make-their-apis-public-6b64a1c2e923\">Starbucks should really make their APIs public. \u2013 Tendigi<\/a><\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>See how closed API reverse engineering typically happens. Now that I was able to sign and fingerprint my login requests, I combined everything into a small Node.js module that allows some basic Starbucks API functions. The good news is that it\u2019s (mostly) hosted here on GitHub! Voil\u00e0! Programmatic coffee. Source: Starbucks should really make their [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"_links":{"self":[{"href":"https:\/\/tongwing.woon.sg\/blog\/wp-json\/wp\/v2\/posts\/1039"}],"collection":[{"href":"https:\/\/tongwing.woon.sg\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tongwing.woon.sg\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tongwing.woon.sg\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tongwing.woon.sg\/blog\/wp-json\/wp\/v2\/comments?post=1039"}],"version-history":[{"count":1,"href":"https:\/\/tongwing.woon.sg\/blog\/wp-json\/wp\/v2\/posts\/1039\/revisions"}],"predecessor-version":[{"id":1040,"href":"https:\/\/tongwing.woon.sg\/blog\/wp-json\/wp\/v2\/posts\/1039\/revisions\/1040"}],"wp:attachment":[{"href":"https:\/\/tongwing.woon.sg\/blog\/wp-json\/wp\/v2\/media?parent=1039"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tongwing.woon.sg\/blog\/wp-json\/wp\/v2\/categories?post=1039"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tongwing.woon.sg\/blog\/wp-json\/wp\/v2\/tags?post=1039"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}