UPS API এন্ডপয়েন্ট এবং নমুনা PHP টেস্ট কোড

আপস এপিআই এন্ডপয়েন্ট পিএইচপি পরীক্ষার কোড ঠিকানা যাচাইকরণ

আমরা একটি সঙ্গে কাজ করছি কমার্স ক্লায়েন্ট এখন যার ইউপিএস শিপিং ঠিকানা বৈধতা এবং শিপিং খরচ গণনা কাজ বন্ধ. আমরা প্রথম যে সমস্যাটি শনাক্ত করেছি তা হল তাদের কাছে থাকা UPS শিপিং প্লাগইনটি পুরানো এবং যে কোম্পানিটি এটি তৈরি করেছে তার মূল ডোমেনে ম্যালওয়্যার রয়েছে… এটা কখনোই ভালো লক্ষণ নয়। সুতরাং, আমরা ক্রয় WooCommerce UPS প্লাগইন যেহেতু এটি Woocommerce এর বিকাশকারীদের দ্বারা সমর্থিত।

সাইটটি ঠিকানা যাচাই না করে বা শিপিংকে একীভূত না করে, আমাদের প্রথম পদক্ষেপটি যাচাই করা ছিল যে UPS অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেস (এপিআই) আপ এবং চালু ছিল. UPS চেক করার জন্য একটি সুন্দর সাইট আছে এর API এর স্থিতি.

যেহেতু APIটি করা হয়েছে বলে মনে হচ্ছে না, আমাদের পরবর্তী পদক্ষেপ ছিল স্থানীয়ভাবে সমস্যাটি ডিবাগ করা। মজার ব্যাপার হল, ইউপিএস শিপিং ইন্টিগ্রেশন আসলে কাজ করে কিনা তা দেখার জন্য প্লাগইনের কোনো লগিং বা পরীক্ষা ছিল না। এমনকি ডিবাগ সেটিং কোনো প্রতিক্রিয়া প্রদান করেনি, আমাদের লগ ফাইলগুলিও দেয়নি৷ সুতরাং, API পরীক্ষা করার জন্য, আমাকে আসলে API পরীক্ষা করার জন্য একটি স্ক্রিপ্ট প্রোগ্রাম করতে হয়েছিল।

আমি ডাউনলোড UPS API ডেভেলপার কিট… যা কোড নমুনা অন্তর্ভুক্ত করে... এবং বরাবরের মতো বিভ্রান্ত ছিল। ডকুমেন্টেশন সীমিত, API-এর শেষ পয়েন্টগুলি এমনকি তালিকাভুক্ত করা হয়নি, এবং কোড নমুনাগুলি ভালভাবে নথিভুক্ত নয়।

UPS 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

পরীক্ষা করা সবচেয়ে সহজ হল ঠিকানা যাচাইকরণ (উপরে বোল্ড) এন্ডপয়েন্ট তাই আমি একটি ছোট পিএইচপি স্ক্রিপ্ট লিখতে প্রদত্ত কোডটি ব্যবহার করেছি যা ঠিকানাটি পাস করেছে এবং এটি সফল বা ব্যর্থ হয়েছে কিনা তা নিয়ে প্রতিক্রিয়া জানাচ্ছি। আপনি যে ইভেন্টে এটি ব্যবহার করতে চান সেই কোডটি এখানে রয়েছে:

ঠিকানা যাচাইকরণের জন্য UPS API PHP টেস্ট ফাইল

ঠিকানা যাচাইকরণ UPS API এন্ডপয়েন্ট পরীক্ষা করার জন্য এখানে আপডেট করা পিএইচপি স্ক্রিপ্ট রয়েছে:

<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-তে পোস্ট করার জন্য উপরের এই উদাহরণে কিছুটা বয়সী… কিন্তু আমি তাদের পরীক্ষার কোডটি কাজ করতে চেয়েছিলাম।

প্রকাশ: আমি আমার ব্যবহার করছি কমার্স এই নিবন্ধে অধিভুক্ত লিঙ্ক.