Webtect
Webtect

Reputation: 839

Mindbody API using php SOAP

I have been struggling trying to figure out this mindbody API for a while now and was hoping someone here had a solution. Because I am going to be working on a clients site, I need to get an activation link to give them. According to the little documentation they have, I need to send a SOAP xml request with a sourcename,password and siteid and it will return an xml statement with the info I need. I have not used SOAP much and have read everything I can find on it. Below is the code I am trying now ( I ahve tried others including using curl). This is very basic but its the best place to start.

$sourceCredentials = array('SourceName'=>'mysourcename', 'Password'=>"mypassword", 'SiteIDs'=>array('12345'));
    $client = new SoapClient("https://api.mindbodyonline.com/0_5/SiteService.asmx?WSDL"); 
    $result = $client->__soapCall("GetActivationCode", ($sourceCredentials));  
    echo "<pre>"; print_r($result); echo "</pre>";

The error I keep getting is

System.NullReferenceException: Object reference not set to an instance of an object. at mb.API._0_5.SiteService.GetActivationCode(GetActivationCodeRequest Request)

I have tried to use Githubs sources as well but have nto been able to find what I need.

Any help is appreciated.

Upvotes: 3

Views: 4954

Answers (5)

banarsiamin
banarsiamin

Reputation: 1

    <?php
/**
 * [email protected]
 * @author Amin KHAN 
 */
/**
 * Provides route responses for the Example module.
 */
ini_set("user_agent", "FOOBAR");
class MINDBODY_API 
{
    /*
    *WSDL Is xml AND NWSDL simple 
    */
    public $appointmentServiceWSDL = "https://api.mindbodyonline.com/0_5/AppointmentService.asmx?WSDL";
    public $appointmentServiceNWSDL = "https://api.mindbodyonline.com/0_5/AppointmentService.asmx";
    public $classServiceWSDL = "https://api.mindbodyonline.com/0_5/ClassService.asmx?WSDL";
    public $classServiceNWSDL = "https://api.mindbodyonline.com/0_5/ClassService.asmx";
    public $clientServiceWSDL = "https://api.mindbodyonline.com/0_5/ClientService.asmx?WSDL";
    public $clientServiceNWSDL = "https://api.mindbodyonline.com/0_5/ClientService.asmx";
    public $dataServiceWSDL = "https://api.mindbodyonline.com/0_5/DataService.asmx?WSDL";
    public $dataServiceNWSDL = "https://api.mindbodyonline.com/0_5/DataService.asmx";
    public $finderServiceWSDL = "https://api.mindbodyonline.com/0_5/FinderService.asmx?WSDL";
    public $finderServiceNWSDL = "https://api.mindbodyonline.com/0_5/FinderService.asmx";
    public $saleServiceWSDL = "https://api.mindbodyonline.com/0_5/SaleService.asmx?WSDL";
    public $saleServiceNWSDL = "https://api.mindbodyonline.com/0_5/SaleService.asmx";
    public $siteServiceWSDL = "https://api.mindbodyonline.com/0_5/SiteService.asmx?WSDL";
    public $siteServiceNWSDL = "https://api.mindbodyonline.com/0_5/SiteService.asmx";
    public $staffServiceWSDL = "https://api.mindbodyonline.com/0_5/StaffService.asmx?WSDL";
    public $staffServiceNWSDL = "https://api.mindbodyonline.com/0_5/StaffService.asmx";

    private $client;
    private $sourceCredentials = array("SourceName"=>'banarsiamin', "Password"=>'123456=', "SiteIDs"=>array('-9999'));
    private $userCredentials = array("Username"=>'Siteowner', "Password"=>'apitest1234', "SiteIDs"=>array('-9999'));

    // CLASS SERVICE //
    function getClasses($params = array()) {
        $this->client = new SoapClient( $this->classServiceWSDL, array("soap_version"=>SOAP_1_1, 'trace'=>true, 
        'exceptions'=>FALSE, "location" => $this->classServiceNWSDL,
       "stream_context" => stream_context_create( array( 'ssl' => array('verify_peer'=> false,'allow_self_signed' => FALSE)))));
        $request = array_merge(array("SourceCredentials"=>$this->sourceCredentials, "UserCredentials"=>$this->userCredentials),$params);
        try 
        {
            $result = $this->client->GetClasses(array("Request"=>$request));
        } catch (SoapFault $s) {
                echo 'ERROR: [' . $s->faultcode . '] ' . $s->faultstring;
        } catch (Exception $e) {
                echo 'ERROR: ' . $e->getMessage();
        }
        return $result;
    }

