Module: Mage_Sales
Resource: sales_order_invoice
Aliases:
- order_invoice
Method:
- sales_order_invoice.create (SOAP V1)
- salesOrderInvoiceCreate (SOAP V2)
Allows you to create a new invoice for an order.
Aliases:
- order_invoice.create
Arguments:
Type | Name | Description |
---|---|---|
string | sessionId |
Session ID |
string |
invoiceIncrementId |
Order increment ID |
array | itemsQty |
Array of orderItemIdQty (quantity of items to invoice) |
string |
comment |
Invoice comment (optional) |
string |
email |
Send invoice on email (optional) |
string |
includeComment |
Include comments in email (optional) |
Returns:
Type | Description |
---|---|
string | ID of the created invoice |
The orderItemIdQty content is as follows:
Type | Name | Description |
---|---|---|
int | order_item_id |
Order item ID |
double | qty |
Quantity |
Examples
Request Example SOAP V1
$client = new SoapClient('http://magentohost/api/soap/?wsdl'); // If somestuff requires API authentication, // then get a session token $session = $client->login('apiUser', 'apiKey'); $result = $client->call( $session, 'sales_order_invoice.create', array('orderIncrementId' => '200000008', array('15' => '1', '16' => '1')) // orderItemIdQty Array is Keyed with Order Item ID, with Value of qty to invoice ); var_dump ($result); // If you don't need the session anymore //$client->endSession($session);
Request Example SOAP V2
$proxy = new SoapClient('http://magentohost/api/v2_soap/?wsdl'); // TODO : change url $sessionId = $proxy->login('apiUser', 'apiKey'); // TODO : change login and pwd if necessary //Create invoice for order // orderItemIdQty Array is Keyed with Order Item ID, with Value of qty to invoice $qty = array('15' => '1', '16' => '1'); $invoiceIncrementId = $proxy->salesOrderInvoiceCreate( $sessionID, '200000008', $qty ); var_dump($invoiceIncrementId);
Request Example SOAP V2 (WS-I Compliance Mode)
$proxy = new SoapClient('http://magentohost/api/v2_soap/?wsdl'); $sessionId = $proxy->login((object)array('username' => 'apiUser', 'apiKey' => 'apiKey')); $result = $proxy->salesOrderInvoiceCreate((object)array('sessionId' => $sessionId->result, 'orderIncrementId' => '200000008', 'itemsQty' => array('15' => '1', '16' => '1'), 'comment' => null, 'email' => null, 'includeComment' => null )); var_dump($result->result);