USPS API-创建标签后检索跟踪编号C#

USPS API-创建标签后检索跟踪编号C#,c#,api,pdf,ocr,usps,C#,Api,Pdf,Ocr,Usps,我已经能够成功地使用USPS API创建装运标签。返回的XML给了我一个交付确认号,但它没有返回跟踪号。追踪号码是我真正需要的。我已经使用()作为如何成功创建标签的基础,但是它没有提到如何获取跟踪号 跟踪号位于标签中,该标签可以从它们在XML输出中发送给您的base64代码创建。因此,为了解决我的问题,我尝试将标签保存为图像文件,并使用OCR阅读器(MODI和Tesseract)读取跟踪编号。那是行不通的。我收到的只是胡言乱语 因此,我尝试将输出保存为PDF,并使用iTextSharp读取PDF

我已经能够成功地使用USPS API创建装运标签。返回的XML给了我一个交付确认号,但它没有返回跟踪号。追踪号码是我真正需要的。我已经使用()作为如何成功创建标签的基础,但是它没有提到如何获取跟踪号

跟踪号位于标签中,该标签可以从它们在XML输出中发送给您的base64代码创建。因此,为了解决我的问题,我尝试将标签保存为图像文件,并使用OCR阅读器(MODI和Tesseract)读取跟踪编号。那是行不通的。我收到的只是胡言乱语

因此,我尝试将输出保存为PDF,并使用iTextSharp读取PDF。结果是它没有从文件中读取任何内容

所以现在我在一堵砖墙前。我无法从USPS找到任何API文档,这些文档允许我使用交付确认号检索跟踪号。我也找不到能够从base64编码的输出文件中读取跟踪号的OCR


有没有人可以解决这个问题?提前谢谢

事实证明,通过XML返回的交付确认号可以用作跟踪号。只是在API创建的交付确认号出现在USPS网站之前有一点延迟

我也在寻找追踪号码。我成功创建了PDF,并且有条形码编号,但没有跟踪编号

