function commerce_usps_api_request in Commerce USPS 7.2
Same name and namespace in other branches
- 7 commerce_usps.xml.inc \commerce_usps_api_request()
Submits an API request to USPS.
Parameters
string $request: A request string.
string $message: Optional log message.
Return value
string XML string response from USPS
2 calls to commerce_usps_api_request()
- commerce_usps_intl_rate_v2_request in includes/
commerce_usps.xml.inc - Builds an international USPS rate request.
- commerce_usps_rate_v4_request in includes/
commerce_usps.xml.inc - Builds a domestics USPS rate request.
File
- includes/
commerce_usps.xml.inc, line 155 - Handles rate request/response related stuff for the Commerce USPS module.
Code
function commerce_usps_api_request($request, $message = '') {
commerce_usps_log('Submitting API request to USPS. @message:<pre>@request</pre>', array(
'@message' => $message,
'@request' => $request,
));
$request_url = variable_get('commerce_usps_connection_address', 'http://Production.ShippingAPIs.com/ShippingAPI.dll');
// Send the request.
$response = drupal_http_request($request_url, array(
'method' => 'POST',
'data' => $request,
));
// If we received a response.
if (!empty($response->data)) {
commerce_usps_log('Response code:@code<br />Response:<pre>@response</pre>', array(
'@code' => $response->code,
'@response' => $response->data,
));
return new SimpleXMLElement($response->data);
}
else {
$settings_url = l(t('settings'), 'admin/commerce/config/shipping/methods/usps/edit');
commerce_usps_log('We did not receive a response from USPS. Make sure you have the correct server url in your !settings.', array(
'!settings' => $settings_url,
), WATCHDOG_ERROR);
}
return FALSE;
}