Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
moneyworks:billig_shipping_script [2026/02/18 17:43] – [How API Works] Martin Falconermoneyworks:billig_shipping_script [2026/02/18 18:59] (current) Martin Falconer
Line 2: Line 2:
  
  
-The Billig shipping script, named 'Export_Billig' in the Airtox File, is for sending shipping orders to Billig (BA) for processing. +The Billig shipping script, named 'Export_Billig' in the Airtox File, is for sending shipping orders to Billig (BA) for processing.\\ 
-It runs as a MW script and uses CURL to send shipping orders over tcp/http. It is triggered by selecting Sales Invoices and pressing the "Export Billig" button.+It runs as a MW script and uses CURL to send shipping orders over tcp/http. It is triggered by selecting Sales Invoices and pressing the "Export Billig" button.\\ 
  
 ====== Technical documentation ====== ====== Technical documentation ======
Line 14: Line 15:
   * **Validates Delivery Addresses:** Checks the delivery address meets criteria.  More info below   * **Validates Delivery Addresses:** Checks the delivery address meets criteria.  More info below
   * **Validates Country 2 Char representation:** Billig API uses 2 Char country digits for addresses.  Uses JSON file to verify.   * **Validates Country 2 Char representation:** Billig API uses 2 Char country digits for addresses.  Uses JSON file to verify.
 +
 +===== Missing features: =====
 +
 +  * Unable to resend if send failure.  (MW script is probably not the place to do this. It is busy enough as it is)
 +  * No local record of sent orders (with MW SQLite, this could be done.  Again, script is pretty busy already)
 +  * If when adding a Sales Line to Sales Header fails.... no resend available as per above. Just gets left off order (has only happened a few times)
 +  * UI feedback while working. Bit of a limitation of long running MW script. (Only recommend sending max of 10 Sales Invoices)
  
 ===== BILLIG API Information: ===== ===== BILLIG API Information: =====
  
-**API is locked down by IPs.** The available IPs are Martin's Office IP, Airtox's Server IP+**API is locked down by IPs.** The available IPs are Martin's Office IP, Airtox's Server IP, and possibly TMF and/or Sussol IPs.\\ 
 +API looks like it is maintained by prentow.com (Contacts not added here as public page)
  
 ==== Test Site Enpoints ==== ==== Test Site Enpoints ====
Line 71: Line 80:
 === Sales Line Fields (text from script) === === Sales Line Fields (text from script) ===
  
-Document_No = "AI" + transaction.OurRef +Document_No = "AI" + transaction.OurRef\\ 
-Line_No = sequential integer number. 1, 2, 3, etc...+Line_No = sequential integer number. 1, 2, 3, etc...\\
  
   let pdata = "{\n  "   let pdata = "{\n  "
Line 129: Line 138:
     * Check order doesn't already exist with Billig     * Check order doesn't already exist with Billig
     * Create Sales Header     * Create Sales Header
-    * Add lines to Sales Header+    * Add lines to Sales Header, one by one