下面是我的代码,它运行良好

      $devurl = "https://secure.shippingapis.com/ShippingAPI.dll";
       $xml = rawurlencode('<DelivConfirmCertifyV4.0Request USERID="your User id">
        <Option>1</Option>
        <ImageParameters>
            <LabelSequence>
              <PackageNumber>1</PackageNumber>
              <TotalPackages>99</TotalPackages>
            </LabelSequence>
        </ImageParameters>
        <FromName>Joe Smith</FromName>
        <FromFirm>ABC Corp.</FromFirm>
        <FromAddress1>Apt. 3C</FromAddress1>
        <FromAddress2>6406 Ivy Lane</FromAddress2>
        <FromCity>Greenbelt</FromCity>
        <FromState>MD</FromState>
        <FromZip5>20770</FromZip5>
        <FromZip4>1234</FromZip4>
        <ToName>Tom XofY</ToName>
        <ToFirm>XYZ Corp.</ToFirm>
        <ToAddress1>Suite 4D</ToAddress1>
        <ToAddress2>8 Wildwood Drive</ToAddress2>
        <ToCity>Old Lyme</ToCity>
        <ToState>CT</ToState>
        <ToZip5>06371</ToZip5>
        <ToZip4></ToZip4>
        <WeightInOunces>2</WeightInOunces>
        <ServiceType>Priority</ServiceType>
        <InsuredAmount></InsuredAmount>
        <SeparateReceiptPage></SeparateReceiptPage>
        <POZipCode></POZipCode>
        <ImageType>PDF</ImageType>
        <LabelDate></LabelDate>
        <CustomerRefNo></CustomerRefNo>
        <AddressServiceRequested></AddressServiceRequested>
        <SenderName> Imtiyaz</SenderName>
        <SenderEMail>daleep.kbizsoft@gmail.com</SenderEMail>
        <RecipientName></RecipientName>
        <RecipientEMail></RecipientEMail>
        <Container>Variable</Container>
        <Size>Regular</Size>
        <CommercialPrice>True</CommercialPrice>
        <Content>
            <ContentType>LIVES</ContentType>
            <ContentDescription>Bees</ContentDescription>
        </Content>
    </DelivConfirmCertifyV4.0Request>'); 

    $service = 'DelivConfirmCertifyV4';
    $request = $devurl . "?API=" . $service . "&xml=" . $xml;
    $response = SendRequest($request);
    //print_r($response);
    $xml = new SimpleXMLElement($response);
    $myfile = fopen("trackingcreate.pdf", "w") or die("Unable to open file!");
    fwrite($myfile, base64_decode($xml->DeliveryConfirmationLabel)); 
    $json =json_encode($xml);
    $resarray  = json_decode($json);
    echo "<br><b>DeliveryConfirmationNumber :</b>  ".$resarray->DeliveryConfirmationNumber;
    echo  "<br><br><b>ToName : </b>  ".$resarray->ToName;
    echo " <br><br><b>ToFirm :  </b> ".$resarray->ToFirm;
    echo "<br><br><b>ToAddress1 : </b> ".$resarray->ToAddress1;
    echo "<br><br><b>ToCity :  </b> ".$resarray->ToCity;
    echo "<br><br><b>Postnet :  </b> ".$resarray->Postnet;
    echo "<br><br><b>RDC : </b>  ".$resarray->RDC;
    echo "<br><br><b>InsuranceFee :  </b> ".$resarray->InsuranceFee;
    echo  "<br><br><b>Postage : </b>  ".$resarray->Postage;
    echo "<br><br><b>CarrierRoute :  </b> ". $resarray->CarrierRoute;

    function SendRequest($request){
    $session = curl_init();
    curl_setopt($session, CURLOPT_URL, $request);
    curl_setopt($session, CURLOPT_HTTPGET, 1); 
    curl_setopt($session, CURLOPT_HEADER, false);
    curl_setopt($session, CURLOPT_SSL_VERIFYPEER , false );
    curl_setopt($session, CURLOPT_SSL_VERIFYHOST , false );
    curl_setopt($session, CURLOPT_HTTPHEADER, array('Accept: application/xml', 'Content-Type: application/xml'));
    curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
    $response = curl_exec($session);
    curl_close($session);
    return $response;
 } 
$devurl=”https://secure.shippingapis.com/ShippingAPI.dll";
$xml=rawurlencode('
1.
1.
99
乔-史密斯
ABC公司。
3C公寓
常春藤巷6406号
绿地
医学博士
20770
1234
汤姆·克索菲
XYZ公司。
4D套房
威尔德伍德路8号
老莱姆
计算机断层扫描
06371
2.
优先
PDF
伊姆蒂亚兹
达莱普。kbizsoft@gmail.com
变量
有规律的
真的
生活
蜜蜂
'); 
$service='DeliverConfirmCertifyv4';
$request=$devurl。“?API=”$服务“&xml=”$xml;
$response=SendRequest($request);
//打印(回复);
$xml=新的simplexmlement($response);
$myfile=fopen(“trackingcreate.pdf”,“w”)或die(“无法打开文件!”);
fwrite($myfile,base64_decode($xml->DeliveryConfirmationLabel));
$json=json_encode($xml);
$resarray=json_decode($json);
echo“
发货确认号:”..resarray->DeliveryConfirmationNumber; 回声“

音调名称:.$resarray->ToName; echo“

ToFirm:.$resarray->ToFirm; echo“

到地址1:”.$resarray->toaddress 1; 回声“

城市:.$resarray->ToCity; echo“

Postnet:.$resarray->Postnet; echo“

RDC:.$resarray->RDC; echo“

保险费:”.$resarray->保险费; 回音“

邮资:.$resarray->邮资; 回声“

载波路由:”$重新排列->carrieroute; 函数SendRequest($request){ $session=curl_init(); curl_setopt($session,CURLOPT_URL,$request); curl_setopt($session,CURLOPT_HTTPGET,1); curl_setopt($session,CURLOPT_头,false); curl_setopt($session,CURLOPT_SSL_VERIFYPEER,false); curl_setopt($session,CURLOPT_SSL_VERIFYHOST,false); curl_setopt($session,CURLOPT_HTTPHEADER,array('Accept:application/xml','Content Type:application/xml'); curl_setopt($session,CURLOPT_RETURNTRANSFER,true); $response=curl_exec($session); 会议结束($会议); 返回$response; }
注意:显示的API(DeliverConfirmCertifyv4.0Request)仅用于测试。要生成此生产代码,请进行以下两项更改:

  • 将开始和结束XML标记从
    deliveryconfirmCertifyv4.0Request
    更改为
    DeliveryConfirmationV4.0Request
  • 改变

    $service='deliverConfirmCertifyv4'

    $service='DeliveryConfirmationV4'


只需将其复制并粘贴到任何文件中,例如my folder/filename.php运行代码,您将在myfolder中获得pdf文件(trackingcreate.pdf)