    //  GetClassSchedules : - Gets a list of class schedules.  //
    function getClassSchedules($params = array()) {
        $this->client = new SoapClient( $this->classServiceWSDL, array('soap_version'=>SOAP_1_1, 'trace'=>true, 'exceptions'=>FALSE, "location" => $this->classServiceNWSDL,
         "stream_context" => stream_context_create( array( 'ssl' => array('verify_peer'=> false,'allow_self_signed' => FALSE)))));
        $request = array_merge(array("SourceCredentials"=>$this->sourceCredentials, "UserCredentials"=>$this->userCredentials),$params);
        try 
        {
            $result = $this->client->GetClassSchedules(array("Request"=>$request));
        } catch (SoapFault $s) {
                echo 'ERROR: [' . $s->faultcode . '] ' . $s->faultstring;
        } catch (Exception $e) {
                echo 'ERROR: ' . $e->getMessage();
        }
        return $result;
    }


    function getXMLRequest() {
        return $this->client->__getLastRequest();
    }

    function getXMLResponse() {

        return $this->client->__getLastResponse();
    }

    /*************************************
     *  Staff Service
     *  Provides methods and attributes relating to staff.
     *  The following operations are supported. For a formal definition, please review the Service Description.
     **********************************************************************************************************/

    /*
    *   AddOrUpdateStaff :-  Add or update staff.1712 16894
    */
    function addOrUpdateStaff($params = array()) {
        $this->client = new SoapClient($this->staffServiceWSDL, array('soap_version'=>SOAP_1_1, 'Test'=>FALSE, 'trace'=>true, 'exceptions'=>FALSE, "location" => $this->staffServiceNWSDL,
         "stream_context" => stream_context_create( array( 'ssl' => array('verify_peer'=> false,'allow_self_signed' => FALSE)))));
        $request = array_merge(array("SourceCredentials"=>$this->sourceCredentials, "UserCredentials"=>$this->userCredentials),$params);
        try { 
                $result = $this->client->AddOrUpdateStaff(array("Request"=>$request)); 
        } 
        catch (SoapFault $s) {  echo 'ERROR: [' . $s->faultcode . '] ' . $s->faultstring;} 
        catch (Exception $e) {  echo 'ERROR: ' . $e->getMessage();  }
        return $result;
    }
    /*
    *   GetStaff :-  Gets a list of staff members.
    */
    function getStaff($params = array()) {
        $this->client = new SoapClient($this->staffServiceWSDL, array('soap_version'=>SOAP_1_1, 'trace'=>true, 'exceptions'=>FALSE, "location" => $this->staffServiceNWSDL,
         "stream_context" => stream_context_create( array( 'ssl' => array('verify_peer'=> false,'allow_self_signed' => FALSE)))));
        $request = array_merge(array("SourceCredentials"=>$this->sourceCredentials, "UserCredentials"=>$this->userCredentials),$params);
        try { 
                $result = $this->client->GetStaff(array("Request"=>$request)); 
        } 
        catch (SoapFault $s) {echo 'ERROR: [' . $s->faultcode . '] ' . $s->faultstring;} 
        catch (Exception $e) {  echo 'ERROR: ' . $e->getMessage();  }
        return $result;
    }
    /*  
    *   GetStaffImgURL :- Gets a staff member's image URL if it exists.
    */
    function getStaffImgURL($params = array()) {
        $this->client = new SoapClient($this->staffServiceWSDL, array('soap_version'=>SOAP_1_1, 'trace'=>true, 'exceptions'=>FALSE, "location" => $this->staffServiceNWSDL,
         "stream_context" => stream_context_create( array( 'ssl' => array('verify_peer'=> false,'allow_self_signed' => FALSE)))));
        $request = array_merge(array("SourceCredentials"=>$this->sourceCredentials, "UserCredentials"=>$this->userCredentials),$params);
        try { 
                $result = $this->client->GetStaffImgURL(array("Request"=>$request)); 
        } 
        catch (SoapFault $s) {echo 'ERROR: [' . $s->faultcode . '] ' . $s->faultstring;} 
        catch (Exception $e) {  echo 'ERROR: ' . $e->getMessage();  }
        return $result;
    }
    /*
    *   GetStaffPermissions :- Gets a list of staff permissions based on the given staff member.
    */
    function getStaffPermissions($params = array()) {
        $this->client = new SoapClient($this->staffServiceWSDL, array('soap_version'=>SOAP_1_1, 'trace'=>true, 'exceptions'=>FALSE, "location" => $this->staffServiceNWSDL,
         "stream_context" => stream_context_create( array( 'ssl' => array('verify_peer'=> false,'allow_self_signed' => FALSE)))));
        $request = array_merge(array("SourceCredentials"=>$this->sourceCredentials, "UserCredentials"=>$this->userCredentials),$params);
        try { 
                $result = $this->client->GetStaffPermissions(array("Request"=>$request)); 
        } 
        catch (SoapFault $s) {echo 'ERROR: [' . $s->faultcode . '] ' . $s->faultstring;} 
        catch (Exception $e) {  echo 'ERROR: ' . $e->getMessage();  }
        return $result;
    }
    /*
    *   ValidateStaffLogin :-  Validates a username and password. This method returns the staff on success. 
    */
    function validateStaffLogin($params = array()) {
        $this->client = new SoapClient($this->staffServiceWSDL, array('soap_version'=>SOAP_1_1, 'trace'=>true, 'exceptions'=>FALSE, "location" => $this->staffServiceNWSDL,
         "stream_context" => stream_context_create( array( 'ssl' => array('verify_peer'=> false,'allow_self_signed' => FALSE)))));
        $request = array_merge(array("SourceCredentials"=>$this->sourceCredentials, "UserCredentials"=>$this->userCredentials),$params);
        try { 
                $result = $this->client->ValidateStaffLogin(array("Request"=>$request)); 
        } 
        catch (SoapFault $s) {echo 'ERROR: [' . $s->faultcode . '] ' . $s->faultstring;} 
        catch (Exception $e) {  echo 'ERROR: ' . $e->getMessage();  }
        return $result;
    }

