UPS API የመጨረሻ ነጥቦች እና ናሙና ፒኤችፒ የሙከራ ኮድ
ጋር እየሰራን ነው። WooCommerce ደንበኛ አሁን የማን UPS መላኪያ የአድራሻ ማረጋገጫ እና የመላኪያ ወጪ ስሌቶች መስራት አቁመዋል። በመጀመሪያ የለየነው የዩፒኤስ መላኪያ ፕለጊን ጊዜ ያለፈበት እና ማልዌር ያለበትን ላቋቋመው ኩባንያ ዋና ጎራ ነው… ይህ በጭራሽ ጥሩ ምልክት አይደለም። ስለዚህ, እኛ ገዝተናል WooCommerce UPS ተሰኪ በWoocommerce ገንቢዎች በደንብ ስለሚደገፍ።
ጣቢያው አድራሻዎችን ካላረጋገጠ ወይም መላኪያን ካላዋሃደ የመጀመሪያው እርምጃችን የ UPS መተግበሪያ ፕሮግራሚንግ በይነገጽን ማረጋገጥ ነበር (ኤ ፒ አይ) ተነስቶ እየሰራ ነበር። UPS ን ለመፈተሽ ጥሩ ጣቢያ አለው። የእሱ የኤፒአይ ሁኔታ.
ኤፒአይው የተሰራ ስላልሆነ ቀጣዩ እርምጃችን ችግሩን በአገር ውስጥ ማረም ነበር። የሚገርመው ነገር፣ ሁለቱም ፕለጊኖች የ UPS መላኪያ ውህደት በትክክል መስራቱን ለማየት ምንም አይነት ምዝግብ ማስታወሻም ሆነ ሙከራ አልነበራቸውም። የማረም ቅንብሩ እንኳን ምንም አይነት ግብረመልስ አልሰጠም ወይም የእኛ ሎግ ፋይሎቻችንም አልሰጡም። ስለዚህ፣ ኤፒአይን ለመፈተሽ፣ ኤፒአይን በትክክል ለመፈተሽ ስክሪፕት ማዘጋጀት ነበረብኝ።
አውርደዋለሁ UPS API ገንቢ ስብስብየኮድ ናሙናዎችን ያካተተ… እና እንደበፊቱ ግራ ተጋብቷል። ሰነዱ የተገደበ ነው፣ የኤፒአይ የመጨረሻ ነጥቦች እንኳን አልተዘረዘሩም እና የኮድ ናሙናዎች በደንብ የተመዘገቡ አይደሉም።
በውጤቱም፣ መቆፈር ነበረብኝ… የመጀመሪያው ለኤፒአይያቸው የመጨረሻ ነጥቦችን መለየት ነበር። በሰነድ የተረጋገጡ የፈተና የመጨረሻ ነጥቦችን አገኘሁ፣ ኮዴን ጻፍኩ እና ሞከርኩት… ምንም አልተሳካም። ትንሽ ተጨማሪ መቆፈር እና የፈተና የመጨረሻ ነጥቦች በመሠረቱ ምንም ፋይዳ የሌላቸው መሆናቸውን ተረዳሁ። ኧረ
UPS ኤፒአይ የመጨረሻ ነጥቦች
በልማት ጣቢያ ላይ የዘረዘረውን ክር ማግኘት ችያለሁ UPS ኤፒአይ ምርት የመጨረሻ ነጥቦች:
- 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
ለመፈተሽ በጣም ቀላሉ ነው የአድራሻ ማረጋገጫ (ከላይ ያለው ደፋር) የመጨረሻ ነጥብ ስለዚህ እኔ የቀረበውን ኮድ ተጠቅሜ አድራሻውን ያለፈች ትንሽ ፒኤችፒ ስክሪፕት ለመጻፍ እና የተሳካ ነው ወይም አልተሳካም የሚል ምላሽ ሰጠሁ። ሊጠቀሙበት በሚፈልጉት ክስተት ላይ ያለው ኮድ ይኸውና፡-
UPS API PHP የሙከራ ፋይል ለአድራሻ ማረጋገጫ
የአድራሻ ማረጋገጫ UPS ኤፒአይ የመጨረሻ ነጥብን ለመፈተሽ የዘመነው የ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 አድራሻ ማረጋገጫ የመጨረሻ ነጥብ ጋር እየሰሩ መሆን አለመሆኑን ያሳየዎታል። በኤፒአይያቸው ላይ የሚለጠፍበት የPHP ዘዴ (ፎፔን) ከዚህ በላይ ባለው ምሳሌ ላይ ትንሽ ያረጀ እንደሆነ ተረድቻለሁ… ግን የሙከራ ኮድ እንዲሰራ ብቻ ነው የፈለኩት።
ይፋ ማድረግ: Martech Zone የእሱን ይጠቀማል WooCommerce በዚህ ጽሑፍ ውስጥ የተቆራኙ አገናኞች.