Bazirganî û Bazirganî

Xalên Dawî yên UPS API û Koda Testê ya PHP-ê Nimûne

Em bi a WooCommerce muwekîlê niha yê ku barkirina UPS erêkirina navnîşan û hesabên lêçûnên barkirinê kar rawestandin. Pirsgirêka yekem a ku me nas kir ev pêveka barkirina UPS-ê ya ku wan hebû kevn bû û qada bingehîn a pargîdaniya ku ew pêşxistibû malware hebû… ew qet nîşanek baş e. Ji ber vê yekê, me kirî Pêveka WooCommerce UPS ji ber ku ew ji hêla pêşdebirên Woocommerce ve baş tê piştgirî kirin.

Digel ku malper ne navnîşanan pejirand û ne jî barkirinê yekpare kir, gava meya yekem ev bû ku em verast bikin ku pêwendiya bernamesaziya serîlêdana UPS (API) rabû û xebitî. UPS ji bo kontrolkirina malperê malperek xweş heye rewşa API-ya wê.

Ji ber ku API nehate çêkirin, gava meya paşîn ev bû ku pirsgirêkê li herêmî derxînin. Tiştê balkêş, ne pêvek têketin û ne jî ceribandinek hebû ku bibîne ka entegrasyona barkirina UPS-ê bi rastî kar dike. Tewra mîhenga debugkirinê jî tu bertek peyda nekir, ne jî pelên têketinê yên me. Ji ber vê yekê, ji bo ceribandina API-ê, min neçar ma ku skrîptek bi rastî API-ê ceriband.

Min daxistin UPS API Developer Kit… ku nimûneyên kodê tê de… û wekî berê tevlihev bû. Belgekirin tixûbdar e, xalên dawî yên ji bo API-ê jî nehatine navnîş kirin, û nimûneyên kodê baş ne belge ne.

Kita Pêşdebir a UPS API dakêşin

Wekî encamek, min neçar ma ku hin kolandinê bikim… ya yekem ew bû ku xalên dawî ji bo API-ya wan nas bikim. Min xalên dawiya ceribandinê yên belgekirî dîtin, koda xwe nivîsand, û ew ceriband… bê serkeftin. Piçek bêtir kolandin û min fêr kir ku xalên dawiya ceribandinê bi bingehîn bêkêr bûn. Ugh.

UPS API Endpoints

Min karî li ser malperek pêşkeftinê ku navnîşek navnîşek tê de bibînim Xalên dawiya hilberîna 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

Ya herî hêsan a ceribandinê ev e Navnîşan Validation (li jor stûr) xala paşîn ji ber vê yekê min koda peydakirî bikar anî da ku nivîsek piçûk a PHP-ê binivîsim ku navnîşan derbas kir û bersiv da ka ew serketî bû an neserketî bû. Li vir koda ku hûn dixwazin wê bikar bînin ev e:

UPS API PHP Pelê Testê ji bo Rastkirina Navnîşanê

Li vir nivîsara PHP-ê ya nûvekirî ya ji bo ceribandina Serlêdana Navnîşana UPS API Endpoint heye:

<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>

Ev skrîpt dê bi kêmanî nîşanî we bide ka hûn pêbawer in an na bi xala dawîn a Rastkirina Navnîşana UPS API re dixebitin an na. Ez fêhm dikim ku metodolojiya PHP-ê (fopen) ku ji API-ya xwe re bişîne di vê mînaka li jor de hinekî pîr e… lê min tenê dixwest ku koda testa wan bixebite.

Kişivî: Martech Zone xwe bi kar tîne WooCommerce di vê gotarê de girêdanên hevkariyê.

Douglas Karr

Douglas Karr CMO ya ye OpenINSIGHTS û damezrînerê ya Martech Zone. Douglas alîkariya bi dehan destpêkên serketî yên MarTech kir, di kirîn û veberhênanên Martech de zêdetirî 5 mîlyar dolar alîkarî kir, û di cîbicîkirin û otomatîkkirina stratejiyên firotanê û kirrûbirra xwe de alîkariya pargîdaniyan didomîne. Douglas veguherînek dîjîtal a navneteweyî û pispor û axaftvanek MarTech e. Douglas di heman demê de nivîskarek çapkirî ya rêberê Dummie û pirtûkek serokatiya karsaziyê ye.

Zimanî babet Related

Vegere ser topê
Nêzîkî

Adblock Hat Tesbîtkirin

Martech Zone dikare vê naverokê bê mesref ji we re peyda bike ji ber ku em malpera xwe bi dahata reklamê, girêdanên pêwendiyê, û sponsorgeriyê drav dikin. Dema ku hûn malpera me temaşe dikin, em ê spas bikin ger hûn bloka reklama xwe rakin.