Author: thomasl

Shopify PostNL Pakjegemak pickup points

Are You looking for pickup points form your own stores? check out my other app: 
https://apps.shopify.com/product-inventory-information

 

Update

I have added the pickup points to my PostNL app listed in the shopify app store

Shopify Advanced plans and up can use the pickup points option by default.
Shopify Basic & Standard plans need to have a yearly plan with shopify (in order to get access to the required API’s) the yearly plan does give you a 10% discount.

/Update

 

 

I was looking for an easy way to have customers select pickup points during checkout, but unfortunately there is no easy implementation. Sendcloud does offer postnl pickuplocations in shopify, but only after the payment process has finished will the customer get to see a map and select their pickup location. Which seems a bit odd to me, and counterintuitive.

I have created a shipping carrier service, which is currently awaiting review in which you can have the pickup points show up at shipping option selection:

screen

test it out yourself on my demo store, shopify plus: https://shipping-demo.myshopify.com

 

Basic shopify: https://pakjegemak.myshopify.com

 

Fietsophangsysteem van stasdock en nieuwe sportbril

Ik heb de laatste maanden het fietsen weer wat serieuzer opgepakt, ik probeer iedere week een aantal keer te gaan fietsen, afstanden tussen de 10km en 60km.

Ik was al een tijdje op zoek naar een handig ophangsysteem voor een racefiets, en kwam het stasdock ophangsysteem tegen.
Een ideaal ophangsysteem voor je fiets. Ik heb zelf de deep silver stasdock
gekozen.

naast het ophangsysteem, heb ik ook nog een sportbril met verwisselbare lenzen gekocht, ik heb de zwarte genomen met focus lens en orange pure lens, deze is voor wisselvallige omstandigheden en bewolking, om extra goed zicht te krijgen.

Unit4 Multivers .netAPI

If you want to synchronize certain products from multivers with another (online) application, you can choose to use Unit4 Multivers .net API or the Unit4 multivers webAPI to make sure you are able to use them with your license, contact your accountmanager first.

I chose to use the .netapi because we didn’t want our multivers server to be directly connected to the internet with the web API. that’s why unit4 would post product update data to the webapplication, and load specific product data from the webapplication to update unit4 as well.

Sitecom WLC-1000 Firmware Information

Unfortunately the company that created the iphone and android application has filed for bankruptcy, rendering the wlc-1000 cameras useless for checking your cameras on the road or recording to the cloud (recording on the sdcard should still work as far as I know).

A visitor asked me to share some of my findings for the sitecom firmware, because he wants to create an app to be able to use the cameras again, which sounds like a great idea!
It has been a while since I did the analysis, but I will try and share as much as I found, so anyone can try and setup a working application. With one side note, please share your projects, or setup a public repository, so other people can help / benefit from the code as well (and share it in the comments below).

Shopify Script, Buy Product from vendor X get Product Y for free

In shopify I was looking for a way to get a free product when buying from a specific vendor, I came up with below script.
In our case we also needed the vendor’s product to be at > $400 for the gift product to be free, you can offcourse remove that if statement.
Unfortunately you can’t add products to the cart with shopify scripts (yet?) so you can leave adding the product up to the customer, or add the product with javascript in the frontend.

You can remove the puts statements, I though I’d leave them so you can see how to debug something like this.

discounted_product = 2228740609
products_seen = false;

puts('loop over all products, and check if we have the required vendor')
Input.cart.line_items.each do |line_item|
  product = line_item.variant.product
  puts(product.vendor.downcase)
  if(product.vendor.downcase == 'vendorname')
    
    if(line_item.variant.price > Money.new(cents: 40000))
      puts('found a product matching vendor, and matching minimum price of $400')
      products_seen = true;
    end
  end
end

if(products_seen)
  puts('Check if the gift product is in the cart, and update its price to 0')
  Input.cart.line_items.each do |line_item|
    product = line_item.variant.product
    next unless product.id == discounted_product
      puts('they will only get 1 free, not unlimited items')
      updated_price = line_item.line_price.cents - (line_item.line_price.cents / line_item.quantity)
      line_item.change_line_price( Money.new(cents: updated_price) , message: "Free Shoetrees")
  end
end

Output.cart = Input.cart

 

Large databreach, how to minimize online vulnerabilities, and improve responsetime

Last week I found a data breach in a large companies website, exposing over 2 million customer records (name, address, email, phone number)
It’s always a though choice, do I call it in and risk getting sued, or leave it? Since this was quite a big leak, which I more or less stumbled upon (think in the lines of ‘this looks odd, what happens if I try and change this’) , I just went ahead and stated my intensions very clearly in my messages, and hoped they would see it would benefit them to use my report, and fix the problem as soon as possible.

Large databreach, how to minimize online vulnerabilities, and improve responsetime

Last week I found a data breach in a large companies website, exposing over 2 million customer records (name, address, email, phone number)
It’s always a though choice, do I call it in and risk getting sued, or leave it? Since this was quite a big leak, which I more or less stumbled upon (think in the lines of ‘this looks odd, what happens if I try and change this’) , I just went ahead and stated my intensions very clearly in my messages, and hoped they would see it would benefit them to use my report, and fix the problem as soon as possible.

Push Notify Push notification API

 

I created an api for sending Push notifications to mobile phones, I use the API in an opencart extension, to send new order information, and give clients the ability to receive order updates, but I figured it might be usefull for other developers to have a quick way to add push notification functionality in their application.

I’m currently writing the API documentation, you can find the basic documentation here:
Swagger API Documentation

The basic workflow:

  • Create a user & receive an API key
  • Create a channel
  • Have mobile devices subscribe to channels
  • Send a message to channels

 

In the opencart extensions case I create one channel for the admin, and a unique private channel for each customer (after an order is placed) which they can use to receive order status updates (pending, complete, shipped, cancelled etc..)

To receive mobile notifications you will need the Iphone or Android app.