UPS API Endpoints thiab Sample PHP Test Code
Peb tab tom ua haujlwm nrog a WooCommerce client tam sim no uas UPS shipping chaw nyob validation thiab shipping nqi xam tsis ua hauj lwm. Thawj qhov teeb meem uas peb tau txheeb xyuas yog UPS shipping plugin lawv tau dhau los lawm thiab cov tub ntxhais tseem ceeb rau lub tuam txhab tsim nws muaj malware… uas tsis yog ib qho cim zoo. Yog li ntawd, peb muab cov khoom WooCommerce UPS plugin vim nws tau txais kev txhawb nqa zoo los ntawm cov neeg tsim khoom ntawm Woocommerce.
Nrog rau qhov chaw tsis lees paub qhov chaw nyob lossis kev sib koom ua ke shipping, peb thawj kauj ruam yog los xyuas kom meej tias UPS daim ntawv thov programming interface (API) tau nce thiab ua haujlwm. UPS muaj qhov chaw zoo rau kev kuaj xyuas xwm txheej ntawm nws API.
Txij li thaum API tsis tshwm sim ua tiav, peb cov kauj ruam tom ntej yog los daws qhov teeb meem hauv zos. Interestingly txaus, tsis muaj plugin tsis muaj kev nkag los yog kev sim kom pom tias UPS shipping kev koom ua ke tau ua haujlwm. Txawm tias qhov teeb meem debug tsis tau muab cov lus tawm tswv yim, thiab tsis tau peb cov ntaub ntawv teev tseg. Yog li, txhawm rau sim API, kuv yuav tsum tau ua ib tsab ntawv los ntsuas qhov API.
Kuv downloaded lub UPS API Developer Kit… uas suav nrog cov qauv code… thiab tsis meej pem li puas tau. Cov ntaub ntawv raug txwv, cov ntsiab lus kawg rau API tseem tsis tau teev tseg, thiab cov qauv code tsis tau sau zoo.
Rub tawm UPS API Developer Kit
Yog li ntawd, kuv yuav tsum tau ua qee qhov kev khawb… thawj zaug yog txhawm rau txheeb xyuas qhov kawg rau lawv API. Kuv pom cov ntaub ntawv xeem qhov kawg, sau kuv cov lej, thiab sim nws… tsis muaj kev vam meej. Kev khawb me ntsis ntxiv thiab kuv pom tias qhov ntsuas qhov kawg yog qhov tsis muaj txiaj ntsig. Ugh.
UPS API Endpoints
Kuv muaj peev xwm nrhiav tau ib tug xov ntawm ib tug kev loj hlob site uas teev cov UPS API ntau lawm cov ntsiab lus:
- https://onlinetools.ups.com/ups.app/xml/TimeInTransit
- https://onlinetools.ups.com/ups.app/xml/License
- https://onlinetools.ups.com/ups.app/xml/QVEvents
- https://onlinetools.ups.com/ups.app/xml/Register
- https://onlinetools.ups.com/ups.app/xml/AV
- https://onlinetools.ups.com/ups.app/xml/ShipAccept
- https://onlinetools.ups.com/ups.app/xml/Void
- https://onlinetools.ups.com/ups.app/xml/XAV
- https://onlinetools.ups.com/ups.app/xml/Track
- https://onlinetools.ups.com/ups.app/xml/Rate
- https://onlinetools.ups.com/ups.app/xml/ShipConfirm
- https://onlinetools.ups.com/ups.app/xml/LabelRecovery
Qhov yooj yim tshaj rau kev sim yog qhov Chaw nyob Validation (bold saum toj no) kawg yog li kuv siv cov cai muab los sau ib tsab ntawv PHP me me uas dhau qhov chaw nyob thiab teb nrog seb nws puas ua tiav lossis tsis ua tiav. Nov yog cov cai hauv qhov xwm txheej koj xav siv nws:
UPS API PHP Test File rau Chaw Nyob Validation
Nov yog qhov hloov kho PHP tsab ntawv rau kev sim Chaw Nyob Validation UPS API Endpoint:
<html>
<head>UPS Address Validation Test</head>
<body>Response: <?php
// Configuration
$accessLicenseNumber = "Insert Your API Key";
$userId = "Insert Your User ID";
$password = "Insert Your Password";
$endpointurl = 'https://onlinetools.ups.com/ups.app/xml/AV';
try {
// Create AccessRequest XMl
$accessRequestXML = new SimpleXMLElement ( "<AccessRequest></AccessRequest>" );
$accessRequestXML->addChild ( "AccessLicenseNumber", $accessLicenseNumber );
$accessRequestXML->addChild ( "UserId", $userId );
$accessRequestXML->addChild ( "Password", $password );
// Create AddressValidationRequest XMl
$avRequestXML = new SimpleXMLElement ( "<AddressValidationRequest ></AddressValidationRequest >" );
$request = $avRequestXML->addChild ( 'Request' );
$request->addChild ( "RequestAction", "AV" );
$address = $avRequestXML->addChild ( 'Address' );
$address->addChild ( "City", "ALPHARETTA" );
$address->addChild ( "PostalCode", "300053778" );
$requestXML = $accessRequestXML->asXML () . $avRequestXML->asXML ();
$form = array (
'http' => array (
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => "$requestXML"
)
);
// get request
$request = stream_context_create ( $form );
$browser = fopen ( $endpointurl, 'rb', false, $request );
if (! $browser) {
throw new Exception ( "Connection failed." );
}
// get response
$response = stream_get_contents ( $browser );
fclose ( $browser );
if ($response == false) {
throw new Exception ( "Bad data." );
} else {
// get response status
$resp = new SimpleXMLElement ( $response );
echo $resp->Response->ResponseStatusDescription . "\n";
}
} catch ( Exception $ex ) {
echo $ex;
}
?>
</body>
</html>
Tsab ntawv no tsawg kawg yuav qhia koj seb koj puas yog cov ntaub ntawv pov thawj ua haujlwm nrog UPS API Chaw Nyob Qhov Kawg Qhov Kawg. Kuv paub tias PHP txheej txheem (fopen) tshaj tawm rau lawv API yog me ntsis hnub nyoog hauv qhov piv txwv saum toj no… tab sis kuv tsuas yog xav tau lawv cov lej xeem ua haujlwm.
Disclosure: Martech Zone yog siv nws WooCommerce affiliate links nyob rau hauv no tsab xov xwm.