将数据从magento发布到SOAP API

时间:2018-02-09 16:46:24

标签: php xml web-services magento soap

我有一个观察者事件,可以随时更新客户详细信息。此时,它将该信息发布到var日志。

我想把它发布到SOAP API网址。

SOAP API URL

在这一点上,我试图指出如何做到这一点的正确方向,我相信我需要将信息写入与API匹配的XML中。 我只有6个需要填补的领域,所以我认为这不会很难。

$fon = $billingaddress->getTelephone();
$street1 = $billingaddress->getStreet(1);
$street2 = $billingaddress->getStreet(2);
$city = $billingaddress->getCity();
$region = $billingaddress->getRegion();
$postcode = $billingaddress->getPostcode();

电话号码加倍为客户#

有人可以帮我编写XML代码吗?

2 个答案:

答案 0 :(得分:0)

此块将进入您的body标签内,如示例HERE所示。对于XML,它非常简单,你可以将它作为一个$request变量而不是分配几个:

<?php
$request =  '<UpdateCustomer xmlns="http://www.dpro.com/DPAPIServices">'.
              '<aRequest>'.
//                  '<Username>'..'</Username>'.
//                  '<Password>'..'</Password>'.
                '<CustomerNumber>'.$billingaddress->getTelephone();.'</CustomerNumber>'.
                '<CustomerName>'.$billingAddress->getFirstname().' '.$billingAddress->getLastname().'</CustomerName>'.
                '<CustomerAddress1>'.$billingaddress->getStreet(1).'</CustomerAddress1>'.
                '<CustomerAddress2>'.$billingaddress->getStreet(2).'</CustomerAddress2>'.
                '<CustomerCity>'.$billingaddress->getCity().'</CustomerCity>'.
                '<CustomerState>'.$billingaddress->getRegion().'</CustomerState>'.
                '<CustomerZip>'.$billingaddress->getPostcode().'</CustomerZip>'.
              '</aRequest>'.
            '</UpdateCustomer>';
?>

注意: 我已对UsernamePassword进行了评论,因为它们未包含在您的示例中,我不确定它们是您的API用户凭据还是与客户相关。

答案 1 :(得分:0)

在使用已存在的SOAP API时,您不需要编写任何XML。使用内置的SoapClient

如果您需要帮助,请查看此问题的答案:How to make a PHP SOAP call using the SoapClient class