UPS API Endpoints sy Sample PHP Test Code
Miara-miasa amin'ny a WooCommerce mpanjifa amin'izao fotoana izao UPS fandefasana ny fanamarinana ny adiresy sy ny kajy ny saran'ny fandefasana dia nijanona tsy niasa. Ny olana voalohany hitanay dia ny plugin fandefasana UPS nananan'izy ireo efa lany andro ary ny sehatra fototra ho an'ny orinasa namolavola azy dia nanana malware… tsy famantarana tsara velively izany. Noho izany, nividy ny Plugin WooCommerce UPS satria tohanan'ny mpamorona ny Woocommerce izy io.
Miaraka amin'ny tranokala tsy manamarina adiresy na mampiditra fandefasana, ny dingana voalohany dia ny fanamarinana fa ny interface programan'ny fampiharana UPS (API) dia niasa sy niasa. Ny UPS dia manana tranokala tsara hanamarinana ny satan'ny API.
Satria toa tsy vita ny API, ny dingana manaraka dia ny famahana ny olana eo an-toerana. Mahavariana fa tsy nisy ny plugin na ny firaketana na ny fitsapana hahitana raha tena niasa tokoa ny fampidirana UPS. Na ny firafitry ny debug aza dia tsy nanome valin-kafatra, na koa ny rakitra lozisialy. Noho izany, mba hitsapana ny API, dia tsy maintsy nanamboatra script aho mba hitsapana ny API.
Navoakako ny UPS API Developer Kit… izay nahitana santionany kaody… ary nisafotofoto toy ny taloha. Voafetra ny antontan-taratasy, tsy voatanisa akory ny teboka farany ho an'ny API, ary tsy voarakitra tsara ny santionan'ny kaody.
Ampidino ny Kit Developer API UPS
Vokatr'izany dia tsy maintsy nanao fandavahana aho… ny voalohany dia ny hamantatra ireo teboka farany ho an'ny API. Nahita teboka farany fitsapana voarakitra aho, nanoratra ny kaodinao ary nanandrana izany… tsy nisy fahombiazana. Nihady kely kokoa ary hitako fa tsy misy ilana azy ireo teboka farany amin'ny fitsapana. Ugh.
UPS API Endpoints
Afaka nahita kofehy aho tamin'ny tranokala fampandrosoana izay nitanisa ny UPS API vokatra faran'ny:
- 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
Ny mora indrindra andrana dia ny Adiresy fanamarinana (bold etsy ambony) dia nampiasa ny kaody nomena aho hanoratana script PHP kely izay nandalo ny adiresy ary namaly raha nahomby na tsy nahomby. Ity ny kaody amin'ny hetsika tianao hampiasaina:
UPS API PHP Test File ho an'ny fanamarinana adiresy
Ity ny script PHP nohavaozina amin'ny fitiliana ny Adiresy 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>
Ity script ity dia hampiseho aminao farafaharatsiny raha toa ka miasa miaraka amin'ny teboka farany Fanamarinana Adiresin'ny UPS API ianao na tsia. Tsapako fa ny fomba PHP (fopen) handefasana ny API-ny dia somary antitra amin'ity ohatra etsy ambony ity…
Disclosure: Martech Zone dia mampiasa azy WooCommerce rohy mifandray amin'ity lahatsoratra ity.