Críochphointí API UPS agus Cód Tástála PHP Samplach

ups api endpoints php bailíochtú seoladh cód tástála

Táimid ag obair le a WooCommerce cliant ceart anois a bhfuil UPS loingseoireachta bhailíochtú seoltaí agus ríomhanna costais loingseoireachta stoptha ag obair. Ba í an chéad cheist a d’aithin muid ná an breiseán loingseoireachta UPS a bhí as dáta acu agus bhí an bhunfhearann ​​don chuideachta a d’fhorbair sé malware… ní comhartha maith é sin riamh. Mar sin, cheannaigh muid an Breiseán WooCommerce UPS ós rud é go bhfuil tacaíocht mhaith aige ó fhorbróirí Woocommerce.

Gan an suíomh ag bailíochtú seoltaí ná ag comhtháthú loingseoireachta, ba é an chéad chéim a bhí againn ná a fhíorú go bhfuil comhéadan ríomhchláraithe feidhmchlár UPS (API) a bhí suas agus ag feidhmiú. Tá suíomh deas ag UPS chun an stádas a API.

Ós rud é nach cosúil go raibh an API déanta, ba é an chéad chéim eile a bhí againn ná an cheist a dhífhabhtú go háitiúil. Suimiúil go leor, ní raibh logáil ná tástáil ar bith ag ceachtar breiseán féachaint ar oibrigh comhtháthú loingseoireachta UPS i ndáiríre. Níor sholáthair fiú an socrú dífhabhtaithe aon aiseolas, agus níor thug ár gcomhaid loga. Mar sin, chun an API a thástáil, bhí orm script a ríomhchlárú chun an API a thástáil i ndáiríre.

Íoslódáil mé an Kit Forbróirí API UPS… lena n-áirítear samplaí cód… agus bhí mearbhall air mar a bhí riamh. Tá an doiciméadú teoranta, ní raibh na críochphointí don API liostaithe fiú, agus níl na samplaí cód doiciméadaithe go maith.

Íoslódáil an UPS API Forbróir Kit

Mar thoradh air sin, bhí orm roinnt tochailt a dhéanamh ... ba é an chéad cheann ná críochphointí a aithint dá API. Fuair ​​​​mé críochphointí tástála doiciméadaithe, scríobh mo chód, agus thástáil mé é ... gan aon rath. Beagán níos mó tochailte agus fuair mé amach go raibh na críochphointí tástála gan úsáid go bunúsach. Ugh.

Críochphointí API UPS

Bhí mé in ann snáithe a aimsiú ar shuíomh forbartha a liostaigh na Críochphointí táirgeachta 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

Is é an ceann is éasca le tástáil an Bailíochtú Seoladh críochphointe (troma thuas) agus mar sin d'úsáid mé an cód a cuireadh ar fáil chun script PHP beag a scríobh a rith an seoladh agus a d'fhreagair cé acu an raibh nó nach raibh sé rathúil nó ag teip. Seo é an cód sa chás gur mhaith leat é a úsáid:

Comhad Tástála PHP API UPS le haghaidh Bailíochtú Seoltaí

Seo é an script PHP nuashonraithe chun críochphointe API UPS um Bailíochtú Seoladh a thástáil:

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

Taispeánfaidh an script seo duit ar a laghad an bhfuil nó nach bhfuil dintiúir agat ag obair le críochphointe Bailíochtú Seoladh API UPS. Tuigim go bhfuil an mhodheolaíocht PHP (fopen) le postáil chuig a n-API beagán sean sa sampla seo thuas ... ach níor theastaigh uaim ach go n-oibreodh a gcód tástála.

Nochtadh: Tá mo chuid á úsáid agam WooCommerce naisc chleamhnaithe san Airteagal seo.