Commit Graph

569 Commits

Author SHA1 Message Date
Akeda Bagus 97565ef9a1 Added more products query filter for REST API.
The new filters are taxonomies related: tag, shipping class, and
attribute. The code was refactored a bit so all taxonomies query are
wrapped within tax_query.
2015-09-15 07:18:28 -05:00
Akeda Bagus 6906eb4eae Added support to GET, POST, PUT, and DELETE tags. 2015-09-13 17:59:07 +07:00
Akeda Bagus 2980ffd66b Added support to POST, PUT, and DELETE categories. 2015-09-13 17:59:07 +07:00
Akeda Bagus f781d393c8 Added API support for product shipping classes.
This change implements GET, POST, PUT, and DELETE handlers for shipping
classes endpoint, /products/shipping_classes.

Fixes #8948.
2015-09-13 17:54:23 +07:00
Claudio Sanches 194f9cd6ec Revert "Added API support for product shipping classes." 2015-09-10 14:22:11 -03:00
Akeda Bagus 1f18d861ce Added API support for product shipping classes.
This change implements GET, POST, PUT, and DELETE handlers for shipping
classes endpoint, /products/shipping_classes.

Fixes #8948.
2015-09-09 20:38:11 +07:00
Florian Ludwig 4e0961333f Restored wc<2.4 behavior of order item meta keys
The previous version of woocommerce showed the machine readable names
in item_meta['key’] especially for the custom variation attributes but
after 2.4 it shows only meta ids in the key.

This commit reverts the behavior to the prior 2.4 behavior.
2015-08-31 17:59:41 +02:00
Claudio Sanches 8da7369088 Just avoid deprecated notices for #8848 2015-08-17 14:04:12 -03:00
Claudio Sanches a12552dbf1 [API] Removed $HTTP_RAW_POST_DATA in favor of php://input, closes #8848 2015-08-17 12:51:19 -03:00
Claudio Sanches 1d0d48b1ad Fix attribute text based in API, closes #8823 2015-08-14 15:22:57 -03:00
Claudio Sanches a215c4ed3c [API] Fixed variation without parent for v2 2015-07-30 21:53:00 -03:00
nils-fredrik@maksimer.no f4db67bcbc Fix for #8691: Variation without parent will not cause 500. 2015-07-30 23:32:24 +02:00
Claudio Sanches 09145181e5 [API] Removed deprecated products/sku endpoint 2015-07-30 17:35:14 -03:00
Claudio Sanches 948c5c9cfc Fixed the sanitization for text-based default attributes 2015-07-22 21:40:06 -03:00
Claudio Sanches aa263ddc1e [API] Updated variable product attributes update for the new standard of WC 2.4 2015-07-22 21:07:05 -03:00
Claudio Sanches aec1e28549 [API] Check if REDIRECT_URL exists, closes #8632 2015-07-21 20:08:19 -03:00
Claudio Sanches 3a0d2f7c89 [API] Fixed edit coupon description, closes #8614 2015-07-20 12:49:21 -03:00
Claudio Sanches 9e41552342 Removed all "@return void" 2015-07-16 16:55:48 -03:00
Claudio Sanches 83bdf82767 Fixed docblock for WC_API_Orders::get_variation_id() 2015-07-16 16:14:39 -03:00
Claudio Sanches e0be5a2e9f Added truncated consumer key and last access fields in woocommerce_api_keys table 2015-07-16 15:42:00 -03:00
Claudio Sanches a01660cbba Fixed WC_API_Products::clear_product() 2015-07-10 10:49:18 -03:00
Mike Jolley d5a74203c2 Only need one numeric check 2015-07-10 10:48:29 +01:00
nils-fredrik@maksimer.no 3c2b54b360 Fix for #8550 2015-07-10 09:32:10 +02:00
Claudio Sanches 349fc2f665 [API] post__in filter for v2 2015-06-23 11:51:40 -03:00
Claudio Sanches e003b7803f Merge pull request #8440 from kilbot/patch-4
Add post__not_in filter for REST API requests
2015-06-23 11:50:36 -03:00
Claudio Sanches 9dc28be577 Support HTTP_X_HTTP_METHOD_OVERRIDE in API old versions 2015-06-23 11:49:19 -03:00
Paul Kilmurray 9b848fb1bd Add post__not_in filter for REST API requests
To match the `post__in` filter above
2015-06-23 20:48:19 +08:00
Paul Kilmurray a030ab52cb Allow HTTP method to be overwritten by HTTP_X_HTTP_METHOD_OVERRIDE
For the same reasons [outlined here](https://github.com/WP-API/WP-API/issues/964), ie: Backbone uses X-HTTP-Method-Override.
2015-06-23 20:42:39 +08:00
Mike Jolley 817e5355fd Pass $item object, not item meta array
Closes #8419
2015-06-23 10:24:13 +01:00
Claudio Sanches b43abff674 Merge pull request #8415 from justinshreve/oauth-7928
Fix issues with our OAuth implementation, including nonconformance to spec. Closes #7928
2015-06-22 15:00:51 -03:00
Justin Shreve 819a4fae0d wp_endswith doesn't actually exist (its a wpcom/jetpackism) - update with a simple substr check 2015-06-22 17:58:50 +00:00
Justin Shreve fcab013d53 $enc_type for http_build_query() is only available in PHP 5.4+
go back to a normalization approach
2015-06-19 23:03:45 +00:00
Justin Shreve 482303c0f9 Don't convert nested parameters to strings.
Switch to the native http_build_query instead of our own normalize function.
2015-06-19 16:11:17 +00:00
Justin Shreve 59bc17e0cb Check before building the current URL to see if a trailing slash should be appended or not, that way if a request includes one, the signature still matches. 2015-06-19 16:05:23 +00:00
Justin Shreve c43f9157c3 When generating the signature to compare, append a trailing &.
The OAuth spec (http://tools.ietf.org/html/rfc5849#section-3.4.2) states that a & character must be present, even if a token secret is not a part of the request.
2015-06-19 15:05:51 +00:00
Justin Shreve 9e2f0f55d8 Remove reauth endpoint. It's not going to work the way we want it to. If clients need to log out (like a browser), they can clear the sessions per browser. Also returns JSON error when auth is not returned correctly. 2015-06-19 13:42:10 +00:00
Justin Shreve 8da19e4dae Provide some directions in the Basic auth input box so the user knows where to provide the API key and secret. 2015-06-19 13:42:10 +00:00
Justin Shreve d63f7d014f Implement basic auth improvements and query string fall back.
If the key and secret query strings are provided, do auth based on those. If not, and the Basic auth headers are set, do full basic auth (including sending the correct headers).
Also implements a /reauth endpoint for basic auth.
2015-06-19 13:42:10 +00:00
Justin Shreve c9a2611d33 Version off the current api files into a v2 folder. 2015-06-19 13:42:10 +00:00
Paul Kilmurray 3538d02ca9 Allow decimal stock quantity via REST API
The WooCommerce default is to validate stock quantity as integer, however some users find it useful to override this to allow any float quantity, eg: 
```php
remove_filter('woocommerce_stock_amount', 'intval');
add_filter( 'woocommerce_stock_amount', 'floatval' );
```

Currently the API forces stock quantities to integer, this change will allow decimal quantities.
2015-06-19 12:07:10 +08:00
Justin Shreve e1130005a5 When figuring out if to store a sale price, make sure $date_from is set to "today" when blank. The date meta was previously set, but the check to set the actual sale price saw $date_from as empty. 2015-06-16 20:00:16 +00:00
Justin Shreve 66ccc8a75c Only run the file URL through esc_url_raw if it looks like an absolute URL, otherwise if it is a shortcode or relative URL, continue to use wc_clean. 2015-06-10 16:12:10 +00:00
Justin Shreve 7c3774e65f For file URLs and images, run the URL through esc_url_raw rather than wc_clean (which removes/strips things like entities). 2015-06-10 15:34:36 +00:00
Claudio Sanches c9c3be6d3e [API] Use settings to auto generate passwords or not, closes #8342 2015-06-10 10:56:25 -03:00
Claudio Sanches eefd9a24f1 Merge pull request #8330 from justinshreve/api-tax-rounding-8328
Stop using the frontend display setting for tax rounding in the API (#8328)
2015-06-09 13:09:46 -03:00
Claudio Sanches c02052a206 [API] Stop undefined index erros for variations in orders endpoint
@justinshreve
2015-06-09 12:39:37 -03:00
Justin Shreve 1d8b6a58d6 Avoid rounding subtotal_tax and total_tax. Don't call wc_round_tax_total for subtotal, and avoid the call to get_line_tax directly which also calls wc_round_tax_total. 2015-06-09 15:06:30 +00:00
Justin Shreve 651b65f28e Add a unit test for get_variation_id so we know we are getting back the IDs that we want 2015-06-09 13:02:02 +00:00
Justin Shreve 937f93faa6 Clean up some naming and add a clarifying comment for the attribute & pa_ stripping. 2015-06-09 12:41:06 +00:00
Justin Shreve 251636c02e First pass at figuring out what the variation ID is based on variation information being passed in via the API. 2015-06-09 12:41:06 +00:00
Mike Jolley 34f8536b20 Merge pull request #8306 from krautnerds/fix-customer-rest-api-pagination
Fixed pagination headers for customer REST API
2015-06-09 11:43:27 +01:00
Claudio Sanches 91bb8c7ba9 Updated the api authentication 2015-06-08 19:58:38 -03:00
Florian Ludwig 994e4104e9 Fixed pagination headers for customer REST API
The old code didn’t ever work in my opinion, because WP_User_Query has
no attributes page and total_pages
2015-06-05 19:28:58 +02:00
Claudio Sanches 6fee82b377 [API] Added display and image info in product category endpoint, closes #8298 2015-06-05 11:37:46 -03:00
Claudio Sanches 9eb3b6ddf9 Changed all requests with wp_remote_* to wp_safe_remote_* 2015-06-01 13:28:55 +01:00
Claudio Sanches b2711f3d64 [API] Fixed products tags in write-mode 2015-05-29 10:05:15 -03:00
Claudio Sanches 88003436a6 [API] Add properly sanitization for categories and tags in products endpoint, closes #8251 2015-05-29 10:04:02 -03:00
Claudio Sanches ebdcb0d9e8 [2.3] [API] Fixed subtotal_tax round and decimal dp, closes #8140 2015-05-27 16:18:02 -03:00
Claudio Sanches 9c5cd0e525 [API] Accept dashes in products/sku endpoint, closes #8220 2015-05-25 10:22:59 -03:00
Claudio Sanches e106d57947 Merged #8021 2015-05-18 16:53:04 -03:00
Claudio Sanches 84c937c011 Improved the woocommerce_api_keys table 2015-05-15 22:52:00 -03:00
Claudio Sanches 20906f2248 Fixed the authentication with the new woocommerce_api_keys table 2015-05-15 21:16:53 -03:00
Paul Kilmurray 27d50aef55 default properties for $order_fee class
The add_fee method on WC_Abstract_Order expects taxable, tax, tax_data
and tax_class properties to be present. The API ignores these
properties if taxable = false.
2015-05-14 16:10:56 +08:00
Mike Jolley 2a4f9f77db Throw API exception when order is invalid
Closes #8151 @claudiosmweb
2015-05-13 14:08:12 +01:00
Claudio Sanches b54a7a34a1 [API] Created bulk update/insert for coupons #7915 2015-05-07 13:13:41 -03:00
Claudio Sanches 05aad18c5e [API] Created bulk update/insert for customers #7915 2015-05-07 13:09:59 -03:00
Claudio Sanches 3a29a0b743 Fixed docblocks for WC_API_Orders:bulk() 2015-05-07 12:27:39 -03:00
Claudio Sanches 611cf9b521 [API] Created bulk update/insert for orders #7915 2015-05-06 18:41:48 -03:00
Claudio Sanches 41e1ba2811 [2.3] [API] Fixed enable_html_description and enable_html_short_description for products endpoint, closes #8090 2015-05-06 14:28:57 -03:00
Claudio Sanches 08f8317554 [2.3] [API] Fixed start and end date for products, closes #8063 2015-05-06 13:55:40 -03:00
Claudio Sanches 0a3fc7673e [API] Fixed the returned status when delete a product attribute 2015-04-28 15:56:28 -03:00
Claudio Sanches 8d339a7022 Stop yoda! 2015-04-28 15:10:29 -03:00
Claudio Sanches dd8b2f6007 [API] Deprecated the products/sku/<sku> endpoint, closes #7592 2015-04-27 17:49:35 -03:00
Claudio Sanches 83b570e3e1 [API] Created method to delete product attributes 2015-04-27 16:33:47 -03:00
Claudio Sanches bda53f75af [API] Created method to edit product attributes 2015-04-27 16:14:31 -03:00
Claudio Sanches 212ebe486d [API] Created method to create product attributes 2015-04-27 13:06:42 -03:00
Claudio Sanches 00f9c6f1ca [API] Created WC_API_Products::get_product_attribute() method 2015-04-27 11:58:58 -03:00
Claudio Sanches aa2d5835e4 [API] Created WC_API_Products::get_product_attributes() method 2015-04-27 11:47:17 -03:00
Claudio Sanches 98b1845b68 [2.3] [API] Fixed save downloadable files for product variations, closes #8037 2015-04-25 12:19:30 -03:00
Claudio Sanches bcfdbcdd0a [API] Improved WC_API_Products::bulk() #7915 2015-04-24 18:43:33 -03:00
Claudio Sanches abf1d90d9b Merge pull request #7922 from Nils-Fredrik/master
Allow bulk updates / inserts of products according to #7915
2015-04-24 17:12:53 -03:00
Claudio Sanches af9c5f948b [API] Improved the WC_API_Products::get_product_orders() method #8019 2015-04-24 17:04:13 -03:00
Claudio Sanches cccc7b9b98 Merge pull request #8019 from cklosowski/issue/7285
Product's Orders API Endpoint, closes #7285
2015-04-24 16:42:24 -03:00
Claudio Sanches 4a83200a81 Fixed coding standards 2015-04-24 15:53:54 -03:00
Claudio Sanches d5524a62bf [API] Removed test in WC_API_Orders::set_line_item() 2015-04-24 15:53:39 -03:00
Mike Jolley 7e304fd4f9 [2.3][api] Prevent variable overwrite in save_product_meta
Closes #8011
2015-04-23 16:45:51 +01:00
Mike Jolley 30d2ab8af8 Avoid setting is_customer_note when 0
Closes #7995
2015-04-23 11:50:09 +01:00
Claudio Sanches 3e99768047 [API] Added product_url and button_text for external products, closes #7974 2015-04-17 15:50:18 -03:00
Chris Klosowski d26265f885 Allowing filters to be applied #7285 2015-04-16 13:32:35 -07:00
Claudio Sanches 7ab0d01aa2 [API] Fixed create order method 2015-04-16 15:26:54 -03:00
Mike Jolley d133d35e27 Fix conflict 2015-04-14 11:27:30 +01:00
Claudio Sanches c06b6f13e3 [API] Improved the error messages when sent a empty object, closes #7914 2015-04-13 13:06:19 -03:00
Mike Jolley ed6fe062a7 Merge pull request #7931 from woothemes/fix/api-check_permission
[2.3] Check for edit_post cap if the post type is revision
2015-04-10 10:14:19 +01:00
Barry Kooij 4650c2300a Simply deny all access to revisions 2015-04-10 11:03:45 +02:00
Barry Kooij 64c79ffe1e Check for edit_post cap if the post type is revision 2015-04-10 10:32:20 +02:00
nils-fredrik@maksimer.no 73cce9f15b Allow bulk updates / inserts of products according to #7915. 2015-04-09 22:48:51 +02:00
Claudio Sanches 2fb06e4c29 [API] Fixed the position type for attributes and images 2015-04-03 15:01:41 -03:00
Paul Kilmurray c8d52c7c2d Use wc_stock_amount format function
This allows the REST API to honour the `woocommerce_stock_amount` filter, eg: for decimal quantity values
2015-03-31 18:36:27 +08:00
Chris Klosowski cd9360420f Clearning up DocBlock and passing #7285 2015-03-26 13:56:37 -07:00
Chris Klosowski 8455d5cbd1 First pass at Product's orders endpoint #7285 2015-03-26 13:53:20 -07:00
Claudio Sanches d08e099bfc [API] List only approved comments in products reviews, closes #7809 2015-03-24 14:38:08 -03:00
Claudio Sanches 1600bcdae3 Fixed coding standards for #7793 2015-03-23 11:41:37 -03:00
nils-fredrik@maksimer.no 686c40919b Fix for #7592
Added sku filter to the /products endpoint. 

Will let you search for products by sku without using the
/products/sku/<sku> endpoint. Its now possible to search for product
skus with specialchars like / and -.
2015-03-21 18:53:00 +01:00
Guillermo Gette 49f84a7bc6 get product_id using wc_get_product_id_by_sku 2015-03-18 23:11:28 +11:00
Guillermo Gette b8578c044d Merge branch 'master' of github.com:woothemes/woocommerce into create_order_with_product_sku 2015-03-18 23:06:02 +11:00
Mike Jolley 74d46dcc1e Merge pull request #7455 from bryceadams/patch-7433
Proposed solution for api all order status counts
2015-03-18 10:57:34 +00:00
nils-fredrik@maksimer.no 8e18937305 Fix for #7752
Use error code from WP_Error when wc_create_new_customer() fails.
2015-03-18 00:20:35 +01:00
Claudio Sanches 618f70ffdf [API] Fixed the stock management for variations, closes #7698 2015-03-16 15:13:07 -03:00
Claudio Sanches 6ce7288814 [API] Delete product attachments when the product fails, closes #7731 2015-03-16 14:54:38 -03:00
matttallan 4d0e0b71f3 Rollback WCAPI create_order if exception is thrown after wc_create_order
When you use the api to create an order and specify an method_id for
the payment details, but no method_title. You recieve a WP_Error as the
response but a pending order of $0 is still created.
2015-03-13 16:02:42 +10:00
Guillermo Gette e9d20c9f66 update set_line_item to let you set items by sku 2015-03-12 22:52:37 +11:00
Barry Kooij b5d64ba932 Decimal Precision can now be set in all orders API calls.
Fixes #7652
2015-03-09 19:07:02 +01:00
Barry Kooij e99bcc7f77 API: reports/sales now also returns total refunds.
Fixes #7262
2015-03-09 17:09:07 +01:00
Claudio Sanches 0148a1bd86 [API] Fixed the variable product managing_stock variable, closes #7513 2015-02-20 23:01:26 -02:00
Claudio Sanches d0aafd1f0b [API] Fixed undefined messages when edit a product 2015-02-19 10:48:21 -02:00
Bryce a0b50541cc Proposed solution for api all order status counts
I’m not sure if this is the best way or if it needs work. What do you
think @maxrice @claudiosmweb?

With `status` set to `any`, it returns:

```
stdClass Object
(
    [count] => stdClass Object
        (
            [pending] => 0
            [processing] => 2042
            [on-hold] => 4
            [completed] => 2993
            [cancelled] => 13
            [refunded] => 0
            [failed] => 4
        )

)
```

If not `any, same as before.

Closes #7433
2015-02-17 13:27:38 +07:00
Mike Jolley cdcd38ebb9 API total_tax should include shipping tax 2015-02-16 11:48:26 +00:00
Mike Jolley 8409d67602 Share data between sales by date report and API.
Also ensures data is consistent. #7416
2015-02-13 21:25:59 +00:00
Claudio Sanches 050286add6 Updated the changelog for 1452bde 2015-02-11 10:13:36 -02:00
Guillermo Gette a95591502e #7359 filter api results by a list of ids 2015-02-11 22:51:56 +11:00
Bryce deb4acd5a2 Return (first) role of user in customer API endpoint 2015-02-07 13:08:48 +07:00
Claudio Sanches 00916b9e29 Merge pull request #7303 from mattallan/matt/wc-api-orders-tweaks
WC_API_Orders: pass data var to new wrappable api function.
2015-02-05 06:46:34 -02:00
matttallan 6531eb0373 pass data var to wrappable api function. 2015-02-05 15:43:05 +10:00
Bryce 1e9349a585 Remove $wpdb and $blog_id 2015-02-04 19:33:25 +07:00
Bryce d0e0a6be6b Change so only single role can be set in role param 2015-02-04 19:31:14 +07:00
Bryce 0f927acdd3 Allow people to override roles when querying customers API
Just fixing core
and closes #7289
2015-02-04 18:59:25 +07:00
Mike Jolley 6af80f8e60 Merge pull request #7280 from mattallan/matt/wc-api-orders-tweaks
Some more tweaks to WC API Orders
2015-02-04 11:46:33 +00:00
matttallan e5c3385d3b Change private wc-api method to protected.
Mainly so that it can be used in the new Subscriptions API :)
2015-02-04 11:38:38 +10:00
matttallan f3fbbdeecc Use validate_request() to avoid duplicate code. 2015-02-04 11:38:36 +10:00
matttallan cd085f2adc add an overrideable function to a create custom post.
Especially handy for WC Subscriptions seeing as they extend the Abstract
Order Class.
2015-02-04 11:16:11 +10:00
matttallan c2520a528b changes to avoid writing duplicated code 2015-02-04 09:59:02 +10:00
Mike Jolley c814a9fa23 docblock corrections 2015-02-03 14:44:57 +00:00
Mike Jolley 1ef8a24ec9 These should be default_attr, not attribute 2015-02-03 14:44:57 +00:00
Mike Jolley 84fad56258 No return needed 2015-02-03 14:44:57 +00:00
Mike Jolley 10a819bd45 Use coupon_amount in api 2015-02-03 14:44:57 +00:00
Mike Jolley 81515fddbe Incorrect api docblock 2015-02-03 14:17:49 +00:00
Bryce 0d656dfa23 fix spacing 2015-02-01 14:24:29 +07:00
Bryce a582481c13 Extra currency options for API
* `currency_position`
* `thousand_separator`
* `decimal_separator`
2015-02-01 14:22:41 +07:00
Claudio Sanches 05a011376d Updated the api docs url 2015-01-30 13:32:23 -02:00
Barry Kooij e41841cee3 Round net_sales in API to 2 decimals 2015-01-30 14:33:13 +01:00
Barry Kooij 7a92094b72 Added net_sales to API reports response. 2015-01-30 14:29:10 +01:00
Barry Kooij 5435c16a3b API code standards 2015-01-30 14:28:53 +01:00
Barry Kooij 746a46778d Fixed sales data in API so it matches the WC reports page.
Fixes #7233
2015-01-30 14:28:35 +01:00
Claudio Sanches 242dbe1bc0 [API] product visible by default 2015-01-30 11:08:17 -02:00
Claudio Sanches ce569c153b [API] Set default product visibility 2015-01-30 11:00:57 -02:00
Claudio Sanches 5f63425e0a [API] Fixed the deleted type for refunds 2015-01-26 19:39:33 -02:00
Claudio Sanches cd88ac0d72 [API] Fixed the refunds returned data 2015-01-26 19:24:54 -02:00
Claudio Sanches 8ff08e70af Fixed the WC_Abstract_Order::get_user_id() return type and fixed the orders customer_id 2015-01-26 14:41:19 -02:00
Claudio Sanches 4774646a0e [API] Removed cart_discount, we have now only total_discount 2015-01-26 14:24:59 -02:00
Claudio Sanches 177bcbe7d5 Removed unused code 2015-01-23 16:34:43 -02:00