2012-06-02 1 views
3

나는 발송물을 만들고 SOAP를 통해 추적 번호를 추가 할 수 있었지만 고객에게 추적 번호를 API를 통해 이메일로 보내는 방법을 알아 냈습니다. 발송물을 만들 때 전자 메일을 보낼 수 있지만 추적 번호를 추가하기 전에 발송물을 만들어야합니다. 내 이메일을 만들어서 보낼 수 있다는 것을 알았지 만, 가능하다면 API를 계속 사용하고 싶습니다.Magento SOAP v2 : 전자 메일 고객 추적 번호

SOAP 메소드를 사용하여이 작업을 수행 할 수 있습니까?

추적 번호를 만들기 :

public function addTrackingNumber($trackingNumber) 
{ 

    $shipmentID = $this->createShipment(); 
    return $this->client->salesOrderShipmentAddTrack(
       $this->sessionId, 
       $shipmentID, 
       "ups", 
       "UPS", 
       $trackingNumber 
      ); 
} 

답변

0

이 질문은 조금 오래된하지만 같은 문제를 가로 질러 와서 그 방법에 대한 젠토 API보고 그것을 해결.
사용자에게 알리고 싶다면 인수를 사용하여 발송물을 만들어야한다고 말합니다.

+0

이로 인해 사용자는 추적 정보가없는 발송 통지 이메일 *을 받게됩니다. – leek

2

배송 API에 문서화되지 않은 sendInfo 엔드 포인트가 있습니다. 추가 된시기가 확실하지 않아서 Magento 버전에 없을 수도 있지만 app/code/core/Mage/Sales/Model/Order/Shipment/Api.php에서 찾을 수 있습니다. 마 젠토에서는 다음과 같습니다 1.9.1.0 :

public function sendInfo($shipmentIncrementId, $comment = '') 

당신은 당신이 사용하고있는 API의 버전에 맞는 코드를 얻으려면이부터 거꾸로 작동해야합니다. 여기 내 요청 (V1)의 모습입니다 :

return $this->client->salesOrderShipmentSendInfo($shipmentID, 'an optional comment'); 

그래서 당신은 세 가지 API 호출을해야합니다 : 응용 프로그램에서

$result = $client->call($session, 'sales_order_shipment.sendInfo', array('100000001', 'an optional comment')); 

내가 그것을 이런 식으로 뭔가를 보일 것이다 의심 처음 만들 수 있습니다 발송물 ( 이 아니며 알림 전자 메일을 보냄), 두 번째로 추적 번호를 추가하고 세 번째로 최종적으로 알림을 보냅니다.