ShippyPro & WooCommerce

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen

How to connect a WooCommerce site with Skippy Pro? Where to fix something when it refuses to work?

Brainstorm

  • It doesn't go through a plugin, but through Legacy Rest API access + verification
  • Rest API works with keys
  • See wp-admin » WooCommerce » Settings » Advanced » Rest API
  • See wp-admin » WooCommerce » Settings » Advanced » Webhooks
  • These webhooks contain user-ids & market place ids. I guess that's how Skippy Pro knows to which site an event belongs.

Interface ShippyPro

  • Home » Label Creator » To Ship: Overview of orders to ship per channel
  • Home » Marketplaces: Add a new store + overview of connected marketplaces

Connecting a WooCommerce shop - Technology

WooCommerce confirmation URL - Procedure

Example of a confirmation URL of a WooCommerce site:

https://example.nl/wc-auth/v1/login/?app_name=ShippyPro
   &user_id=12345
   &return_url=https%3A%2F%2Fwww.shippypro.com%2Fshippypro_woocommerce_returnurl
   &callback_url=https... 
   &scope=read_write

Subsequent dialog URL:

https://example.nl/wc-auth/v1/authorize/?app_name=ShippyPro
   &user_id=12345
   &return_url=https%3A%2F%2Fwww.shippypro.com%2Fshippypro_woocommerce_returnurl
   &callback_url=https%3A%2F%2Fwww.shippypro.com%2Fshippypro_wooco...
   &scope=read_write

Connection problem: Case 2024.07

Problem

  • It happened on nl_nl as well as on de_de
  • Since about May 2024

Potential causes

Potential causes of connection issues WooCommerce & ShippyPro since May 2024
Cause Remarks
Recent REST-API changes
  • WooCommerce/WordPress changed something about REST-API around that time
  • Not likely: Klaviyo still works + ShippyPro worked at once at de_en
Blocking/firewall (general) Seems most likely cause: Connections can be established but appearantly not used - See screenshots around here
Blocking/firewall: Apache VHDF ?
Blocking/firewall: .htaccess file
  • Some IP numbers are blocked in some .htaccess files
  • nl_nl: Removing these blocks from .htaccess didn't make a change, plus that these were actually not ShippyPro IP addresses (3.64.225.212 & 3.78.148.9)
  • nl_nl & de_de have extensive .htaccess files (and ShippyPro doesn't work) while de_en has a minimalist .htaccess file and is working fine
Blocking/firewall: WordFence ?
Blocking/firewall: CloudFlare Not likely: Only nl_nl uses CloudFlare. de_de en fr_fr don't use CloudFlare and both don't connect
Blocking/firewall: iptables Not likely: de_en works and is on the same server as most of the blocked webshops

Actions & additional information

  • Added nl_nl to ShippyPro: Connection was established straightforwardly, but no subsequent communication happened - See image somewhere around here. This site runs on separate server nltmp
  • Added de_de to ShippyPro: Same as for nl_nl although it runs on another server: hz2
  • Added de_en to ShippyPro, as this is one of the least used-sites and therefore probably one of the least-managed sites. It worked at once. See image somewhere around here: Date and time of last image is today - right now. The .htaccess file is much shorter than those for nl_nl and de_de
  • Added us_en to ShippyPro - Worked at once. Just like de_en. However, it does have an extensive .htaccess file
  • WooCommerce System Status might be an excellent starting point for on-site troubleshooting: wp-admin » Status » System status
  • WooCommerce maintains a wealth of log files - 125 at de_de as an example. Might be quite useful: wp-admin » Status » Logs. Log file webhooks-delivery for de_de indeed mentions ShippyPro, but the timestamps don't correspond with the WooCommerce REST-API screen + how come there is communication at the log file while the Rest-API screen says there isn't?
nl_nl: ShippyPro uses REST API to interact with WooCommerce sites. Here are a bunch of REST API keys. Note the Klaviyo key at the bottom, that actually has been used today - so REST API doesn't seem to be the problem
de_en: Here, ShippyPro connected at once. I could tell by the ShippyPro interface and here at the date of last usage - Today

Testing with de_de

  • mv .htaccess .htaccess-not-now - I got a Forbidden page when trying to connect the site on ShippyPro
  • Created an empty and writable .htaccess file - Same
  • Copied .htaccess file fro

Sources