    /**************END STAFF******************/

    /***************************************************/
    /**************Appointments STAFF******************/
    /*************************************************/

    //  GetStaffAppointments :- Gets a list of appointments that a given staff member is instructing. //
    function GetStaffAppointments($params = array()) {
        $this->client = new soapClient( $this->appointmentServiceWSDL, array("soap_version"=>SOAP_1_1, 'encoding'=>'UTF-8', 'trace'=>true, 'exceptions'=>FALSE, "location" => $this->appointmentServiceNWSDL,
         "stream_context" => stream_context_create( array( 'ssl' => array('verify_peer'=> false,'allow_self_signed' => FALSE)))));

        $request = array_merge(array("SourceCredentials"=>$this->sourceCredentials, "UserCredentials"=>$this->userCredentials),$params);

        try 
        {

            $result = $this->client->GetStaffAppointments(array("Request"=>$request));

        } catch (SoapFault $s) {
                echo 'ERROR: [' . $s->faultcode . '] ' . $s->faultstring;
        } catch (Exception $e) {
                echo 'ERROR: ' . $e->getMessage();
        }
        return $result;
    }
    //  GetClassSchedules : - Gets a list of class schedules.  //
    function getScheduleItems($params = array()) {
        $this->client = new soapClient( $this->appointmentServiceWSDL, array("soap_version"=>SOAP_1_1, 'encoding'=>'UTF-8', 'trace'=>true, 'exceptions'=>FALSE, "location" => $this->appointmentServiceNWSDL,
         "stream_context" => stream_context_create( array( 'ssl' => array('verify_peer'=> false,'allow_self_signed' => FALSE)))));
        $request = array_merge(array("SourceCredentials"=>$this->sourceCredentials, "UserCredentials"=>$this->userCredentials),$params);
        try 
        {
            $result = $this->client->GetScheduleItems(array("Request"=>$request));
        } catch (SoapFault $s) {
                echo 'ERROR: [' . $s->faultcode . '] ' . $s->faultstring;
        } catch (Exception $e) {
                echo 'ERROR: ' . $e->getMessage();
        }
        return $result;
    }
    //  GetBookableItems  : - Gets a list of class schedules.     //
    function getBookableItems($params = array()) {
        $this->client = new soapClient( $this->appointmentServiceWSDL, array("soap_version"=>SOAP_1_1, 'encoding'=>'UTF-8', 'trace'=>true, 'exceptions'=>FALSE, "location" => $this->appointmentServiceNWSDL,
         "stream_context" => stream_context_create( array( 'ssl' => array('verify_peer'=> false,'allow_self_signed' => FALSE)))));
        $request = array_merge(array("SourceCredentials"=>$this->sourceCredentials, "UserCredentials"=>$this->userCredentials),$params);
        try 
        {  // $client->GetActivationCode(array("Request"=>$request));
            $result = $this->client->GetBookableItems (array("Request"=>$request));
        } catch (SoapFault $s) {
                echo 'ERROR: [' . $s->faultcode . '] ' . $s->faultstring;
        } catch (Exception $e) {
                echo 'ERROR: ' . $e->getMessage();
        }
        return $result;
    }
    /*AddOrUpdateAppointments  :- Adds or updates a list of appointments.*/
    function addUpdateAppointments($params = array()) {
        $this->client = new soapClient( $this->appointmentServiceWSDL, array("soap_version"=>SOAP_1_1, 'encoding'=>'UTF-8', 'trace'=>true, 'exceptions'=>FALSE, "location" => $this->appointmentServiceNWSDL,
         "stream_context" => stream_context_create( array( 'ssl' => array('verify_peer'=> false,'allow_self_signed' => FALSE)))));
        $request = array_merge(array("SourceCredentials"=>$this->sourceCredentials, "UserCredentials"=>$this->userCredentials),$params);
        try 
        {
            $result = $this->client->AddOrUpdateAppointments(array("Request"=>$request));
        } catch (SoapFault $s) {
                echo 'ERROR: [' . $s->faultcode . '] ' . $s->faultstring;
        } catch (Exception $e) {
                echo 'ERROR: ' . $e->getMessage();
        }
        return $result;
    }
    /* AddOrUpdateAvailabilities :- Adds or updates a list of availabilities.*/
    function addUpdateAvailabilities($params = array()) {
        $this->client = new soapClient( $this->appointmentServiceWSDL, array("soap_version"=>SOAP_1_1, 'encoding'=>'UTF-8', 'trace'=>true, 'exceptions'=>FALSE, "location" => $this->appointmentServiceNWSDL,
         "stream_context" => stream_context_create( array( 'ssl' => array('verify_peer'=> false,'allow_self_signed' => FALSE)))));
        $request = array_merge(array("SourceCredentials"=>$this->sourceCredentials, "UserCredentials"=>$this->userCredentials),$params);
        try 
        {    
            $result = $this->client->AddOrUpdateAvailabilities(array("Request"=>$request));
        } catch (SoapFault $s) {
                echo 'ERROR: [' . $s->faultcode . '] ' . $s->faultstring;
        } catch (Exception $e) {
                echo 'ERROR: ' . $e->getMessage();
        }
        return $result;
    }
    /************** END Appointments STAFF******************/

