woocommerce-rest-api-docs/source/includes/wp-api-v1/_product-shipping-classes.md
2019-09-03 21:23:48 -03:00

14 KiB

Product shipping classes

The product shipping class API allows you to create, view, update, and delete individual, or a batch, of shipping classes.

Shipping class properties

Attribute Type Description
id integer Unique identifier for the resource. read-only
name string Shipping class name. required
slug string An alphanumeric identifier for the resource unique to its type.
description string HTML description of the resource.
count integer Number of published products for the resource. read-only

Create a shipping class

This API helps you to create a new product shipping class.

HTTP request

POST
/wp-json/wc/v1/products/shipping_classes

Example of how to create a product shipping class:

curl -X POST https://example.com/wp-json/wc/v1/products/shipping_classes \
	-u consumer_key:consumer_secret \
	-H "Content-Type: application/json" \
	-d '{
  "name": "Priority"
}'
const data = {
  name: "Priority"
};

WooCommerce.post("products/shipping_classes", data)
  .then((response) => {
    console.log(response.data);
  })
  .catch((error) => {
    console.log(error.response.data);
  });
<?php
$data = [
    'name' => 'Priority'
];

print_r($woocommerce->post('products/shipping_classes', $data));
?>
data = {
    "name": "Priority"
}

print(wcapi.post("products/shipping_classes", data).json())
data = {
  name: "Priority"
}

woocommerce.post("products/shipping_classes", data).parsed_response

JSON response example:

{
  "id": 32,
  "name": "Priority",
  "slug": "priority",
  "description": "",
  "count": 0,
  "_links": {
    "self": [
      {
        "href": "https://example.com/wp-json/wc/v1/products/shipping_classes/32"
      }
    ],
    "collection": [
      {
        "href": "https://example.com/wp-json/wc/v1/products/shipping_classes"
      }
    ]
  }
}

Retrieve a shipping class

This API lets you retrieve a product shipping class by ID.

GET
/wp-json/wc/v1/products/shipping_classes/<id>
curl https://example.com/wp-json/wc/v1/products/shipping_classes/32 \
	-u consumer_key:consumer_secret
WooCommerce.get("products/shipping_classes/32")
  .then((response) => {
    console.log(response.data);
  })
  .catch((error) => {
    console.log(error.response.data);
  });
<?php print_r($woocommerce->get('products/shipping_classes/32')); ?>
print(wcapi.get("products/shipping_classes/32").json())
woocommerce.get("products/shipping_classes/32").parsed_response

JSON response example:

{
  "id": 32,
  "name": "Priority",
  "slug": "priority",
  "description": "",
  "count": 0,
  "_links": {
    "self": [
      {
        "href": "https://example.com/wp-json/wc/v1/products/shipping_classes/32"
      }
    ],
    "collection": [
      {
        "href": "https://example.com/wp-json/wc/v1/products/shipping_classes"
      }
    ]
  }
}

List all shipping classes

This API lets you retrieve all product shipping classes.

GET
/wp-json/wc/v1/products/shipping_classes
curl https://example.com/wp-json/wc/v1/products/shipping_classes \
	-u consumer_key:consumer_secret
WooCommerce.get("products/shipping_classes")
  .then((response) => {
    console.log(response.data);
  })
  .catch((error) => {
    console.log(error.response.data);
  });
<?php print_r($woocommerce->get('products/shipping_classes')); ?>
print(wcapi.get("products/shipping_classes").json())
woocommerce.get("products/shipping_classes").parsed_response

JSON response example:

[
  {
    "id": 33,
    "name": "Express",
    "slug": "express",
    "description": "",
    "count": 0,
    "_links": {
      "self": [
        {
          "href": "https://example.com/wp-json/wc/v1/products/shipping_classes/33"
        }
      ],
      "collection": [
        {
          "href": "https://example.com/wp-json/wc/v1/products/shipping_classes"
        }
      ]
    }
  },
  {
    "id": 32,
    "name": "Priority",
    "slug": "priority",
    "description": "",
    "count": 0,
    "_links": {
      "self": [
        {
          "href": "https://example.com/wp-json/wc/v1/products/shipping_classes/32"
        }
      ],
      "collection": [
        {
          "href": "https://example.com/wp-json/wc/v1/products/shipping_classes"
        }
      ]
    }
  }
]

Available parameters

Parameter Type Description
context string Scope under which the request is made; determines fields present in response. Options: view and edit.
page integer Current page of the collection.
per_page integer Maximum number of items to be returned in result set.
search string Limit results to those matching a string.
exclude string Ensure result set excludes specific ids.
include string Limit result set to specific ids.
order string Order sort attribute ascending or descending. Default is asc. Options: asc and desc.
orderby string Sort collection by object attribute. Default is name. Options: id, include, name, slug, term_group, description and count.
hide_empty bool Whether to hide resources not assigned to any products. Default is false.
product integer Limit result set to resources assigned to a specific product.
slug string Limit result set to resources with a specific slug.

Update a shipping class

This API lets you make changes to a product shipping class.

HTTP request

PUT
/wp-json/wc/v1/products/shipping_classes/<id>
curl -X PUT https://example.com/wp-json/wc/v1/products/shipping_classes/32 \
	-u consumer_key:consumer_secret \
	-H "Content-Type: application/json" \
	-d '{
  "description": "Priority mail."
}'
const data = {
  description: "Priority mail."
};

WooCommerce.put("products/shipping_classes/32", data)
  .then((response) => {
    console.log(response.data);
  })
  .catch((error) => {
    console.log(error.response.data);
  });
<?php
$data = [
    'description' => 'Priority mail.'
];

