B2B API

Guida per l'utilizzo delle Rest Api business to business, come riferimento aggiuntivo ecco il link alla Documentazione ufficiale REST API di WooCommerce: https://woocommerce.github.io/woocommerce-rest-api-docs/#introduction

Punti principali
    Add a header to begin generating the table of contents

    GROUPS API

    DESCRIPTION

    This API lets you retrieve and view all groups or a specific group by ID.
    available meta fields:

    • wcb2b_group_discount: contains global percentage discount assigned to group
      Value is a floating number
      In API GET response, has also a dedicated field alias named “wcb2b_group_discount_percentage”
    • wcb2b_group_min_purchase_amount: contains minimum purchase amount to purchase
      Value is a floating number
      In API GET response, has also a dedicated field alias named “wcb2b_group_min_purchase_amount”
    • wcb2b_group_packaging_fee: contains packaging fee.
      Value is an associative array with:

      • type: type of fee. Can be “amount” or “percent”
      • value: fee to apply. It’s a floating number

      In API GET response, has also a dedicated field alias named “wcb2b_group_packaging_fee”

    • wcb2b_group_terms_conditions: contains dedicated Terms and Conditions text
      Value is a text (can include HTML)
      In API GET response, has also a dedicated field alias named “wcb2b_group_terms_conditions”
    • wcb2b_group_shippings: contains shipping methods disabled
      Value is a simple array with all shipping methods slugs to disable
      In API GET response, has also a dedicated field alias named “wcb2b_group_disabled_shippings”
    • wcb2b_group_gateways: contains payment methods disabled
      Value is a simple array with all payment methods slugs to disable
      In API GET response, has also a dedicated field alias named “wcb2b_group_disabled_gateways”

    HTTP REQUEST (ALL GROUPS)

    GET
    /wp-json/wc/v3/groups
    AVAILABLE PARAMETERS
    int|string $author Author ID, or comma-separated list of IDs
    string $author_name User ‘user_nicename’
    array $author__in An array of author IDs to query from
    array $author__not_in An array of author IDs not to query from
    array $date_query An associative array of WP_Date_Query arguments. See WP_Date_Query::__construct()
    bool $exact Whether to search by exact keyword. Default false
    array $meta_query An associative array of WP_Meta_Query arguments. See WP_Meta_Query
    int $menu_order The menu order of the posts
    string $name Post slug
    bool $nopaging Show all posts (true) or paginate (false). Default false
    bool $no_found_rows Whether to skip counting the total rows found. Enabling can improve performance. Default false
    int $offset The number of posts to offset before retrieval
    string $order Designates ascending or descending order of posts. Default ‘DESC’. Accepts ‘ASC’, ‘DESC’
    string|array $orderby Sort retrieved posts by parameter
    int $page Show the number of posts that would show up on page X of a static front page
    int $paged The number of the current page
    string $pagename Page slug
    string $perm Show posts if user has the appropriate capability
    array $post__in An array of post IDs to retrieve, sticky posts will be included
    array $post__not_in An array of post IDs not to retrieve. Note: a string of comma-separated IDs will NOT work
    string|array $post_status A post status (string) or array of post statuses
    int $posts_per_page The number of posts to query for. Use -1 to request all posts
    array $post_name__in An array of post slugs that results must match
    string $s Search keyword(s). Prepending a term with a hyphen will exclude posts matching that term
    string $title Post title

    HTTP REQUEST (ALL GROUPS)

    GET
    /wp-json/wc/v3/groups

    AVAILABLE PARAMETERS

    int|string $author Author ID, or comma-separated list of IDs
    string $author_name User ‘user_nicename’
    array $author__in An array of author IDs to query from
    array $author__not_in An array of author IDs not to query from
    array $date_query An associative array of WP_Date_Query arguments. See WP_Date_Query::__construct()
    bool $exact Whether to search by exact keyword. Default false
    array $meta_query An associative array of WP_Meta_Query arguments. See WP_Meta_Query
    int $menu_order The menu order of the posts
    string $name Post slug
    bool $nopaging Show all posts (true) or paginate (false). Default false
    bool $no_found_rows Whether to skip counting the total rows found. Enabling can improve performance. Default false
    int $offset The number of posts to offset before retrieval
    string $order Designates ascending or descending order of posts. Default ‘DESC’. Accepts ‘ASC’, ‘DESC’
    string|array $orderby Sort retrieved posts by parameter
    int $page Show the number of posts that would show up on page X of a static front page
    int $paged The number of the current page
    string $pagename Page slug
    string $perm Show posts if user has the appropriate capability
    array $post__in An array of post IDs to retrieve, sticky posts will be included
    array $post__not_in An array of post IDs not to retrieve. Note: a string of comma-separated IDs will NOT work
    string|array $post_status A post status (string) or array of post statuses
    int $posts_per_page The number of posts to query for. Use -1 to request all posts
    array $post_name__in An array of post slugs that results must match
    string $s Search keyword(s). Prepending a term with a hyphen will exclude posts matching that term
    string $title Post title

    HTTP REQUEST (SINGLE GROUP)

    GET
    /wp-json/wc/v3/groups/{ID}

    EXAMPLE RESPONSE

    {
        "ID": 273,
        "post_author": "1",
        "post_date": "2020-06-13 00:00:00",
        "post_date_gmt": "2020-06-13 00:00:00",
        "post_content": "",
        "post_title": "Partners",
        "post_excerpt": "",
        "post_status": "publish",
        "comment_status": "closed",
        "ping_status": "closed",
        "post_password": "",
        "post_name": "partners",
        "to_ping": "",
        "pinged": "",
        "post_modified": "2020-06-13 00:00:00",
        "post_modified_gmt": "2020-06-13 00:00:00",
        "post_content_filtered": "",
        "post_parent": 0,
        "guid": "https://demosite.com/wcb2b_group/partners/",
        "menu_order": 0,
        "post_type": "wcb2b_group",
        "post_mime_type": "",
        "comment_count": "0",
        "filter": "raw",
        "wcb2b_group_discount_percentage": "10",
        "wcb2b_group_min_purchase_amount": "500",
        "wcb2b_group_packaging_fee": {
            "type": "percent",
            "value": "3"
        },
        "wcb2b_group_terms_conditions": "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
        "wcb2b_group_disabled_shippings": [
            "flat_rate"
        ],
        "wcb2b_group_disabled_gateways": [
            "bacs",
            "cheque"
        ]
    }
    

    HTTP REQUEST (CREATE GROUP)

    POST
    /wp-json/wc/v3/groups/

    EXAMPLE DATA

    {"name": "Partners", wcb2b_group_discount":15}
    

    HTTP REQUEST (UPDATE GROUP)

    PUT
    /wp-json/wc/v3/groups/{ID}

    EXAMPLE DATA

    {"wcb2b_group_discount":15}
    

    HTTP REQUEST (DELETE GROUP)

    DELETE
    /wp-json/wc/v3/groups/{ID}

    PRODUCT API

    DESCRIPTION

    This API lets you retrieve and view all products or a specific product by ID.

    available meta fields:

    • wcb2b_product_group_prices: contains dedicated prices by group.
      Value is a multidimensional array with GROUP ID as key and associative subarray:

      • regular_price: dedicated group regular price. It’s a floating number
      • sale_price: dedicated group sale price. It’s a floating number

      In API GET response, has also a dedicated field alias named “wcb2b_group_prices”

    • wcb2b_product_group_tier_prices: contains tiered prices by group.
      Value is a multidimensional array with GROUP ID as key and associative subarray:

      • {QUANTITY}: minimum quantity to apply tier price. It’s an integer number
      • {PRICE}: tier price. It’s a floating number

      In API GET response, has also a dedicated field alias named “wcb2b_group_tier_prices”

    • wcb2b_barcode: contains product barcode.
      Value is a string
      In API GET response, has also a dedicated field alias named “wcb2b_barcode”
    • wcb2b_min: contains minimum quantity allowed.
      Value is an integer number
      In API GET response, has also a dedicated field alias named “wcb2b_min_quantity”
    • wcb2b_max: contains maximum quantity allowed.
      Value is an integer number
      In API GET response, has also a dedicated field alias named “wcb2b_max_quantity”
    • wcb2b_step: contains package increment quantity.
      Value is an integer number
      In API GET response, has also a dedicated field alias named “wcb2b_package_quantity”
    • wcb2b_product_group_hide_prices: contains groups with hidden prices.
      Value is an array with GROUP IDs
      In API GET response, has also a dedicated field alias named “wcb2b_group_hide_prices”
    • wcb2b_product_group_hide_stocks: contains groups with hidden stocks.
      Value is an array with GROUP IDs
      In API GET response, has also a dedicated field alias named “wcb2b_group_hide_stocks”

    HTTP REQUEST (ALL PRODUCTS)

    GET
    /wp-json/wc/v3/products

    HTTP REQUEST (SINGLE PRODUCT)

    GET
    /wp-json/wc/v3/products/{ID}

    EXAMPLE RESPONSE

    {
        "id": 60,
        "name": "T-Shirt with Logo",
        "slug": "t-shirt-with-logo",
        "permalink": "https://demosite.com/product/t-shirt-with-logo/",
        "date_created": "2020-06-13 00:00:00",
        "date_created_gmt": "2020-06-13 00:00:00",
        "date_modified": "2020-06-13 00:00:00",
        "date_modified_gmt": "2020-06-13 00:00:00",
        "type": "simple",
        "status": "publish",
        "featured": false,
        "catalog_visibility": "visible",
        "description": "<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n",
        "short_description": "<p>This is a simple product.</p>\n",
        "sku": "Woo-tshirt-logo",
        "price": "98",
        "regular_price": "100",
        "sale_price": "98",
        "date_on_sale_from": null,
        "date_on_sale_from_gmt": null,
        "date_on_sale_to": null,
        "date_on_sale_to_gmt": null,
        "price_html": "<del><span class=\"woocommerce-Price-amount amount\"><span class=\"woocommerce-Price-currencySymbol\">$</span>100.00</span></del> <ins><span class=\"woocommerce-Price-amount amount\"><span class=\"woocommerce-Price-currencySymbol\">$</span>98.00</span></ins>",
        "on_sale": true,
        "purchasable": true,
        "total_sales": 0,
        "virtual": false,
        "downloadable": false,
        "downloads": [],
        "download_limit": 0,
        "download_expiry": 0,
        "external_url": "",
        "button_text": "",
        "tax_status": "taxable",
        "tax_class": "",
        "manage_stock": false,
        "stock_quantity": null,
        "stock_status": "instock",
        "backorders": "no",
        "backorders_allowed": false,
        "backordered": false,
        "sold_individually": false,
        "weight": "",
        "dimensions": {
            "length": "10",
            "width": "12",
            "height": "0.5"
        },
        "shipping_required": true,
        "shipping_taxable": true,
        "shipping_class": "",
        "shipping_class_id": 0,
        "reviews_allowed": true,
        "average_rating": "0.00",
        "rating_count": 0,
        "related_ids": [
            50,
            40,
            43,
            51
        ],
        "upsell_ids": [],
        "cross_sell_ids": [],
        "parent_id": 0,
        "purchase_note": "",
        "categories": [
            {
                "id": 20,
                "name": "Tshirts",
                "slug": "tshirts-clothing"
            }
        ],
        "tags": [],
        "images": [
            {
                "id": 83,
                "date_created": "2020-06-13 00:00:00",
                "date_created_gmt": "2020-06-13 00:00:00",
                "date_modified": "2020-06-13 00:00:00",
                "date_modified_gmt": "2020-06-13 00:00:00",
                "src": "https://demosite.com/wp-content/uploads/2020/06/t-shirt-with-logo-1.jpg",
                "name": "t-shirt-with-logo-1.jpg",
                "alt": ""
            }
        ],
        "attributes": [
            {
                "id": 1,
                "name": "Color",
                "position": 0,
                "visible": true,
                "variation": false,
                "options": [
                "Gray"
                ]
            }
        ],
        "default_attributes": [],
        "variations": [],
        "grouped_products": [],
        "menu_order": 0,
        "meta_data": [
            {
                "id": 967,
                "key": "_wpcom_is_markdown",
                "value": "1"
            },
            {
                "id": 3150,
                "key": "wcb2b_barcode",
                "value": "0123456789"
            },
            {
                "id": 3151,
                "key": "wcb2b_step",
                "value": "10"
            },
            {
                "id": 3152,
                "key": "wcb2b_min",
                "value": "20"
            },
            {
                "id": 3153,
                "key": "wcb2b_max",
                "value": "200"
            },
            {
                "id": 245144,
                "key": "wcb2b_product_group_hide_prices",
                "value": [
                    275
                ]
            },
            {
                "id": 245145,
                "key": "wcb2b_product_group_hide_stocks",
                "value": [
                    275
                ]
            },
            {
                "id": 3154,
                "key": "wcb2b_product_group_prices",
                "value": {
                    "274": {
                        "regular_price": "",
                        "sale_price": ""
                    },
                    "275": {
                        "regular_price": "",
                        "sale_price": ""
                    },
                    "276": {
                        "regular_price": "95.00",
                        "sale_price": ""
                    },
                    "277": {
                        "regular_price": "98.00",
                        "sale_price": ""
                    },
                    "278": {
                        "regular_price": "80.00",
                        "sale_price": "78.00"
                    }
                }
            },
            {
                "id": 3155,
                "key": "wcb2b_product_group_tier_prices",
                "value": {
                    "275": {
                        "100": "50.00"
                    },
                    "278": {
                        "5": "75.00",
                        "10": "74.00",
                        "20": "70.00"
                    }
                }
            }
        ],
        "wcb2b_group_hide_prices": [
            [
              275
            ]
        ],
        "wcb2b_group_tier_prices": [
            {
                "275": {
                    "100": "50.00"
                },
                "278": {
                    "5": "75.00",
                    "10": "74.00",
                    "20": "70.00"
                }
            }
        ],
        "wcb2b_group_prices": [
            {
                "274": {
                    "regular_price": "",
                    "sale_price": ""
                },
                "275": {
                    "regular_price": "",
                    "sale_price": ""
                },
                "276": {
                    "regular_price": "95.00",
                    "sale_price": ""
                },
                "277": {
                    "regular_price": "98.00",
                    "sale_price": ""
                },
                "278": {
                    "regular_price": "80.00",
                    "sale_price": "78.00"
                }
            }
        ],
        "wcb2b_barcode": [
            "0123456789"
        ],
        "wcb2b_max_quantity": [
            "200"
        ],
        "wcb2b_min_quantity": [
            "20"
        ],
        "wcb2b_package_quantity": [
            "10"
        ],
        "_links": {
            "self": [
                {
                    "href": "https://demosite.com/wp-json/wc/v3/products/60"
                }
            ],
            "collection": [
                {
                    "href": "https://demosite.com/wp-json/wc/v3/products"
                }
            ]
        }
    }
    
    

    CUSTOMER API


    DESCRIPTION

    This API lets you retrieve and view all customers or a specific customer by ID.

    available meta fields:

    • wcb2b_group: contains customer assigned Group ID.
      Value is an integer number
      In API GET response, has also a dedicated field alias named “wcb2b_group”
    • wcb2b_status: contains customer status (if moderate registration is enabled).
      Value can be 0 (=disabled) or 1 (=enabled)
      In API GET response, has also a dedicated field alias named “wcb2b_status”
    • billing_vat: contains customer VAT number.
      Value is a string
      In API GET response, it’s also available in billing address data

    HTTP REQUEST (ALL CUSTOMERS)

    GET
    /wp-json/wc/v3/customers

    HTTP REQUEST (SINGLE CUSTOMER)

    GET
    /wp-json/wc/v3/customers/{ID}

    EXAMPLE RESPONSE

    {
        "id": 2,
        "date_created": "2020-06-13T00:00:0",
        "date_created_gmt": "2020-06-13T00:0:0",
        "date_modified": "2020-06-13T00:00:00",
        "date_modified_gmt": "2020-06-13T00:00:00",
        "email": "customer@demosite.com",
        "first_name": "John",
        "last_name": "Doe",
        "role": "customer",
        "username": "customer",
        "billing": {
            "first_name": "John",
            "last_name": "Doe",
            "company": "Google LLC",
            "address_1": "Central Park, 1",
            "address_2": "",
            "city": "New York",
            "postcode": "10001",
            "country": "US",
            "state": "NY",
            "email": "customer@demosite.com",
            "phone": "212-223-6457",
            "vat_number": "0987654321"
        },
        "shipping": {
            "first_name": "John",
            "last_name": "Doe",
            "company": "Google LLC",
            "address_1": "Central Park, 1",
            "address_2": "",
            "city": "New York",
            "postcode": "10001",
            "country": "US",
            "state": "NY"
        },
        "is_paying_customer": true,
        "avatar_url": "https://secure.gravatar.com/avatar/25c626881bff6847aa6efc0820f01ec5?s=96&d=mm&r=g",
        "meta_data": [
            {
                "id": 62,
                "key": "wc_last_active",
                "value": "1592092800"
            },
            {
            "id": 353,
                "key": "shipping_method",
                "value": [
                    "flat_rate:2"
                ]
            },
            {
                "id": 830,
                "key": "wcb2b_group",
                "value": "277"
            },
            {
                "id": 848,
                "key": "wcb2b_status",
                "value": "1"
            },
            {
                "id": 850,
                "key": "billing_vat",
                "value": "0987654321"
            }
        ],
        "wcb2b_status": 1,
        "wcb2b_group": {
            "id": 277,
            "name": "Partners",
            "discount": "15"
        },
        "_links": {
            "self": [
                {
                    "href": "https://demosite.com/wp-json/wc/v3/customers/2"
                }
            ],
            "collection": [
                {
                    "href": "https://demosite.com/wp-json/wc/v3/customers"
                }
            ]
        }
    }
    
    

    ORDER API


    DESCRIPTION This API lets you retrieve and view all orders or a specific order by ID.

    available meta fields:

    • _wcb2b_group: contains customer assigned group when order placed.
      Value is an integer number
      In API GET response, has also a dedicated field alias named “wcb2b_group”
    • _total_weight: contains cart products total weight when order placed.
      Value is a floating number
      In API GET response, has also a dedicated field alias named “wcb2b_total_weight”

    HTTP REQUEST (ALL ORDERS)

    GET
    /wp-json/wc/v3/orders

    HTTP REQUEST (SINGLE ORDER)

    GET
    /wp-json/wc/v3/orders/{ID}

    EXAMPLE RESPONSE

    {
        "id": 101,
        "parent_id": 0,
        "number": "101",
        "order_key": "wc_order_AZ59JpOFpEQcv",
        "created_via": "checkout",
        "version": "4.3.0",
        "status": "completed",
        "currency": "USD",
        "date_created": "2020-06-13T02:00:0",
        "date_created_gmt": "2020-06-13T00:00:0",
        "date_modified": "2020-06-13T02:00:0",
        "date_modified_gmt": "2020-06-13T00:00:0",
        "discount_total": "0.00",
        "discount_tax": "0.00",
        "shipping_total": "20.00",
        "shipping_tax": "4.40",
        "cart_tax": "51.12",
        "total": "307.90",
        "total_tax": "55.52",
        "prices_include_tax": true,
        "customer_id": 2,
        "customer_ip_address": "***",
        "customer_user_agent": "***",
        "customer_note": "",
        "billing": {
            "first_name": "John",
            "last_name": "Doe",
            "company": "Google LLC",
            "address_1": "Central Park, 1",
            "address_2": "",
            "city": "New York",
            "state": "NY",
            "postcode": "10001",
            "country": "US",
            "email": "customer@demosite.com",
            "phone": "2122236457"
        },
        "shipping": {
            "first_name": "John",
            "last_name": "Doe",
            "company": "Google LLC",
            "address_1": "Central Park, 1",
            "address_2": "",
            "city": "New York",
            "state": "NY",
            "postcode": "10001",
            "country": "US"
        },
        "payment_method": "bacs",
        "payment_method_title": "Direct bank transfer",
        "transaction_id": "",
        "date_paid": "2020-06-13T02:00:0",
        "date_paid_gmt": "2020-06-13T00:00:0",
        "date_completed": "2020-06-13T02:00:0",
        "date_completed_gmt": "2020-06-13T00:00:0",
        "cart_hash": "4c4d2a2498f758a949a05f83a439b8e5",
        "meta_data": [
            {
                "id": 5360,
                "key": "_billing_vat",
                "value": "1234567890"
            },
            {
                "id": 5361,
                "key": "is_vat_exempt",
                "value": "no"
            },
            {
                "id": 5365,
                "key": "_total_weight",
                "value": "2"
            },
            {
                "id": 5366,
                "key": "_wcb2b_group",
                "value": "74"
            }
        ],
        "line_items": [
            {
                "id": 9,
                "name": "Hoodie - Blue, Yes",
                "product_id": 12,
                "variation_id": 35,
                "quantity": 7,
                "tax_class": "",
                "subtotal": "232.38",
                "subtotal_tax": "51.12",
                "total": "232.38",
                "total_tax": "51.12",
                "taxes": [
                    {
                        "id": 1,
                        "total": "51.12",
                        "subtotal": "51.12"
                    }
                ],
                "meta_data": [
                    {
                        "id": 82,
                        "key": "pa_color",
                        "value": "blue",
                        "display_key": "Color",
                        "display_value": "Blue"
                    },
                    {
                        "id": 83,
                        "key": "logo",
                        "value": "Yes",
                        "display_key": "Logo",
                        "display_value": "Yes"
                    }
                ],
                "sku": "woo-hoodie-blue-logo",
                "price": 33.19672128571428,
                "parent_name": "Hoodie"
            }
        ],
        "tax_lines": [
            {
                "id": 11,
                "rate_code": "TAX-1",
                "rate_id": 1,
                "label": "Tax",
                "compound": false,
                "tax_total": "51.12",
                "shipping_tax_total": "4.40",
                "rate_percent": 22,
                "meta_data": []
            }
        ],
        "shipping_lines": [
            {
                "id": 10,
                "method_title": "Flat rate",
                "method_id": "flat_rate",
                "instance_id": "2",
                "total": "20.00",
                "total_tax": "4.40",
                "taxes": [
                    {
                        "id": 1,
                        "total": "4.4",
                        "subtotal": ""
                    }
                ],
                "meta_data": [
                    {
                        "id": 90,
                        "key": "Products",
                        "value": "Hoodie - Blue, Yes × 7",
                        "display_key": "Products",
                        "display_value": "Hoodie - Blue, Yes × 7"
                    }
                ]
            }
        ],
        "fee_lines": [],
        "coupon_lines": [],
        "refunds": [],
        "currency_symbol": "$",
        "wcb2b_group": 74,
        "wcb2b_group": 2,
        "wcb2b_total_weight": {
            "self": [
                {
                    "href": "https://demosite.com/wp-json/wc/v3/orders/101"
                }
            ],
            "collection": [
                {
                    "href": "https://demosite.com/wp-json/wc/v3/orders"
                }
            ],
            "customer": [
                {
                    "href": "https://demosite.com/wp-json/wc/v3/customers/2"
                }
            ]
        }
    }

    Richiedi informazioni

      logo-pixo-2022-a

      Progetti di presenza online: dal Sito, al marketing per arrivare alle vendite passando per la semplificazione dei processi ed i rapporti con i clienti.