Visser Labs – WooCommerce Plugins
  1. Home
  2. Knowledge Base
  3. WooCommerce Store Exporter Deluxe
  4. Automation & Scheduling
  5. How to POST exports to a remote URL in Store Exporter Deluxe
  1. Home
  2. Knowledge Base
  3. WooCommerce Store Exporter Deluxe
  4. How to POST exports to a remote URL in Store Exporter Deluxe

How to POST exports to a remote URL in Store Exporter Deluxe

Handing an export file to another system by hand, whether that’s a reporting tool, an inventory system, or a script you run yourself, means someone has to log in, download the file, and upload it again. Store Exporter Deluxe can do that last step for you. Each time a Scheduled Export runs, it sends the finished file to a web address you choose using an HTTP POST request.

Below, you set up POST to URL, see exactly what your endpoint receives, and confirm each file arrived. Developers also get a way to add headers such as an API token.

Prerequisites

RequirementDetails
PluginStore Exporter Deluxe is active
Scheduled exportsScheduled exports are turned on under Settings → Scheduling → Enable Scheduled Exports. If they are off, the Scheduled Exports screen shows “Scheduled exports are currently disabled.” with an Enable Scheduled Exports button.
Receiving endpointA web address (URL) that accepts POST requests and is reachable from your site’s server
Endpoint accessA way to check the receiving system’s own logs, so you can confirm files arrive

How it works

When a schedule using POST to URL runs, Store Exporter Deluxe builds the export file as usual and then sends it to your Remote POST URL in a single HTTP POST request. The request is always a POST. There’s no setting to switch it to another method.

What your endpoint receives

Your endpoint gets the export file contents as the raw body of the request. It doesn’t arrive as a file upload form, so there’s no form field to read the file from. If the Remote URL Settings description on your screen mentions a multipart POST request, go by this section: the file is the raw request body.

Part of the requestWhat it contains
MethodPOST
BodyThe full export file contents, exactly as they’d appear in the downloaded file
content-type headerThe MIME type that matches your Export Format (see the table below)
accept headerThe same MIME type as the content-type header
user-agent headerWordPress/ followed by your WordPress version

Store Exporter Deluxe doesn’t send the file name, extra form fields, or any login details. It waits up to 60 seconds for a reply and doesn’t follow redirects, so enter the final address of your endpoint.

The content-type header depends on the Export Format you choose for the schedule:

Export Formatcontent-type value
CSVtext/csv
TSVtext/tab-separated-values
Excel (XLS)application/vnd.ms-excel
Excel (XLSX)application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
XMLapplication/xml
RSS 2.0application/rss+xml

Setting up POST to URL

The steps below cover creating a new Scheduled Export. To change an existing schedule instead, open it from the Scheduled Exports screen. For more on creating and managing schedules, see How to schedule exports in Store Exporter Deluxe.

Step 1: Open the new schedule form

  1. Go to WooCommerce → Store Export.
  2. In the Store Exporter sidebar, click Scheduled Exports.
  3. Click New Schedule. The form opens with the heading Add New Scheduled Export and five steps across the top: General, Filters, Method, Scheduling, and Advanced.
The Scheduled Exports screen with the New Schedule button in the top right highlighted

Step 2: Choose what to export

On the General step, set up the export itself.

  1. Enter a name in Schedule Name. This field is required.
  2. Pick the data type from Export Type, such as Products or Orders.
  3. Pick the file type from Export Format. Choose a format your endpoint can read from the Export Format table under “What your endpoint receives” above.
  4. Under Export Fields, choose All Fields, Use Template, or Saved Selection.

The General step also has file and data formatting options, such as the column delimiter and header formatting. Leave these alone unless your endpoint expects a particular layout.

The General step of the new schedule form showing Schedule Name, Export Format and the Export Fields options marked 1 to 3

Step 3: Narrow the export with filters (optional)

Open the Filters step if you only want some records sent, for example orders with a certain status. Skip it to send every matching record.

Step 4: Choose POST to URL

  1. Click the Method step.
  2. Under Delivery Method, select the POST to URL card.
  3. Under Remote URL Settings, enter your endpoint’s address in Remote POST URL, for example https://example.com/webhook/receive.
The Delivery Method cards with POST to URL selected, and the Schedule Summary panel showing Method as POST to Remote URL

The Schedule Summary panel on the right updates to show POST to Remote URL once the card is selected.

The Remote POST URL field filled in with an example address

The Remote POST URL field is the only setting this delivery method has. Use the full address, including https://.

Step 5: Set when it runs

On the Scheduling step, choose how often the export runs.

  • Hourly: every hour.
  • Daily: once per day.
  • Weekly: once per week.
  • Monthly: on the 1st of each month.
  • Custom: a repeating interval you set in Run every.
  • Manual: only when you run it yourself.

Pick a time and timezone for the run, and choose whether it starts immediately or on a date you set. To run at your store’s local time, see How to schedule exports by your local time.

