Jump to content
edpoguatemala

How to change an order status on woocommerce using AutoIt

Recommended Posts

Hello Everyone, 

So I'm using auto it to automate the download of pictures in woocommerce orders. Once images are downloaded, I need to change the status of the order from in process to completed. This is how my code looks like: 

Download()

Func Download()
    ; Save the downloaded file to the temporary folder.
    Local $sFilePath = @DesktopDir&"\TestAutomatizacion\"&@YEAR &"_"& @MON &"_"& @MDAY & "_picpic_orders.zip"

    ; Download the file in the background with the selected option of 'force a reload from the remote site.'
    Local $hDownload = InetGet("https://hellopicpic.com/get_pic_orders.php?token=ygtV2bMh23uJ7f6s&type=pic", $sFilePath, $INET_FORCERELOAD, $INET_DOWNLOADBACKGROUND)

    ; Wait for the download to complete by monitoring when the 2nd index value of InetGetInfo returns True.
    Do
        Sleep(250)
    Until InetGetInfo($hDownload, $INET_DOWNLOADCOMPLETE)

    ; Retrieve the number of total bytes received and the filesize.
    Local $iBytesSize = InetGetInfo($hDownload, $INET_DOWNLOADREAD)
    Local $iFileSize = FileGetSize($sFilePath)

    ; Close the handle returned by InetGet.
    InetClose($hDownload)

EndFunc   ;==>Download

 

Thanks for any help you can give. 

Share this post


Link to post
Share on other sites

Hi,

 

I do not get, what's your Problem. You are asking on how to Change the order startus for "woocommerce", but all you give is Code to download URLs?

 

cu, Rudi.


Earth is flat, pigs can fly, and Nuclear Power is SAFE!

Share this post


Link to post
Share on other sites
21 hours ago, rudi said:

Hi,

 

I do not get, what's your Problem. You are asking on how to Change the order startus for "woocommerce", but all you give is Code to download URLs?

 

cu, Rudi.

Thanks for your interest. I figure it out. A colleague will run a php file on the server, so I had to do in in another way. Reading in the forum, looking for solutions I found ideas on how to make it done. So I end with this: 

#include <Array.au3>
#include <File.au3>
#include <MsgBoxConstants.au3>
#include <InetConstants.au3>
#include <WinAPIFiles.au3>


MarkCompleted()

