Receber por email
← Voltar para o catálogo

woo-api

Build and consume WooCommerce REST API v3 endpoints — authentication, custom endpoints, extending existing resources, webhooks, and batch operations. Use when creating custom API endpoints or integrating external systems with WooCommerce.

34estrelas
Atualizado há 5 meses

Ver no GitHub ↗ Licença: MIT

Como adicionar

/plugin marketplace add OrcaQubits/agentic-commerce-skills-plugins

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/woo-api/svg)](https://www.skillteca.com.br/skills/woo-api)

Alerta por categoria

Receba novas skills de Design e Frontend toda segunda

1 email curto, só com as skills novas de Design e Frontend. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

WooCommerce REST API Development

Before writing code

Fetch live docs:

  1. Fetch https://woocommerce.github.io/woocommerce-rest-api-docs/ for API reference
  2. Fetch https://developer.wordpress.org/rest-api/ for WordPress REST API handbook
  3. Web-search site:developer.woocommerce.com rest api extending for extension patterns

REST API Architecture

Foundation

WooCommerce REST API v3 extends the WordPress REST API:

  • Base: /wp-json/wc/v3/
  • Built on WP_REST_Controller pattern
  • Supports JSON request/response
  • Versioned — v3 is current; v1/v2 are legacy

Built-In Endpoints

| Resource | Endpoint | Methods | |----------|----------|---------| | Products | /wc/v3/products | GET, POST, PUT, DELETE | | Product Variations | /wc/v3/products/{id}/variations | GET, POST, PUT, DELETE | | Orders | /wc/v3/orders | GET, POST, PUT, DELETE | | Customers | /wc/v3/customers | GET, POST, PUT, DELETE | | Coupons | /wc/v3/coupons | GET, POST, PUT, DELETE | | Reports | /wc/v3/reports | GET | | Settings | /wc/v3/settings | GET, PUT | | Shipping Zones | /wc/v3/shipping/zones | GET, POST, PUT, DELETE | | Tax Rates | /wc/v3/taxes | GET, POST, PUT, DELETE | | Webhooks | /wc/v3/webhooks | GET, POST, PUT, DELETE | | System Status | /wc/v3/system_status | GET |

Authentication

API Keys

WooCommerce generates consumer key/secret pairs:

  • Over HTTPS: Pass as query params consumer_key & consumer_secret, or HTTP Basic Auth
  • Over HTTP: OAuth 1.0a signature required
  • Keys have permissions: read, write, read_write
  • Generate at WooCommerce > Settings > Advanced > REST API

Application Passwords (WordPress 5.6+)

WordPress-native auth — username + application password via HTTP Basic Auth. Works for all WP REST API endpoints including WooCommerce.

Cookie/Nonce Authentication

For internal (same-site) JavaScript:

  • Use wp_create_nonce( 'wp_rest' ) — set as X-WP-Nonce header
  • Automatically handled by wp.apiFetch in WordPress scripts

Custom Endpoints

Registering Routes

Use rest_api_init action to register routes:

  • register_rest_route( 'my-extension/v1', '/items', $args )
  • Define methods, callback, permission_callback, args (with validate_callback and sanitize_callback)

Controller Pattern

Extend WP_REST_Controller for structured endpoints:

  • register_routes() — define route patterns
  • get_items() — handle collection GET
  • get_item() — handle single GET
  • create_item() — handle POST
  • update_item() — handle PUT/PATCH
  • delete_item() — handle DELETE
  • get_item_schema() — JSON Schema for the resource
  • get_item_permissions_check() — authorization

Extending WooCommerce Endpoints

Add fields to existing WooCommerce resources:

  • register_rest_field( 'product', 'my_field', $args ) — add fields to product responses
  • $args includes get_callback, update_callback, schema

Filtering Responses

  • woocommerce_rest_prepare_{post_type} — filter response before sending (e.g., woocommerce_rest_prepare_product_object)
  • woocommerce_rest_pre_insert_{post_type} — filter object before saving
  • woocommerce_rest_{post_type}_query — filter query args

Webhooks

Built-In Webhooks

WooCommerce webhooks fire on resource events:

  • Topics: order.created, order.updated, product.created, customer.created, etc.
  • Configured in WooCommerce > Settings > Advanced > Webhooks
  • Delivered via HTTP POST with JSON payload and signature header

Custom Webhook Topics

Filter woocommerce_valid_webhook_events and woocommerce_webhook_topic_hooks to add custom topics.

Batch Operations

POST to /wc/v3/products/batch with create, update, delete arrays to perform bulk operations in a single request.

Best Practices

  • Always use permission_callback — never leave it empty or return true for non-public endpoints
  • Validate and sanitize all input parameters
  • Return proper HTTP status codes (200, 201, 400, 401, 403, 404)
  • Use JSON Schema for endpoint argument validation
  • Use WP_REST_Response for responses with proper status codes
  • Paginate list endpoints with per_page, page, offset
  • Include _links for HATEOAS-style discoverability
  • Use webhooks for real-time integrations instead of polling

Fetch the WooCommerce REST API docs and WordPress REST API handbook for exact endpoint paths, parameters, and authentication details before implementing.

Compartilhar X LinkedIn