Home
Find the answer to your question
Illustrates how to make OpeneBayIdentityProviderService.login request of type XML
Detailed Description
This is a simple sample that shows how to use PHP to make OpeneBayIdentityProviderService.login API call to obtain EIDP token that is a required HTTP header for Open eBay Application Integration Service API calls.
Prerequisites: You must have successfully deployed an Open eBay Apps application into either Sandbox or Production environment and obtained your Open eBay application key set as described in Open eBay App users guide..
<?php $endpoint = 'https://svcs.ebay.com/OpeneBayIdentityProviderService'; // URL to call $OPERATION= "login"; $APPID= ""; //INSERT YOUR AppID HERE $DEVID= ""; //INSERT YOUR DevID HERE $CERT= "" //INSERT YOUR Cert HERE // specify required HTTP Headers $headers = array( 'X-EBAY-SOA-OPERATION-NAME: ' .$OPERATION, 'X-EBAY-EIDP-IDENTITY: ' . $APPID, 'X-EBAY-SOA-SERVICE-NAME: OpeneBayIdentityProviderService', 'CONTENT-TYPE: text/xml', ); // build OpeneBayIdentityProviderService.login API request payload $xmlRequest = '<?xml version="1.0" encoding="utf-8"?>'; $xmlRequest .= '<loginRequest xmlns="http://www.ebay.com/marketplace/services">'; $xmlRequest .= '<attributes>'; $xmlRequest .= '<attribute name="devId">'; $xmlRequest .= '<attributeValue>'; $xmlRequest .= $DEVID; $xmlRequest .= '</attributeValue></attribute></attributes>'; $xmlRequest .= '<credential appId="'; $xmlRequest .= $APPID; $xmlRequest .= '">'; $xmlRequest .= '<certId>'; $xmlRequest .= $CERT; $xmlRequest .= '</certId></credential></loginRequest>'; $session = curl_init($endpoint); // create a curl session curl_setopt($session, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($session, CURLOPT_POST, true); // POST request type curl_setopt($session, CURLOPT_POSTFIELDS, $xmlRequest); // set the body curl_setopt($session, CURLOPT_HTTPHEADER, $headers); curl_setopt($session, CURLOPT_HEADER, true); // display headers curl_setopt($session, CURLOPT_RETURNTRANSFER, true); echo "\n"; echo $xmlRequest; // log the request payload echo "\n\n"; $responseXML= curl_exec($session); curl_close($session); if ($responseXML) { echo $responseXML; // log the response payload } ?> |