The Scheduling step showing the Frequency options, the time and timezone fields, and the Start options marked 1 to 3

Step 6: Review the advanced options

The Advanced step has more options, such as file naming, archive management, and logging. Two of them matter most for POST to URL:

  • Filename Pattern: names the export file inside your site. The file name isn’t sent to your endpoint.
  • Log level: sets how much detail the Audit Log records for this schedule. This option appears only when the Audit Log is enabled and the Scheduled Exports log source is not set to None (Settings → Audit Log → Log Sources).

Step 7: Save the schedule

  1. Check the Schedule Summary panel on the right. Method should read POST to Remote URL.
  2. Click Create Schedule. On an existing schedule, this button reads Save Schedule.

Checking that the file arrived

Store Exporter Deluxe records whether it could reach your endpoint, but it doesn’t read your endpoint’s reply. So check both sides:

  1. Open your endpoint’s own request log, or the receiving tool, and look for a POST request at the time the schedule ran.
  2. Confirm the request body is the export file and that it opens correctly.
  3. In WordPress, go to Scheduled Exports in the Store Exporter sidebar. The Recent Activity list there shows each run. Click Errors Only, next to All Activity, to show failed runs only. Click All Activity to see every run again.
  4. For more detail, open the Audit Log from the same sidebar and find the run.
The Recent Activity list on the Scheduled Exports screen with the Errors Only button highlighted

The Audit Log is on by default. The Audit Log item appears in the Store Exporter sidebar only when the Audit Log is turned on. If it is off, go to Settings in the Store Exporter sidebar, open the Audit Log section, and switch on Enable Audit Log.

To test without waiting for the next scheduled run, point Remote POST URL at a request-catching service while you set things up. On the Scheduled Exports screen, click the three-dot menu in the schedule’s row and click Execute Now, then check what arrived. Then switch the address to your real endpoint.

If a request can’t connect at all, for example because the address is mistyped, the server is down, or the connection times out, the run is marked as failed in the Audit Log. Store Exporter Deluxe sends the file once per run. The next scheduled run builds and sends a fresh file.

Adding an API key or other headers (developers)

The settings screen has no fields for authentication headers. If your endpoint needs an API key or token, a developer can add headers with the wsed_scheduled_export_post_args filter. Add this code to a custom plugin or your child theme’s functions.php file:

add_filter( 'wsed_scheduled_export_post_args', function ( $args ) {
    $args['headers']['Authorization'] = 'Bearer YOUR_API_TOKEN';
    return $args;
} );

Replace YOUR_API_TOKEN with the token your endpoint expects. The code adds to the existing headers instead of replacing them, so the content-type header stays in place.

This filter applies to every schedule that uses POST to URL, including the New Order Trigger in Settings. It can’t send different headers to different endpoints.

Troubleshooting

The Audit Log shows a failed run for my POST to URL schedule
Check that the Remote POST URL is spelled correctly and includes https://. Then confirm the receiving server is online and doesn’t block requests from your hosting provider’s IP address. Store Exporter Deluxe records a failure when it can’t connect to your endpoint.
The run shows as completed, but nothing arrived at my endpoint
Check your endpoint’s own logs for a rejected request, such as a login error or a wrong content type. If it needs an API key, add the header using the filter in the developer section above. Store Exporter Deluxe marks a run complete once the request reaches your server, whatever the server’s reply.
My endpoint receives the request but can’t find the file
The file is the raw body of the request, not a form field. Update your endpoint to read the request body directly instead of looking for an uploaded file.
My endpoint redirects the request to another address
Store Exporter Deluxe doesn’t follow redirects. Enter the final address in Remote POST URL, for example the https:// address if your endpoint redirects from http://.
I can’t find Scheduled Exports in the Store Exporter sidebar
Go to Settings in the Store Exporter sidebar, open the Advanced section, and switch off Hide Scheduled Exports Tab. When that option is on, the Scheduled Exports item is removed from the sidebar.
A large export times out
Store Exporter Deluxe waits up to 60 seconds for your endpoint to reply. If your endpoint takes longer, narrow the export on the Filters step so it produces a smaller file.

Frequently asked questions

Can I use PUT or another method instead of POST?
No. The request is always an HTTP POST.
Can I add an API key or Authorization header?
Not from the settings screen. A developer can add headers with the wsed_scheduled_export_post_args filter. See the developer section above.
Is the file sent as a form upload?
No. The file contents are the raw request body, with a content-type header that matches the export format.
Does Store Exporter Deluxe retry if the request fails?
No. It sends the file once per run. The next scheduled run sends a fresh file.
Does the endpoint receive the file name?
No. Only the file contents and the headers listed above are sent.
Is POST to URL available in the free Store Exporter plugin?
No. Scheduled Exports and every delivery method are part of Store Exporter Deluxe.

Need help?

If you have a question or run into any issues, we’re here to help.

Was this article helpful?

Related Articles

Resources & Help