{"id":848,"date":"2010-03-01T15:19:42","date_gmt":"2010-03-01T07:19:42","guid":{"rendered":"http:\/\/blog.lolyco.com\/sean\/?p=848"},"modified":"2011-01-29T19:53:07","modified_gmt":"2011-01-29T11:53:07","slug":"new-pos-malaysia-parcel-rates","status":"publish","type":"post","link":"https:\/\/blog.lolyco.com\/sean\/2010\/03\/01\/new-pos-malaysia-parcel-rates\/","title":{"rendered":"NEW: Pos Malaysia Parcel rates"},"content":{"rendered":"<p>All this work is now packaged up into the <a href=\"http:\/\/spider.my\/about\/API.xhtml\">spider.my Shipping Quotations API<\/a>. Check there for latest shipping API methods, shipping modules etc.<\/p>\n<div id=\"attachment_849\" style=\"width: 230px\" class=\"wp-caption alignright\"><a href=\"http:\/\/blog.lolyco.com\/sean\/2010\/02\/26\/pos-malaysia-shipping-widget-for-your-website\/\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-849\" class=\"size-full wp-image-849 \" title=\"0.5kg to France, 4 quotes: Pos Laju Document and Parcel, Pos Parcel Surface and Air\" src=\"http:\/\/blog.lolyco.com\/sean\/wp-content\/uploads\/2010\/03\/spider.my_.pos_.widget.0.5.to_.france.jpeg\" alt=\"0.5kg to France, 4 quotes: Pos Laju Document and Parcel, Pos Parcel Surface and Air\" width=\"220\" height=\"278\" \/><\/a><p id=\"caption-attachment-849\" class=\"wp-caption-text\">0.5kg to France, 4 quotes: Pos Laju Document and Parcel, Pos Parcel Surface and Air<\/p><\/div>\n<p>This morning I modified the International Pos Laju rates ripping code to get a full set of Pos Malaysia&#8217;s International Parcel rates. If you <a href=\"http:\/\/blog.lolyco.com\/sean\/2010\/02\/26\/pos-malaysia-shipping-widget-for-your-website\/\">use the widget on my blog<\/a>, you&#8217;ll see that the countries to which Pos Malaysia ships by Pos Laju will also offer Pos Parcel &#8216;Surface&#8217; and &#8216;Air&#8217; prices where these are available. Try 0.5kg to France, for example. You should see something like the image here.<\/p>\n<p>There are far more countries listed under the Parcel shipping method at Pos&#8217; website, but I&#8217;m not listing those for now. I mentioned earlier that there&#8217;s an issue with free-format country names on Pos&#8217; website. The Parcel method country names are just as bad as the Pos Laju ones, listing Yugoslavia &#8211; for example &#8211; which hasn&#8217;t existed as a country since 2003. Also, you won&#8217;t see parcel quotes for Germany because Pos&#8217; website has it listed as &#8216;German&#8217; (no &#8216;y&#8217; &#8211; see also Luxembourg and Luxzembourg, Netherlands and Netherland). And the United Kingdom is listed as &#8216;Great Britain&#8217;. The &#8216;new &#8216; countries (including misspelled ones) are all available from the <a href=\"http:\/\/spider.my\/posmalaysia2.html\">AJAX shipping quotation demonstration page<\/a>. See the <a href=\"http:\/\/spider.my\/pos-malaysia-shipping-quote-2\/0.2-to-Bahrain.xml\">updated XML for a 0.2kg shipment to Bahrain<\/a>. Full rating tables are also available for download from the<a href=\"http:\/\/spider.my\/posmalaysia3.html\"> shipping rates download page<\/a>. Here, for example, are <a href=\"http:\/\/spider.my\/pos-malaysia-rates-3\/-ANY--to-Norway.xml\">all rates for Norway<\/a>.<\/p>\n<p>It&#8217;s an eye-bleedingly pains-taking job ripping this data. I mentioned previously the omission of per-country max weights on some Pos Laju quotes, resulting in a default (I guess) max weight of 999kg being offered. The max weights all seem to be present on the Parcel quotes, but the tables don&#8217;t all give prices up to the max weight, using &#8216;-&#8216; (I imagine) to signify that the upper weights are not available. This simply isn&#8217;t good enough for use in 3rd party computer systems. I incorporate some guesses in my ripping code in order for it to run to completion, despite the inconsistencies in the Pos data. This on its own would be a good reason why no other entity besides Pos Malaysia should provide shipping data.<\/p>\n<p>I&#8217;ve sent emails so far to csc and corpcomm at Pos in an attempt to find someone I can talk to about this stuff. It would take only minutes to put the API online on Pos Malaysia&#8217;s domain, and possibly only a day to apply Pos branding to it. If (as I hope) Pos were to use spider.my&#8217;s Spinneret web server, they would instantly be able to serve millions of queries per hour from just about any old hardware they had lying about the office. In tests on my 4-year-old laptop, Spinneret can serve an average of 1,500 shipping quotations per second &#8211; before optimisations, and with the server test software running on the same machine! I should have made Spinneret open source before now, but would provide a full set of sources to Pos in any case.<\/p>\n<p>If anybody has a suggestion of who I could contact to expedite this matter, please let me know? Thanks!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>All this work is now packaged up into the spider.my Shipping Quotations API. Check there for latest shipping API methods, shipping modules etc. This morning I modified the International Pos Laju rates ripping code to get a full set of Pos Malaysia&#8217;s International Parcel rates. If you use the widget on my blog, you&#8217;ll see [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20,3,35,45],"tags":[21,109,19,34,63,18,105,111,57],"class_list":["post-848","post","type-post","status-publish","format-standard","hentry","category-fixed","category-software","category-spidermy","category-spinneret","tag-e-commerce","tag-fixed","tag-malaysia","tag-network","tag-pos-malaysia","tag-server","tag-software","tag-spidermy","tag-web"],"_links":{"self":[{"href":"https:\/\/blog.lolyco.com\/sean\/wp-json\/wp\/v2\/posts\/848","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.lolyco.com\/sean\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.lolyco.com\/sean\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.lolyco.com\/sean\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.lolyco.com\/sean\/wp-json\/wp\/v2\/comments?post=848"}],"version-history":[{"count":4,"href":"https:\/\/blog.lolyco.com\/sean\/wp-json\/wp\/v2\/posts\/848\/revisions"}],"predecessor-version":[{"id":851,"href":"https:\/\/blog.lolyco.com\/sean\/wp-json\/wp\/v2\/posts\/848\/revisions\/851"}],"wp:attachment":[{"href":"https:\/\/blog.lolyco.com\/sean\/wp-json\/wp\/v2\/media?parent=848"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.lolyco.com\/sean\/wp-json\/wp\/v2\/categories?post=848"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.lolyco.com\/sean\/wp-json\/wp\/v2\/tags?post=848"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}