    /************** START Service******************/

    /* AddOrUpdateContactLogs   :- Add or update client contact logs..*/
        function AddOrUpdateContactLogs ($params = array()) {
        $this->client = new SoapClient($this->clientServiceWSDL, array("soap_version"=>SOAP_1_1,'location'=>$this->clientServiceNWSDL, 'trace'=>true, 'exceptions'=>FALSE, "stream_context" => stream_context_create( array( 'ssl' => array('verify_peer'=> false,'allow_self_signed' => FALSE)))));
        $request = array_merge(array("SourceCredentials"=>$this->sourceCredentials, "UserCredentials"=>$this->userCredentials),$params);
        try {
            $result = $this->client->AddOrUpdateContactLogs (array("Request"=>$request));
        } catch (SoapFault $s) {
            echo 'ERROR: [' . $s->faultcode . '] ' . $s->faultstring;
        } catch (Exception $e) {
            echo 'ERROR: ' . $e->getMessage();
        }
        return $result;
    }
    /* GetClients :- Gets a list of clients..*/
    function getClients($params = array()) {
        $this->client = new SoapClient($this->clientServiceWSDL, array('soap_version'=>SOAP_1_1, 'trace'=>true, 'exceptions'=>FALSE, "location" => $this->clientServiceNWSDL,
         "stream_context" => stream_context_create( array( 'ssl' => array('verify_peer'=> false,'allow_self_signed' => FALSE)))));
        $request = array_merge(array("SourceCredentials"=>$this->sourceCredentials, "UserCredentials"=>$this->userCredentials),$params);
        //$result = $client->GetActivationCode(array("Request"=>$request));
        try {
            $result = $this->client->GetClients(array("Request"=>$request));
        } catch (SoapFault $s) {
            echo 'ERROR: [' . $s->faultcode . '] ' . $s->faultstring;
        } catch (Exception $e) {
            echo 'ERROR: ' . $e->getMessage();
        }
        return $result;
    }

