【问题标题】:Unable to Create invoice via rest api in magento 2.0无法通过 magento 2.0 中的 rest api 创建发票
【发布时间】:2016-05-10 16:32:14
【问题描述】:

我有以下代码在 magento 2.0 中为订单创建发票

<?php
$adminUrl='http://xxxxx/index.php/rest/V1/integration/admin/token';
$ch = curl_init();
$data = array("username" => "xxxxx", "password" => "xxxxx");                                                                    
$data_string = json_encode($data);                       
$ch = curl_init($adminUrl); 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");                                                                     
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);                                                                  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                                                                      
curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                          
     'Content-Type: application/json',                                                                                
     'Content-Length: ' . strlen($data_string))                                                                       
      );       
$token = curl_exec($ch);
$token=  json_decode($token); 
$headers = array("Authorization: Bearer $token"); 
$requestUrl1='http://xxxxx/index.php/rest/V1/invoices';
$ch1 = curl_init();
$ch1 = curl_init($requestUrl1); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);   
$result1 = curl_exec($ch1);
$result1=  json_decode($result1);
print_r($result1);
?>

它给了我

{"message":"%fieldName is a required field.","parameters":{"fieldName":"entity"}} 

【问题讨论】:

  • 您的$token 的值是否正确?
  • 是的,获取订单休息 api 和发布新产品 api 正在工作

标签: php rest curl magento-2.0


【解决方案1】:

尝试像这样传递 Invoice 数据

    $setHaders = array('Content-Type:application/json','Authorization:Bearer '.$adminToken);

    $productData='{"entity":{"orderId":6,"items":[{"orderItemId":9,"qty":1},{"orderItemId":10,"qty":1}],"comments":[],"extensionAttributes":{}}}';

    $requestURL= "{magento-url}/rest//V1/invoices";

    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL, $requestURL);

    curl_setopt($ch,CURLOPT_POSTFIELDS, $productData);

    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($ch, CURLOPT_HTTPHEADER, $setHaders);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = curl_exec($ch);

【讨论】:

    猜你喜欢
    • 2012-07-14
    • 1970-01-01
    • 2021-09-13
    • 2013-03-11
    • 2018-01-03
    • 2018-10-25
    • 2013-03-17
    • 2022-06-30
    • 1970-01-01
    相关资源
    最近更新 更多