Func MarkCompleted()
    ; List all the files and folders in the desktop directory using the default parameters.
    Local $aFileList = _FileListToArray(@DesktopDir &"\" &@YEAR &"_"& @MON &"_"& @MDAY & "_picpic_orders", "*.txt")
    If @error = 1 Then
        MsgBox($MB_SYSTEMMODAL, "", "Path was invalid.")
        Exit
    EndIf
    If @error = 4 Then
        MsgBox($MB_SYSTEMMODAL, "", "No file(s) were found.")
        Exit
    EndIf

For $i= 1 to 18
   Local $sString = StringLeft($aFileList[$i], 4) ; Retrieve 5 characters from the left of the string.
   InetGet("https://hellopicpic.com/set_pic_orders_completed.php?token=ygtV2bMh23uJ7f6s&id="&$sString & @CRLF, $INET_FORCERELOAD, $INET_DOWNLOADBACKGROUND)

Next
 EndFunc   ;==>MarkCompleted

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By nooneclose
      Good afternoon, I am in need of some help. I am sure this is a stupid question requiring only one or two lines of code. However, I would greatly appreciate the help I cannot figure this out. I also tried searching for the answer on the internet but no one except me apparently seems to be having a hard time figuring this out and or is asking about it. 
      I simply want to change the "status" of an email from unread to read once I have processed it. My code is over 500 lines and I would like not to clutter this post with it. Assume I have all my includes and connections properly defined and stuff. 
      Here is the bit of code where I am trying to change the email that was used from unread to read:
      Func ChangeEmailStatus() ;******************************************************************************* ; changes the status of an email from unread to Read ;******************************************************************************* Local $iRows = UBound($aItems, $UBOUND_ROWS) MsgBox("", "Number of Unread emails (Before Change)", $iRows) _OL_ItemModify($oOutlook,$aItems[$i][0], Default, "Read=True") MsgBox("", "Array Display 1", $aItems[1][0]) MsgBox("", "Array Display 2", $aItems[2][0]) Local $iRows = UBound($aItems, $UBOUND_ROWS) MsgBox("", "Number of Unread emails (After Change)", $iRows) EndFunc  
    • By ur
      There is a build machine in the network where it will automatically download the code from source repository and compile using visual studio and compresses the complete code in a zip file.
      I have added a line at the end of the build script(written in python on that machine) to copy that zip file to my ESX Virtual machine.
      Where I kept a AutoIT exe to wait for the zip file, once it is copied then I will extract the contents and find only the dll files in the extracted folder and do the Install creation using Installshield silently and copy the created setup files to anther machine.
      I wrote the script till the setup files creation.
       
      But now the problem is, when the zip file is copying through network, the autoit script is detecting it even the copy is still in progress and trying to extract the zip file and failing.
      Even when I am checking whether the file in use is not working.
       
      Any suggestion on how to check whether the copy is completed.?
    • By blumi
      I found a website where it is explained how to use wmi to check the tpm status of the tmp security chip.
      http://windowsitpro.com/security/checking-status-trusted-platform-module-command-line
      I tried this with autoit, but had no success.
      Anyone here who can give little support to me?
      Thanks
      #include <Array.au3> $ScriptName = "TPM Status" Dim $sResult $strComputer = "lapxxx" $objWMIService = ObjGet("wmic /namespace:\\.\root\cimv2\security\microsofttpm") ;$objWMIService = ObjGet("wmic /namespace:\\" & $strComputer & "\root\cimv2\security\microsofttpm") ;$objWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\" & $strComputer & "\root\cimv2") $colItems = $objWMIService.InstancesOf("Select * from Win32_Tpm") For $objItem In $colItems $IsActivated = $objItem.IsActivated_InitialValue $IsEnabled = $objItem.IsEnabled_InitialValue MsgBox(0, $ScriptName, "IsActivated: " & $IsActivated & @CRLF & _ "IsEnabled: " & $IsEnabled & @CRLF & _ "x: " ) Next $oMTpm = ObjGet("winmgmts:\\.\root\cimv2\Security\MicrosoftTpm") $oCol = $oMTpm.InstancesOf("Win32_Tpm") For $oObj In $oCol ConsoleWrite($oObj.IsActivated_InitialValue & @CRLF) ConsoleWrite($oObj.IsEnabled_InitialValue & @CRLF) ConsoleWrite($oObj.IsOwned_InitialValue & @CRLF) ConsoleWrite($oObj.SpecVersion & @CRLF) ConsoleWrite($oObj.ManufacturerVersion & @CRLF) ConsoleWrite($oObj.ManufacturerVersionInfo & @CRLF) ConsoleWrite($oObj.ManufacturerId & @CRLF) ConsoleWrite($oObj.PhysicalPresenceVersionInfo & @CRLF) Next  
       
    • By parrishjason
      I want an AutoIT script to be able to open a given page, but also be able to check the HTTP status of the page and print out the status code in a message box. Looking through some of the documentation, I've found how to open a page in Internet Explorer and keep it as an object by doing this:
      $IE = _IECreate($google_url)
      ^^^ but how would I find the HTTP status 200 from here?
    • By WannaBeGut
      Hey,
      I want to make a application which calls a User and returns the error / status of the call. I don't think it works, the status stays "routing". Not 100% sure what that means for me.
      $oSkype = ObjCreate("Skype4COM.Skype") $oUser = $oSkype.User("User") $oSkypeEvent = ObjEvent($oSkype,"Skype_") $oError = ObjEvent("AutoIt.Error","MyErrFunc") $cUserStatus_Offline = $oSkype.Convert.TextToUserStatus("OFFLINE") $cUserStatus_Online = $oSkype.Convert.TextToUserStatus("ONLINE") $cCallStatus_Ringing = $oSkype.Convert.TextToCallStatus("RINGING") $cCallStatus_Inprogress = $oSkype.Convert.TextToCallStatus("INPROGRESS") $cCallStatus_Failed = $oSkype.Convert.TextToCallStatus("FAILED") $cCallStatus_Refused = $oSkype.Convert.TextToCallStatus("REFUSED") $cCallStatus_Cancelled = $oSkype.Convert.TextToCallStatus("CANCELLED") $cCallStatus_Finished = $oSkype.Convert.TextToCallStatus("FINISHED") $cCallStatus_Busy = $oSkype.Convert.TextToCallStatus("BUSY") $cAttachmentStatus_Available = $oSkype.Convert.TextToAttachmentStatus("AVAILABLE") If Not $oSkype.Client.IsRunning Then $oSkype.Client.Start() EndIf Func Skype_AttachmentStatus($aStatus) MsgBox(0,"","Attachment status " & $oSkype.Convert.AttachmentStatusToText($aStatus)) If $aStatus = $oSkype.Convert.TextToAttachmentStatus("AVAILABLE") Then $oSkype.Attach() EndIf EndFunc While 1 If $oSkype.CurrentUserStatus = $oSkype.Convert.TextToUserStatus("ONLINE") Then ExitLoop Else $oSkype.ChangeUserStatus($oSkype.Convert.TextToUserStatus("ONLINE")) EndIf Sleep(1000) WEnd If $cUserStatus_Offline = $oSkype.CurrentUserStatus Then $oSkype.ChangeUserStatus($cUserStatus_Online) EndIf $oCall = $oSkype.PlaceCall($oUser.Handle); Start Call $callstatusraw = $oCall.Status;Raw Call Status $callstatus = $oSkype.Convert.CallStatusToText($callstatusraw);Call Status converted to Text While $callstatusraw <> $cCallStatus_Inprogress MsgBox(0, "", ""&$callstatus);Displays the Call Status WEnd The part until the $oCall Variable is from Andy Flesner (Airwolf123). But works fine.
×
×
  • Create New...