    /* GetClientIndexes  :-Gets a list of currently available client indexes.*/
    function GetClientIndexes ($params = array()) {
        $this->client = new SoapClient($this->clientServiceWSDL, array('soap_version'=>SOAP_1_1, 'trace'=>true, 'exceptions'=>FALSE, "location" => $this->clientServiceNWSDL,
         "stream_context" => stream_context_create( array( 'ssl' => array('verify_peer'=> false,'allow_self_signed' => FALSE)))));
        $request = array_merge(array("SourceCredentials"=>$this->sourceCredentials, "UserCredentials"=>$this->userCredentials),$params);
        try {
            $result = $this->client->GetClientIndexes (array("Request"=>$request));
        } catch (SoapFault $s) {
            echo 'ERROR: [' . $s->faultcode . '] ' . $s->faultstring;
        } catch (Exception $e) {
            echo 'ERROR: ' . $e->getMessage();
        }
        return $result;
    }
    /* GetClientPurchases   :-Get purchases for a client.*/
    function GetClientPurchases ($params = array()) {
        $this->client = new SoapClient($this->clientServiceWSDL, array('soap_version'=>SOAP_1_1, 'trace'=>true, 'exceptions'=>FALSE, "location" => $this->clientServiceNWSDL,
         "stream_context" => stream_context_create( array( 'ssl' => array('verify_peer'=> false,'allow_self_signed' => FALSE)))));
        $request = array_merge(array("SourceCredentials"=>$this->sourceCredentials, "UserCredentials"=>$this->userCredentials),$params);
        try {
            $result = $this->client->GetClientPurchases (array("Request"=>$request));
        } catch (SoapFault $s) {
            echo 'ERROR: [' . $s->faultcode . '] ' . $s->faultstring;
        } catch (Exception $e) {
            echo 'ERROR: ' . $e->getMessage();
        }
        return $result;
    }
    /* GetClientVisits    :-Get purchases for a client.*/
    function GetClientVisits ($params = array()) {
        $this->client = new SoapClient($this->clientServiceWSDL, array('soap_version'=>SOAP_1_1, 'trace'=>true, 'exceptions'=>FALSE, "location" => $this->clientServiceNWSDL,
         "stream_context" => stream_context_create( array( 'ssl' => array('verify_peer'=> false,'allow_self_signed' => FALSE)))));
        $request = array_merge(array("SourceCredentials"=>$this->sourceCredentials, "UserCredentials"=>$this->userCredentials),$params);
        try {
            $result = $this->client->GetClientVisits (array("Request"=>$request));
        } catch (SoapFault $s) {
            echo 'ERROR: [' . $s->faultcode . '] ' . $s->faultstring;
        } catch (Exception $e) {
            echo 'ERROR: ' . $e->getMessage();
        }
        return $result;
    }
    /* GetClientServices     :-Get purchases for a client.*/
    function getClientServices ($params = array()) {
        $this->client = new SoapClient($this->clientServiceWSDL, array('soap_version'=>SOAP_1_1, 'trace'=>true, 'exceptions'=>FALSE, "location" => $this->clientServiceNWSDL,
         "stream_context" => stream_context_create( array( 'ssl' => array('verify_peer'=> false,'allow_self_signed' => FALSE)))));
        $request = array_merge(array("SourceCredentials"=>$this->sourceCredentials, "UserCredentials"=>$this->userCredentials),$params);
        try {
            $result = $this->client->GetClientServices (array("Request"=>$request));
        } catch (SoapFault $s) {
            echo 'ERROR: [' . $s->faultcode . '] ' . $s->faultstring;
        } catch (Exception $e) {
            echo 'ERROR: ' . $e->getMessage();
        }
        return $result;
    }
    /* AddOrUpdateClients     :-Get purchases for a client.*/
    function addOrUpdateClients ($params = array()) {
        $this->client = new SoapClient($this->clientServiceWSDL, array('soap_version'=>SOAP_1_1, 'trace'=>true, 'exceptions'=>FALSE, "location" => $this->clientServiceNWSDL,
         "stream_context" => stream_context_create( array( 'ssl' => array('verify_peer'=> false,'allow_self_signed' => FALSE)))));
        $request = array_merge(array("SourceCredentials"=>$this->sourceCredentials, "UserCredentials"=>$this->userCredentials),$params);
        try {
            $result = $this->client->AddOrUpdateClients (array("Request"=>$request));
        } catch (SoapFault $s) {
            echo 'ERROR: [' . $s->faultcode . '] ' . $s->faultstring;
        } catch (Exception $e) {
            echo 'ERROR: ' . $e->getMessage();
        }
        return $result;
    }
    /************** END Service******************/

