UPS API අන්ත ලක්ෂ්ය සහ නියැදි PHP පරීක්ෂණ කේතය
අපි වැඩ කරන්නේ ඒ එක්ක WooCommerce සේවාදායකයා දැන් කාගේද UPS නැව්ගත කිරීම ලිපිනය තහවුරු කිරීම සහ නැව්ගත කිරීමේ පිරිවැය ගණනය කිරීම් වැඩ කිරීම නතර විය. අප හඳුනාගත් පළමු ගැටළුව නම් ඔවුන් සතුව තිබූ UPS නැව්ගත කිරීමේ ප්ලගිනය යල් පැන ගිය එකක් වන අතර එය නිපදවූ සමාගමෙහි මූලික වසම අනිෂ්ට මෘදුකාංග තිබුණා... එය කිසිසේත් හොඳ සලකුණක් නොවේ. ඉතින්, අපි මිලදී ගත්තා WooCommerce UPS ප්ලගිනය එය Woocommerce හි සංවර්ධකයින් විසින් හොඳින් සහාය දක්වන බැවින්.
වෙබ් අඩවිය ලිපිනයන් වලංගු කිරීම හෝ නැව්ගත කිරීම ඒකාබද්ධ නොකිරීම සමඟ, අපගේ පළමු පියවර වූයේ UPS යෙදුම් ක්රමලේඛන අතුරුමුහුණත බව තහවුරු කිරීමයි (API) දක්වා ක්රියාත්මක විය. UPS සතුව පරීක්ෂා කිරීම සඳහා හොඳ වෙබ් අඩවියක් ඇත එහි API හි තත්ත්වය.
API සිදු කළ බවක් නොපෙනෙන බැවින්, අපගේ මීළඟ පියවර වූයේ ගැටලුව දේශීයව දෝෂහරණය කිරීමයි. UPS නැව්ගත කිරීමේ ඒකාබද්ධතාවය ඇත්ත වශයෙන්ම ක්රියාත්මක වේද යන්න බැලීමට ප්ලගිනයට කිසිදු ලොග් කිරීමක් හෝ පරීක්ෂණයක් නොතිබීම සිත්ගන්නා කරුණකි. දෝශ නිරාකරණ සැකසුම පවා කිසිදු ප්රතිපෝෂණයක් ලබා දුන්නේ නැත, හෝ අපගේ ලොග් ගොනු ලබා දුන්නේ නැත. එබැවින්, API පරීක්ෂා කිරීම සඳහා, මට API පරීක්ෂා කිරීමට ස්ක්රිප්ට් එකක් ක්රමලේඛනය කිරීමට සිදු විය.
මම බාගත කළා UPS API සංවර්ධක කට්ටලය… එහි කේත සාම්පල ඇතුළත් විය… සහ වෙනදා මෙන් ව්යාකූල විය. ප්රලේඛනය සීමිතයි, API සඳහා අන්ත ලක්ෂ්ය පවා ලැයිස්තුගත කර නැත, සහ කේත සාම්පල හොඳින් ලේඛනගත කර නොමැත.
එහි ප්රතිඵලයක් වශයෙන්, මට යම් යම් කැණීම් කිරීමට සිදු විය... පළමුවැන්න ඔවුන්ගේ API සඳහා අන්ත ලක්ෂ්ය හඳුනාගැනීමයි. මම ලේඛනගත පරීක්ෂණ අන්ත ලක්ෂ්ය සොයාගෙන, මගේ කේතය ලියා, එය පරීක්ෂා කළෙමි... සාර්ථක නොවීය. තව ටිකක් කැණීමේදී, පරීක්ෂණ අවසන් ස්ථාන මූලික වශයෙන් නිෂ්ඵල බව මට පෙනී ගියේය. අහ්.
UPS API අන්ත ලක්ෂ්ය
ලයිස්තුගත කරන ලද සංවර්ධන අඩවියක ත්රෙඩ් එකක් සොයා ගැනීමට මට හැකි විය UPS API නිෂ්පාදන අන්ත ලක්ෂ්ය:
- 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
පරීක්ෂා කිරීමට පහසුම එක වන්නේ ලිපිනය වලංගු කිරීම (ඉහත තද අකුරින්) අන්ත ලක්ෂ්යය ඒ නිසා මම ලිපිනය පසුකර කුඩා PHP ස්ක්රිප්ට් එකක් ලිවීමට සපයා ඇති කේතය භාවිතා කර එය සාර්ථකද අසාර්ථකද යන්න ප්රතිචාර දැක්වූවා. ඔබ එය භාවිතා කිරීමට කැමති අවස්ථාවක කේතය මෙන්න:
ලිපින වලංගු කිරීම සඳහා UPS API PHP පරීක්ෂණ ගොනුව
ලිපිනය වලංගු UPS API අන්ත ලක්ෂ්යය පරීක්ෂා කිරීම සඳහා යාවත්කාලීන කරන ලද PHP ස්ක්රිප්ට් මෙන්න:
<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>
මෙම ස්ක්රිප්ටය අවම වශයෙන් ඔබ අක්තපත්ර UPS API ලිපින වලංගු කිරීමේ අන්ත ලක්ෂ්යය සමඟ ක්රියා කරන්නේද නැද්ද යන්න පෙන්වයි. ඉහත උදාහරණයේ දී ඔවුන්ගේ API වෙත පළ කිරීමට PHP ක්රමවේදය (fopen) තරමක් පැරණි බව මට වැටහේ... නමුත් මට අවශ්ය වූයේ ඔවුන්ගේ පරීක්ෂණ කේතය ක්රියාත්මක කරවා ගැනීමට පමණි.
අනාවරණය: Martech Zone එය භාවිතා කරයි WooCommerce මෙම ලිපියේ අනුබද්ධ සබැඳි.