How to add order in Woocommerce From PHP Web Services / Web Apis

Hello Developers,
   If you want to add order of woocommerce from php web api then you can create a file in your api folder named : add_order.php
Paste following code in your add_order.php file :

<?php
include ('../wp-load.php');

$order_data = array(
    'post_name'     => 'order-' . date_format($order_date, 'M-d-Y-hi-a'), //'order-jun-19-2014-0648-pm'
    'post_type'     => 'shop_order',
    'post_title'    => 'Order &ndash; ' . date_format($order_date, 'F d, Y @ h:i A'), //'June 19, 2014 @ 07:19 PM'
    'post_status'   => 'wc-completed',
    'ping_status'   => 'closed',
    'post_excerpt'  => $_REQUEST['note'],
    'post_date'     => date_format($order_date, 'Y-m-d H:i:s e'), //'order-jun-19-2014-0648-pm'
    'comment_status' => 'open'
);

// create order
$order_id = wp_insert_post( $order_data, true );
$order->imported = true;

 // get product by item_id
    $product = $_REQUEST['product_id'];


if( $product ) {

        // add item
        $item_id = wc_add_order_item( $order_id, array(
            'order_item_name'       => {Your Item name, which you can fetch from product post type with product id},
            'order_item_type'       => 'line_item'
        ) );

        if ( $item_id ) {

            // add item meta data
            wc_add_order_item_meta( $item_id, '_qty', $_REQUEST['quantity'] ); 
            wc_add_order_item_meta( $item_id, '_product_id',$product );

        }

        // set order status as completed
        wp_set_object_terms( $order_id, 'completed', 'shop_order_status' );


    } else {

        $order->errors = 'Product SKU (' . $order->$item_id . ') not found.';
    }
?>

After you can pass all parameter with below api link
http://www.webtecso.com/api/add_order.php

Comments