Grafo for WooCommerce

Description

Grafo for WooCommerce extends the WooCommerce REST API with a single endpoint purpose-built for creating orders from outside the WordPress admin.

It is the bridge between your WooCommerce store and Grafo, a workflow automation platform that lets merchants take orders over WhatsApp. The plugin itself does not contain any WhatsApp or messaging logic — it only exposes one authenticated REST endpoint that an external, authorized caller (such as your Grafo workflow) can use to create an order:

  • Create a WooCommerce order from a JSON payload (line items, billing/shipping addresses, payment method, custom meta)
  • Automatically resolve applicable shipping rates for the order’s destination and attach the selected shipping line
  • Automatically calculate and attach any cart-level fees configured on the store (via WooCommerce’s native fee hooks, plus a grafo_order_fees filter for custom fee logic)

Who this is for

Store owners who use Grafo to take orders through WhatsApp conversations and want those orders created in WooCommerce with correct shipping and fees, without giving the automation platform admin access to wp-admin.

External services

This plugin adds one new REST API route to your site; it does not make outbound requests to any third-party service itself. That route is designed to be called by your Grafo account: when you connect your store to Grafo, Grafo’s servers send authenticated requests to POST /wp-json/wc/v3/grafo-orders to create orders on your behalf. Only requests authenticated as a user with the manage_woocommerce capability (via a logged-in session or WooCommerce REST API consumer key/secret) are accepted. No data is transmitted anywhere by this plugin without such an authenticated request initiating it. See Grafo’s terms and privacy policy at https://www.grafoflow.com/ for how Grafo itself handles the data it sends and receives.

Privacy

This plugin does not collect analytics or telemetry, does not add any tracking scripts, and does not create any custom database tables. It only writes standard WooCommerce order data, for orders created through its REST endpoint — identical in structure to orders created any other way. No personal data is sent off-site by this plugin.

Installation

  1. Upload the plugin files to /wp-content/plugins/grafo-for-woocommerce, or install the plugin through the WordPress plugins screen directly.
  2. Activate the plugin through the “Plugins” screen in WordPress. WooCommerce must already be installed and active.
  3. In WooCommerce, go to WooCommerce Settings Advanced REST API and create a key with Read/Write permissions for the user account you want Grafo to act as (that user needs the manage_woocommerce capability).
  4. Enter the resulting Consumer Key and Consumer Secret in your Grafo WooCommerce integration settings.

FAQ

Does this plugin add anything to the WordPress admin UI?

No. It is intentionally headless — it only registers one REST API route. All configuration happens through WooCommerce’s own REST API key management (WooCommerce Settings Advanced REST API) and your Grafo account.

Does this work without Grafo?

The endpoint will work with any authenticated client that sends correctly-shaped requests, but the plugin is built and tested specifically to pair with Grafo’s WhatsApp order-creation workflows.

Does this plugin handle shipment tracking?

No. This plugin is scoped to order creation only. It does not register a tracking endpoint and does not store courier or tracking-number data.

Does this plugin reduce stock when it creates an order?

Yes, through WooCommerce’s own core status-transition hooks, in the same way any other order does when its status changes.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Grafo for WooCommerce” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.0.1

  • Security: authenticated REST API requests no longer switch the global current user; the endpoint still requires the manage_woocommerce capability, but no longer runs the rest of the request as a logged-in user.
  • Security: sanitize incoming billing/shipping fields before use.

1.0.0

  • Initial release: order creation endpoint with automatic shipping and fee calculation, and HPOS (custom order tables) compatibility declaration.