    /***************************************************/
    /**************Site *******************************/
    /*************************************************/

    //  GetSites :- Gets a list of appointments that a given staff member is instructing. //
    function getSites($params = array()) {
        $this->client = new soapClient( $this->siteServiceWSDL, array("soap_version"=>SOAP_1_1, 'encoding'=>'UTF-8', 'trace'=>true, 'exceptions'=>FALSE, "location" => $this->siteServiceNWSDL,
         "stream_context" => stream_context_create( array( 'ssl' => array('verify_peer'=> false,'allow_self_signed' => FALSE)))));
        $request = array_merge(array("SourceCredentials"=>$this->sourceCredentials, "UserCredentials"=>$this->userCredentials),$params);
        try 
        {
            $result = $this->client->GetSites(array("Request"=>$request));

        } catch (SoapFault $s) {
                echo 'ERROR: [' . $s->faultcode . '] ' . $s->faultstring;
        } catch (Exception $e) {
                echo 'ERROR: ' . $e->getMessage();
        }
        return $result;
    }

}
echo "<PRE>";
$mindb              = new MINDBODY_API(); 
$staff          = array('UpdateAction'=>'AddNew',
                    'Clients'=>array( 
                        'Client'=>array(
                        'FirstName'=>'amin',
                        'LastName'=>'khan',
                        'Username'=> 'banarsiamin',
                        'Password'=> 'amin1216$1',
                        'Email'=>'[email protected]',
                        'MobilePhone'=>'9770534045',
                        'HomePhone'=>'9770534045',
                        'WorkPhone'=>'9770534045',
                        'Address'=>'aminkhanb',
                        'Address2'=>'aminkhanb',
                        'City'=>'aminkhanb',
                        'State'=>'CA',
                        'Country'=>'US',
                        'PostalCode'=>'93401',
                        'ForeignZip'=>'333',
                        'Bio'=>'aminkhanb'
                        )
                    )
                );
    $mail               = '[email protected]';
    echo"<BR>";
    //  $addstaff       = $mindb->addOrUpdateClients($staff); // Add Client 
    $result1        = $mindb->getClients(array ('SearchText'=>''));//'SearchText'=>$mail // Get All Cleint
//  print_r($result1);
    $ClientMembers1 = $result1->GetClientsResult;
    //print_r($ClientMembers1);
    $Client1        = $ClientMembers1->Clients;`enter code here`
    //print_r($Client1);
    $getAllClient1  = $Client1->Client;
    print_r($getAllClient1);
?>

Upvotes: 0

Jiangyang Zhang
Jiangyang Zhang

Reputation: 1

Your SOAP request is not properly setup, try:

$client = new SoapClient("https://api.mindbodyonline.com/0_5/SiteService.asmx?WSDL");
$sourceCredentials = array('SourceName'=>'XXXX', 'Password'=>"XXXX", 'SiteIDs'=>array('XXXX'));
$request = array('SourceCredentials'=>$sourceCredentials);
$result = $client->GetActivationCode(array("Request"=>$request));

Upvotes: 0

Deveoper
Deveoper

Reputation: 31

The API examples found are pathetic. i spent 4-5 hours trying to figure them out, they had a bunch of bugs and no comments to help get better understanding. My suggestion is code it from scratch. MindBody API documentation is really vague but they provide the WSDL urls and methods, that's all u need to know. If you have a good understanding of PHP Programming and SOAP requests. It'll take you 1-2 hours to get started.

Upvotes: 3

Devin Crossman
Devin Crossman

Reputation: 7592

If you're still having trouble I'm working on writing an article on getting started with the MINDBODY API in under 30 minutes also here's a link to a tool I created that should get the activation code for you

Upvotes: 8

Austin
Austin

Reputation: 6034

I know this is a bit old of a question, but there is no need to write these requests by hand. MindBody has a PHP API that can be found here on github

It's not the best API, but you have to do what you have to do.

Upvotes: 1

Related Questions