print_r($woocommerce->put('products/shipping_classes/32', $data));
?>
data = {
    "description": "Priority mail."
}

print(wcapi.put("products/shipping_classes/32", data).json())
data = {
  description: "Priority mail."
}

woocommerce.put("products/shipping_classes/32", data).parsed_response

JSON response example:

{
  "id": 32,
  "name": "Priority",
  "slug": "priority",
  "description": "Priority mail.",
  "count": 0,
  "_links": {
    "self": [
      {
        "href": "https://example.com/wp-json/wc/v1/products/shipping_classes/32"
      }
    ],
    "collection": [
      {
        "href": "https://example.com/wp-json/wc/v1/products/shipping_classes"
      }
    ]
  }
}

Delete a shipping class

This API helps you delete a product shipping class.

HTTP request

DELETE
/wp-json/wc/v1/products/shipping_classes/<id>
curl -X DELETE https://example.com/wp-json/wc/v1/products/shipping_classes/32?force=true \
	-u consumer_key:consumer_secret
WooCommerce.delete("products/shipping_classes/32", {
  force: true
})
  .then((response) => {
    console.log(response.data);
  })
  .catch((error) => {
    console.log(error.response.data);
  });
<?php print_r($woocommerce->delete('products/shipping_classes/32', ['force' => true])); ?>
print(wcapi.delete("products/shipping_classes/32", params={"force": True}).json())
woocommerce.delete("products/shipping_classes/32", force: true).parsed_response

JSON response example:

{
  "id": 32,
  "name": "Priority",
  "slug": "priority",
  "description": "Priority mail.",
  "count": 0,
  "_links": {
    "self": [
      {
        "href": "https://example.com/wp-json/wc/v1/products/shipping_classes/32"
      }
    ],
    "collection": [
      {
        "href": "https://example.com/wp-json/wc/v1/products/shipping_classes"
      }
    ]
  }
}

Available parameters

Parameter Type Description
force string Required to be true, as resource does not support trashing.

Batch update shipping classes

This API helps you to batch create, update and delete multiple product shipping classes.

HTTP request

POST
/wp-json/wc/v1/products/shipping_classes/batch
curl -X POST https://example.com//wp-json/wc/v1/products/shipping_classes/batch \
	-u consumer_key:consumer_secret \
	-H "Content-Type: application/json" \
	-d '{
  "create": [
    {
      "name": "Small items"
    },
    {
      "name": "Large items"
    }
  ],
  "update": [
    {
      "id": 33,
      "description": "Express shipping"
    }
  ],
  "delete": [
    32
  ]
}'
const data = {
  create: [
    {
      name: "Small items"
    },
    {
      name: "Large items"
    }
  ],
  update: [
    {
      id: 33,
      description: "Express shipping"
    }
  ],
  delete: [
    32
  ]
};

WooCommerce.post("products/shipping_classes/batch", data)
  .then((response) => {
    console.log(response.data);
  })
  .catch((error) => {
    console.log(error.response.data);
  });
<?php
$data = [
    'create' => [
        [
            'name' => 'Small items'
        ],
        [
            'name' => 'Large items'
        ]
    ],
    'update' => [
        [
            'id' => 33,
            'description' => 'Express shipping'
        ]
    ],
    'delete' => [
        32
    ]
];

print_r($woocommerce->post('products/shipping_classes/batch', $data));
?>
data = {
    "create": [
        {
            "name": "Small items"
        },
        {
            "name": "Large items"
        }
    ],
    "update": [
        {
            "id": 33,
            "description": "Express shipping"
        }
    ],
    "delete": [
        32
    ]
}

print(wcapi.post("products/shipping_classes/batch", data).json())
data = {
  create: [
    {
      name: "Small items"
    },
    {
      name: "Large items"
    }
  ],
  update: [
    {
      id: 33,
      description: "Express shipping"
    }
  ],
  delete: [
    32
  ]
}

woocommerce.post("products/shipping_classes/batch", data).parsed_response

JSON response example:

{
  "create": [
    {
      "id": 34,
      "name": "Small items",
      "slug": "small-items",
      "description": "",
      "count": 0,
      "_links": {
        "self": [
          {
            "href": "https://example.com/wp-json/wc/v1/products/shipping_classes/34"
          }
        ],
        "collection": [
          {
            "href": "https://example.com/wp-json/wc/v1/products/shipping_classes"
          }
        ]
      }
    },
    {
      "id": 35,
      "name": "Large items",
      "slug": "large-items",
      "description": "",
      "count": 0,
      "_links": {
        "self": [
          {
            "href": "https://example.com/wp-json/wc/v1/products/shipping_classes/35"
          }
        ],
        "collection": [
          {
            "href": "https://example.com/wp-json/wc/v1/products/shipping_classes"
          }
        ]
      }
    }
  ],
  "update": [
    {
      "id": 33,
      "name": "Express",
      "slug": "express",
      "description": "Express shipping",
      "count": 0,
      "_links": {
        "self": [
          {
            "href": "https://example.com/wp-json/wc/v1/products/shipping_classes/33"
          }
        ],
        "collection": [
          {
            "href": "https://example.com/wp-json/wc/v1/products/shipping_classes"
          }
        ]
      }
    }
  ],
  "delete": [
    {
      "id": 32,
      "name": "Priority",
      "slug": "priority",
      "description": "",
      "count": 0,
      "_links": {
        "self": [
          {
            "href": "https://example.com/wp-json/wc/v1/products/shipping_classes/32"
          }
        ],
        "collection": [
          {
            "href": "https://example.com/wp-json/wc/v1/products/shipping_classes"
          }
        ]
      }
    }
  ]
}