API Sample Code (PHP)

Here is sample code in PHP to call the 3.0 XML API:


<?php

// What are we testing?

$test_add_contacts = true;
$test_edit_contacts = false;
$test_delete_contacts = false;
$test_get_contacts = false;
$test_get_contact_groups = false;
$test_add_group = false;
$test_get_groups = false;
$test_delete_groups = false;
$test_add_contacts_to_group = false;
$test_delete_contacts_from_group = false;
$test_add_user_defined_fields = false;
$test_edit_user_defined_fields = false;
$test_delete_user_defined_fields = false;
$test_get_broadcasts_request = false;
$test_get_broadcasts_stats = false;
$test_upload_media = false;
$test_queue_mail = true;
$test_get_CRM_activities = false;
$test_add_CRM_activities = false;
$test_edit_CRM_activities = false;
$test_delete_CRM_activities = false;
$test_get_invoices = false;
$test_add_invoices = false;
$test_delete_invoices = false;

$test_get_project_categories = false;
$test_add_project_categories = false;
$test_get_projects = false;
$test_add_projects = false;
$test_edit_projects = false;
$test_delete_projects = false;
$test_get_project_updates = false;
$test_add_project_updates = false;
$test_edit_project_updates = false;
$test_activate_project_players = false;
$test_deactivate_project_players = false;

 

$API_UserName = urlencode("YOUR_USERNAME_HERE");
$API_Password = urlencode("YOUR_PASSWORD_HERE");

$API_XML = urlencode("<GetAuthTokenRequest>\n</GetAuthTokenRequest>\n");

// NVPRequest for submitting to server
$nvpreq = "email=$API_UserName&password=$API_Password&xml=$API_XML";

echo "Request was $nvpreq\n\n";

$httpResponse = Send_CE_XML_Request($nvpreq);

echo "Response was $httpResponse\n\n";

$my_reader = new XMLReader();
$my_reader->xml($httpResponse);

$xml_result = "";
$xml_token = "";
$xml_errorcode = "";
$xml_errormsg = "";

while ($my_reader->read())
{
    switch ($my_reader->nodeType)
    {
        case XMLReader::ELEMENT:
            if ($my_reader->name == "Result")
            {
                $my_reader->read();
                $xml_result = $my_reader->value;
            }
            else if ($my_reader->name == "Token")
            {
                $my_reader->read();
                $xml_token = $my_reader->value;
            }
            else if ($my_reader->name == "ErrorCode")
            {
                $my_reader->read();
                $xml_errorcode = $my_reader->value;
            }
            else if ($my_reader->name == "ErrorText")
            {
                $my_reader->read();
                $xml_errormsg = $my_reader->value;
            }
            
            break;
    }
}

if ($xml_result == "Error")
{
    print "Error - error code was $xml_errorcode, error message was $xml_errormsg\n";
}
else if ($xml_result == "Success")
{
    $API_Token = urlencode($xml_token);
    
    if ($test_add_contacts)
    {
        $API_XML_String = "<AddContactsRequest>\n";
        $API_XML_String .= "<Contacts>\n";
        $API_XML_String .= "<Contact>\n";
        $API_XML_String .= "<Firstname>Jefferey</Firstname>\n";
        $API_XML_String .= "<Lastname>Johnson</Lastname>\n";
        $API_XML_String .= "<Title>CEO</Title>\n";
        $API_XML_String .= "<Company>Acme Widgets, LLC</Company>\n";
        $API_XML_String .= "<Address1>101 First Street</Address1>\n";
        $API_XML_String .= "<Address2>Suite 234</Address2>\n";
        $API_XML_String .= "<City>Naperville</City>\n";
        $API_XML_String .= "<State>IL</State>\n";
        $API_XML_String .= "<Zip>60565</Zip>\n";
        $API_XML_String .= "<Phone>630-305-9999</Phone>\n";
        $API_XML_String .= "<Mobile>708-555-6565</Mobile>\n";
        $API_XML_String .= "<Fax>630-305-9988</Fax>\n";
        $API_XML_String .= "<Website>www.acmewidgetsllc.com</Website>\n";
        $API_XML_String .= "<Email>jjohnson@acmewidgetsllc.com</Email>\n";
        $API_XML_String .= "<Groups>\n";
        $API_XML_String .= "<Group>TestTeam Leopards</Group>\n";
        $API_XML_String .= "<Group>My Test Group</Group>\n";
        $API_XML_String .= "</Groups>\n";
        $API_XML_String .= "<UserDefinedFields>\n";
        $API_XML_String .= "<UserDefinedField fieldname=\"TestCustomField\">My field value</UserDefinedField>\n";
        $API_XML_String .= "<UserDefinedField fieldname=\"TestUserDefinedSelect1\">Hello</UserDefinedField>\n";
        $API_XML_String .= "</UserDefinedFields>\n";
        $API_XML_String .= "</Contact>\n";
        $API_XML_String .= "</Contacts>\n";
        
        $API_XML_String .= "</AddContactsRequest>\n";
        
        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);
        
        echo "Response was $httpResponse\n\n";
    }
    
    if ($test_edit_contacts)
    {
        $API_XML_String = "<EditContactsRequest>\n";
        $API_XML_String .= "<Contacts>\n";
        $API_XML_String .= "<Contact firstname=\"Jefferey\" lastname=\"Johnson\">\n";
        $API_XML_String .= "<Firstname>Jefferey</Firstname>\n";
        $API_XML_String .= "<Lastname>Johnson </Lastname>\n";
        $API_XML_String .= "<Company>Acme Widgets</Company>\n";
        $API_XML_String .= "<Address1>102 1st Street</Address1>\n";
        $API_XML_String .= "<UserDefinedFields>\n";
        $API_XML_String .= "<UserDefinedField fieldname=\"TestCustomField\">My new field value</UserDefinedField>\n";
        $API_XML_String .= "<UserDefinedField fieldname=\"TestUserDefinedSelect1\">GoodBye</UserDefinedField>\n";
        $API_XML_String .= "</UserDefinedFields>\n";
        $API_XML_String .= "</Contact>\n";
        $API_XML_String .= "</Contacts>\n";
        
        $API_XML_String .= "</EditContactsRequest>\n";
        
        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        
        
        echo "Response was $httpResponse\n\n";
    }
    
    if ($test_delete_contacts)
    {
        $API_XML_String = "<DeleteContactsRequest>\n";
        $API_XML_String .= "<Contacts>\n";
        $API_XML_String .= "<Contact firstname=\"Jefferey\" lastname=\"Johnson\"  />\n";
        $API_XML_String .= "</Contacts>\n";
        
        $API_XML_String .= "</DeleteContactsRequest>\n";
        
        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);                
        
        echo "Response was $httpResponse\n\n";
    }
    
    if ($test_get_contacts)
    {
        $API_XML_String = "<GetContactsRequest>\n";
        $API_XML_String .= "</GetContactsRequest>\n";
        
        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        
        
        echo "Response was $httpResponse\n\n";
        
        $API_XML_String = "<GetContactsRequest group_id=\"1\">\n";
        $API_XML_String .= "</GetContactsRequest>\n";
        
        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        
        
        echo "Response was $httpResponse\n\n";
        
        $API_XML_String = "<GetContactsRequest firstname=\"Jenny\" lastname=\"Gilbertson\" email=\"jgilbertsoon@stonecoldinc.com\">\n";
        $API_XML_String .= "</GetContactsRequest>\n";
        
        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);
        
        echo "Response was $httpResponse\n\n";
    }
    
    if ($test_get_contact_groups)
    {
        $API_XML_String = "<GetContactGroupsRequest >\n";
        $API_XML_String .= "</GetContactGroupsRequest >\n";
        
        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        
        
        echo "Response was $httpResponse\n\n";
        
        $API_XML_String = "<GetContactGroupsRequest contact_id=\"27\">\n";
        $API_XML_String .= "</GetContactGroupsRequest>\n";
        
        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);
        
        echo "Response was $httpResponse\n\n";
        
        $API_XML_String = "<GetContactGroupsRequest firstname=\"Jenny\" lastname=\"Gilbertson\" email=\"jgilbertsoon@stonecoldinc.com\">\n";
        $API_XML_String .= "</GetContactGroupsRequest>\n";
        
        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server
        
        echo "Response was $httpResponse\n\n";
    }
    
    if ($test_add_group)
    {
        $API_XML_String = "<CreateGroupRequest>\n";
        $API_XML_String .= "<Name>TestingBroadcastNotifications</Name>\n";
        $API_XML_String .= "<GroupType>Hidden</GroupType>\n";
        $API_XML_String .= "</CreateGroupRequest>\n";
        
        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server
        
        echo "Response was $httpResponse\n\n";
    }
    
    if ($test_get_groups)
    {
        $API_XML_String = "<GetGroupsRequest>\n";
        $API_XML_String .= "</GetGroupsRequest>\n";
        
        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server
    
        echo "Response was $httpResponse\n\n";

        $API_XML_String = "<GetGroupsRequest group_id=\"5\">\n";
        $API_XML_String .= "</GetGroupsRequest>\n";
        
        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server
        
        echo "Response was $httpResponse\n\n";

        $API_XML_String = "<GetGroupsRequest group_name=\"MyTestGroup\">\n";
        $API_XML_String .= "</GetGroupsRequest>\n";
        
        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server
        
        echo "Response was $httpResponse\n\n";
    }

    if ($test_delete_groups)
    {
        $API_XML_String = "<DeleteGroupsRequest>\n";
        $API_XML_String .= "<Groups>\n";
        $API_XML_String .= "<Group group_id=\"5\"  />\n";
        $API_XML_String .= "<Group group_name=\"MyTestGroup222\"  />\n";
        $API_XML_String .= "</Groups>\n";
        
        $API_XML_String .= "</DeleteGroupsRequest>\n";
        
        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server
        
        echo "Response was $httpResponse\n\n";
    }

    if ($test_add_contacts_to_group)
    {
        $API_XML_String = "<AddContactsToGroupRequest group_id=\"12\">\n";
        $API_XML_String .= "<Contacts>\n";
        $API_XML_String .= "<Contact contact_id=\"58\" />\n";
        $API_XML_String .= "</Contacts>\n";
        $API_XML_String .= "</AddContactsToGroupRequest>\n";
        
        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server

        echo "Response was $httpResponse\n\n";
    }
    
    if ($test_delete_contacts_from_group)
    {
        $API_XML_String = "<DeleteContactsFromGroupRequest group_id=\"6\">\n";
        $API_XML_String .= "<Contacts>\n";
        $API_XML_String .= "<Contact contact_id=\"42\" />\n";
        $API_XML_String .= "<Contact firstname=\"Jim\" lastname=\"Gordon\" />\n";
        $API_XML_String .= "</Contacts>\n";
        $API_XML_String .= "</DeleteContactsFromGroupRequest>\n";
        
        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server
        
        echo "Response was $httpResponse\n\n";
    }

    if ($test_add_user_defined_fields)
    {
        $API_XML_String = "<AddUserDefinedFieldRequest group_id=\"2\">\n";
        $API_XML_String .= "<FieldName>XML API User Defined Field 1</FieldName>\n";
        $API_XML_String .= "<FieldType>Select</FieldType>\n";
        $API_XML_String .= "<PossibleValues>Oranges,Apples,Bananas</PossibleValues>\n";
        $API_XML_String .= "<ContactEditable>Visible</ContactEditable>\n";
        $API_XML_String .= "</AddUserDefinedFieldRequest>\n";
        
        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server
        
        echo "Response was $httpResponse\n\n";

        $API_XML_String = "<AddUserDefinedFieldRequest group_id=\"0\">\n";
        $API_XML_String .= "<FieldName>XML API User Defined Field 2</FieldName>\n";
        $API_XML_String .= "</AddUserDefinedFieldRequest>\n";

        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server
        
        echo "Response was $httpResponse\n\n";
    }
    
    if ($test_edit_user_defined_fields)
    {
        $API_XML_String = "<EditUserDefinedFieldRequest group_id=\"2\">\n";
        $API_XML_String .= "<FieldName>XML API User Defined Field 1</FieldName>\n";
        $API_XML_String .= "<FieldType>Checkbox</FieldType>\n";
        $API_XML_String .= "<PossibleValues>Dogs,Cats,Monkeys</PossibleValues>\n";
        $API_XML_String .= "<ContactEditable>Editable</ContactEditable>\n";
        $API_XML_String .= "</EditUserDefinedFieldRequest >\n";
        
        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server
        
        echo "Response was $httpResponse\n\n";

        $API_XML_String = "<EditUserDefinedFieldRequest group_id=\"0\">\n";
        $API_XML_String .= "<FieldName>XML API User Defined Field 2</FieldName>\n";
        $API_XML_String .= "<ContactEditable>Visible</ContactEditable>\n";
        $API_XML_String .= "</EditUserDefinedFieldRequest>\n";

        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server
        
        echo "Response was $httpResponse\n\n";
    }

    if ($test_delete_user_defined_fields)
    {
        $API_XML_String = "<DeleteUserDefinedFieldRequest>\n";
        $API_XML_String .= "<FieldName>XML API User Defined Field 2</FieldName>\n";
        $API_XML_String .= "</DeleteUserDefinedFieldRequest>\n";
        
        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server
        
        echo "Response was $httpResponse\n\n";
    }

    if ($test_get_broadcasts_request)
    {
        $API_XML_String = "<GetBroadcastsRequest>\n";
        $API_XML_String .= "</GetBroadcastsRequest>\n";
        
        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server
        
        echo "Response was $httpResponse\n\n";
    }
    
    if ($test_get_broadcasts_stats)
    {
        $API_XML_String = "<GetBroadcastStatsRequest broadcast_id=\"20736\">\n";
        $API_XML_String .= "</GetBroadcastStatsRequest>\n";
        
        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server
        
        echo "Response was $httpResponse\n\n";
    }
    
    if ($test_upload_media)
    {
        $API_XML_String = "<UploadMediaRequest>\n";
        $API_XML_String .= "<MediaFolder>TestDir</MediaFolder>\n";
        $API_XML_String .= "<Filename>test_html.html</Filename>\n";
        
        $html_content = "<HTML>\r\n<HEAD>\r\n<TITLE>Test HTML</TITLE>\r\n</HEAD>\r\n<BODY>\r\n<div>Hi, this is a test</div>\r\n</BODY>\r\n</HTML>\r\n";
        $html_content_encoded = base64_encode($html_content);
        $API_XML_String .= "<Content>$html_content_encoded</Content>\n";
        $API_XML_String .= "<Description>A test html file</Description>\n";
        $API_XML_String .= "<ContactsCanView>Y</ContactsCanView>\n";
        $API_XML_String .= "<PublicCanView>Y</PublicCanView>\n";

        $API_XML_String .= "</UploadMediaRequest>\n";
        
        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server
        
        echo "Response was $httpResponse\n\n";
    }

    if ($test_queue_mail)
    {
        $API_XML_String = "<QueueMailRequest Group_id=\"12\">\n";
        $API_XML_String .= "<From_name>Dan queuemail test</From_name>\n";
        $API_XML_String .= "<From_email>dwatkins@wwzard.com</From_email>\n";
        $API_XML_String .= "<Subject>CE Queuemail Test</Subject>\n";
        $API_XML_String .= "<Message MediaID=\"3\"></Message>\n";
        $API_XML_String .= "<Delivery_date_time>2011-02-28T19:00:00</Delivery_date_time>\n";
        $API_XML_String .= "</QueueMailRequest>\n";
        
        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server
        
        echo "Response was $httpResponse\n\n";
    }

    if ($test_get_CRM_activities)
    {
        $API_XML_String = "<GetCRMActivitiesRequest>\n";
        $API_XML_String .= "</GetCRMActivitiesRequest>\n";
        
        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server
    
        echo "Response was $httpResponse\n\n";
        
        $API_XML_String = "<GetCRMActivitiesRequest contact_firstname=\"Jeff\" contact_lastname=\"Gordon\">\n";
        $API_XML_String .= "</GetCRMActivitiesRequest>\n";
        
        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server
    
        echo "Response was $httpResponse\n\n";

        $API_XML_String = "<GetCRMActivitiesRequest group_name=\"TestTeam Leopards\">\n";
        $API_XML_String .= "</GetCRMActivitiesRequest>\n";
        
        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server
    
        echo "Response was $httpResponse\n\n";
    }
    if ($test_add_CRM_activities)
    {
        $API_XML_String = "<AddCRMActivitiesRequest>\n";
        $API_XML_String .= "<CRMActivities>\n";
        $API_XML_String .= "<CRMActivity>\n";
        $API_XML_String .= "<Contact_id>59</Contact_id>\n";
        $API_XML_String .= "<Done_by_contact_id>58</Done_by_contact_id>\n";
        $API_XML_String .= "<Group_id>7</Group_id>\n";
        $API_XML_String .= "<Due_date>201109011100</Due_date>\n";
        $API_XML_String .= "<Activity>Meeting</Activity>\n";
        $API_XML_String .= "<Notes>Meet with George regarding contracts.</Notes>\n";
        $API_XML_String .= "</CRMActivity>\n";
        $API_XML_String .= "<CRMActivity>\n";
        $API_XML_String .= "<Contact_id>58</Contact_id>\n";
        $API_XML_String .= "<Group_id>1</Group_id>\n";
        $API_XML_String .= "<Activity>Phone Call</Activity>\n";
        $API_XML_String .= "</CRMActivity>\n";
        $API_XML_String .= "</CRMActivities>\n";
        $API_XML_String .= "</AddCRMActivitiesRequest>\n";
    
        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server
    
        echo "Response was $httpResponse\n\n";
    }
    if ($test_edit_CRM_activities)
    {
        $API_XML_String = "<EditCRMActivitiesRequest>\n";
        $API_XML_String .= "<CRMActivities>\n";
        $API_XML_String .= "<CRMActivity activity_id=\"68\">\n";
        $API_XML_String .= "<Contact_id>58</Contact_id>\n";
        $API_XML_String .= "<Done_by_contact_id>59</Done_by_contact_id>\n";
        $API_XML_String .= "<Group_id>1</Group_id>\n";
        $API_XML_String .= "<Done_date>201110210830</Done_date>\n";
        $API_XML_String .= "<Due_date>201110121030</Due_date>\n";
        $API_XML_String .= "<Activity>Phone Call</Activity>\n";
        $API_XML_String .= "<Notes>Call Jeff regarding next tasks.</Notes>\n";
        $API_XML_String .= "</CRMActivity>\n";
        $API_XML_String .= "<CRMActivity contact_firstname=\"Daniel\" contact_lastname=\"Watkins\" activity=\"Phone Call\">\n";
        $API_XML_String .= "<Activity>Meeting</Activity>\n";
        $API_XML_String .= "</CRMActivity>\n";
        $API_XML_String .= "</CRMActivities>\n";
        $API_XML_String .= "</EditCRMActivitiesRequest>\n";
    
        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server
    
        echo "Response was $httpResponse\n\n";
    }
    if ($test_delete_CRM_activities)
    {
        $API_XML_String = "<DeleteCRMActivitiesRequest>\n";
        $API_XML_String .= "<CRMActivities>\n";
        $API_XML_String .= "<CRMActivity activity_id=\"68\" />\n";
        $API_XML_String .= "<CRMActivity activity_id=\"69\" />\n";
        $API_XML_String .= "</CRMActivities>\n";
        $API_XML_String .= "</DeleteCRMActivitiesRequest>\n";
    
        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server
    
        echo "Response was $httpResponse\n\n";
    }
    if ($test_get_invoices)
    {
        $API_XML_String = "<GetInvoicesRequest>\n";
        $API_XML_String .= "</GetInvoicesRequest>\n";
        
        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server
    
        echo "Response was $httpResponse\n\n";
        
    }
    
    if ($test_add_invoices)
    {
        $API_XML_String = "<AddInvoicesRequest>\n";
        $API_XML_String .= "<Invoices>\n";
        $API_XML_String .= "<Invoice>\n";
        $API_XML_String .= "<Contact_id>58</Contact_id>\n";
        $API_XML_String .= "<Group_id>7</Group_id>\n";
        $API_XML_String .= "<Sent_date>201202281100</Sent_date>\n";
        $API_XML_String .= "<Due_date>20120328</Due_date>\n";
        $API_XML_String .= "<Description>Test invoice with widgets</Description>\n";
        $API_XML_String .= "<Paid_date>201203101425</Paid_date>\n";
        $API_XML_String .= "<Payment_amount>50.00</Payment_amount>\n";
        $API_XML_String .= "<InvoiceLineItems>\n";
        $API_XML_String .= "<InvoiceLineItem>\n";
        $API_XML_String .= "<Quantity>1</Quantity>\n";
        $API_XML_String .= "<Description>My test widget</Description>\n";
        $API_XML_String .= "<Sku>11111</Sku>\n";
        $API_XML_String .= "<Unit_cost>5.00</Unit_cost>\n";
        $API_XML_String .= "</InvoiceLineItem>\n";
        $API_XML_String .= "<InvoiceLineItem>\n";
        $API_XML_String .= "<Quantity>7</Quantity>\n";
        $API_XML_String .= "<Description>My other test widget</Description>\n";
        $API_XML_String .= "<Unit_cost>5.00</Unit_cost>\n";
        $API_XML_String .= "</InvoiceLineItem>\n";
        $API_XML_String .= "</InvoiceLineItems>\n";
        $API_XML_String .= "</Invoice>\n";
        $API_XML_String .= "<Invoice>\n";
        $API_XML_String .= "<Contact_id>57</Contact_id>\n";
        $API_XML_String .= "<Group_id>1</Group_id>\n";
        $API_XML_String .= "<Description>Test invoice with services</Description>\n";
        $API_XML_String .= "<InvoiceLineItems>\n";
        $API_XML_String .= "<InvoiceLineItem>\n";
        $API_XML_String .= "<Quantity>1</Quantity>\n";
        $API_XML_String .= "<Description>My test service</Description>\n";
        $API_XML_String .= "<Sku>22222</Sku>\n";
        $API_XML_String .= "<Unit_cost>60.00</Unit_cost>\n";
        $API_XML_String .= "</InvoiceLineItem>\n";
        $API_XML_String .= "<InvoiceLineItem>\n";
        $API_XML_String .= "<Quantity>7</Quantity>\n";
        $API_XML_String .= "<Description>My other test service</Description>\n";
        $API_XML_String .= "<Sku>33333</Sku>\n";
        $API_XML_String .= "<Unit_cost>75.00</Unit_cost>\n";
        $API_XML_String .= "</InvoiceLineItem>\n";
        $API_XML_String .= "</InvoiceLineItems>\n";
        $API_XML_String .= "</Invoice>\n";
        $API_XML_String .= "</Invoices>\n";
        $API_XML_String .= "</AddInvoicesRequest>\n";
    
        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server
    
        echo "Response was $httpResponse\n\n";
    }
    
    if ($test_delete_invoices)
    {
        $API_XML_String = "<DeleteInvoicesRequest>\n";
        $API_XML_String .= "<Invoices>\n";
        $API_XML_String .= "<Invoice invoice_id=\"10\" />\n";
        $API_XML_String .= "<Invoice invoice_id=\"12\" />\n";
        $API_XML_String .= "</Invoices>\n";
        $API_XML_String .= "</DeleteInvoicesRequest>\n";
    
        echo "XML Was $API_XML_String<br>\n";
        
        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server
    
        echo "Response was $httpResponse\n\n";
    }

 

    if ($test_get_project_categories)
    {
        $API_XML_String = "<GetProjectCategoriesRequest group_name=\"my_test_group\">\n";
        $API_XML_String .= "</GetProjectCategoriesRequest>\n";

        echo "XML Was $API_XML_String<br>\n";

        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server

        echo "Response was $httpResponse\n\n";
    }

    if ($test_add_project_categories)
    {
        $API_XML_String = "<AddProjectCategoryRequest group_name=\"MyTestGroup\" category_name=\"My Category\">\n";
        $API_XML_String .= "</AddProjectCategoryRequest>\n";

        echo "XML Was $API_XML_String<br>\n";

        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server

        echo "Response was $httpResponse\n\n";
    }

    if ($test_get_projects)
    {
        $API_XML_String = "<GetProjectsRequest>\n";
        $API_XML_String .= "</GetProjectsRequest>\n";

        echo "XML Was $API_XML_String<br>\n";

        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server

        echo "Response was $httpResponse\n\n";
    }

    if ($test_add_projects)
    {
        $API_XML_String = "<AddProjectsRequest>\n";
        $API_XML_String .= "<Projects>\n";
        $API_XML_String .= "<Project>\n";
        $API_XML_String .= "<Group_id>6</Group_id>\n";
        $API_XML_String .= "<Project_name>My Test Project</Project_name>\n";
        $API_XML_String .= "<Project_start_datetime>2014-04-23 14:00</Project_start_datetime>\n";
        $API_XML_String .= "<Project_due_datetime>2014-06-23 19:00</Project_due_datetime>\n";
        $API_XML_String .= "<Project_category_id>9</Project_category_id>\n";
        $API_XML_String .= "<Project_manager_id>23</Project_manager_id>\n";
        $API_XML_String .= "<Priority>High</Priority>\n";
        $API_XML_String .= "<Project_percent_complete>0</Project_percent_complete>\n";
        $API_XML_String .= "<Project_status>In Development</Project_status>\n";
        $API_XML_String .= "<Waiting_on_id>92</Waiting_on_id>\n";
        $API_XML_String .= "<Description>Description for Test Project 1.</Description>\n";
        $API_XML_String .= "<Weekly_email_updates>Y</Weekly_email_updates>\n";
        $API_XML_String .= "<Allocated_hours>320</Allocated_hours>\n";
        $API_XML_String .= "</Project>\n";
        $API_XML_String .= "</Projects>\n";
        $API_XML_String .= "</AddProjectsRequest>\n";

        echo "XML Was $API_XML_String<br>\n";

        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server

        echo "Response was $httpResponse\n\n";
    }

    if ($test_edit_projects)
    {
        $API_XML_String = "<EditProjectsRequest>\n";
        $API_XML_String .= "<Projects>\n";
        $API_XML_String .= "<Project project_id=\"235\">\n";
        $API_XML_String .= "<Group_id>6</Group_id>\n";
        $API_XML_String .= "<Project_name>My Test Project</Project_name>\n";
        $API_XML_String .= "<Project_start_datetime>2014-04-25 14:00</Project_start_datetime>\n";
        $API_XML_String .= "<Project_due_datetime>2014-06-25 19:00</Project_due_datetime>\n";
        $API_XML_String .= "<Project_category_id>9</Project_category_id>\n";
        $API_XML_String .= "<Project_manager_id>23</Project_manager_id>\n";
        $API_XML_String .= "<Priority>Normal</Priority>\n";
        $API_XML_String .= "</Project>\n";
        $API_XML_String .= "</Projects>\n";
        $API_XML_String .= "</EditProjectsRequest>\n";
        $API_XML_String .= "</EditProjectsRequest>\n";

        echo "XML Was $API_XML_String<br>\n";

        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server

        echo "Response was $httpResponse\n\n";
    }

    if ($test_delete_projects)
    {
        $API_XML_String = "<DeleteProjectsRequest>\n";
        $API_XML_String .= "<Projects>\n";
        $API_XML_String .= "<Project project_id=\"235\" />\n";
        $API_XML_String .= "<Project project_name=\"My Sample Project\" />\n";
        $API_XML_String .= "</Projects>\n";
        $API_XML_String .= "</DeleteProjectsRequest>\n";

        echo "XML Was $API_XML_String<br>\n";

        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server

        echo "Response was $httpResponse\n\n";
    }

    if ($test_get_project_updates)
    {
        $API_XML_String = "<GetProjectUpdatesRequest>\n";
        $API_XML_String .= "</GetProjectUpdatesRequest>\n";

        echo "XML Was $API_XML_String<br>\n";

        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server

        echo "Response was $httpResponse\n\n";
    }

    if ($test_add_project_updates)
    {
        $API_XML_String = "<AddProjectUpdatesRequest>\n";
        $API_XML_String .= "<ProjectUpdates>\n";
        $API_XML_String .= "<ProjectUpdate>\n";
        $API_XML_String .= "<Project_id>93</Project_id>\n";
        $API_XML_String .= "<Contact_id>24</Contact_id>\n";
        $API_XML_String .= "<Time_spent>3.4</Time_spent>\n";
        $API_XML_String .= "<Notes>Worked on coding for new project</Notes>\n";
        $API_XML_String .= "<Media_id>92</Media_id>\n";
        $API_XML_String .= "<Update_datetime>2014-05-01 18:23:31</Update_datetime>\n";
        $API_XML_String .= "</ProjectUpdate>\n";
        $API_XML_String .= "<ProjectUpdate>\n";
        $API_XML_String .= "<Project_id>95</Project_id>\n";
        $API_XML_String .= "<Contact_id>22</Contact_id>\n";
        $API_XML_String .= "<Time_spent>7.6</Time_spent>\n";
        $API_XML_String .= "<Notes>Testing the new product</Notes>\n";
        $API_XML_String .= "<Update_datetime>2014-05-05 17:00:00</Update_datetime>\n";
        $API_XML_String .= "</ProjectUpdate>\n";
        $API_XML_String .= "</ProjectUpdates>\n";
        $API_XML_String .= "</AddProjectUpdatesRequest>\n";

        echo "XML Was $API_XML_String<br>\n";

        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server

        echo "Response was $httpResponse\n\n";
    }

    if ($test_activate_project_players)
    {
        $API_XML_String = "<ActivateProjectPlayersRequest project_id=\"12345\">\n";
        $API_XML_String .= "<Player id=\"1111\"></Player>\n";
        $API_XML_String .= "<Player id=\"2222\"></Player>\n";
        $API_XML_String .= "</ActivateProjectPlayersRequest>\n";

        echo "XML Was $API_XML_String<br>\n";

        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server

        echo "Response was $httpResponse\n\n";
    }

    if ($test_deactivate_project_players)
    {
        $API_XML_String = "<DeactivateProjectPlayersRequest project_id=\"12345\">\n";
        $API_XML_String .= "<Player id=\"1111\"></Player>\n";
        $API_XML_String .= "<Player id=\"2222\"></Player>\n";
        $API_XML_String .= "</DeactivateProjectPlayersRequest>\n";

        echo "XML Was $API_XML_String<br>\n";

        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server

        echo "Response was $httpResponse\n\n";
    }

    if ($test_edit_project_updates)
    {
        $API_XML_String = "<EditProjectUpdatesRequest>\n";
        $API_XML_String .= "<ProjectUpdates>\n";
        $API_XML_String .= "<ProjectUpdate project_update_id=\"23\">\n";
        $API_XML_String .= "<Time_spent>4.4</Time_spent>\n";
        $API_XML_String .= "<Notes>Helped Jim with sales</Notes>\n";
        $API_XML_String .= "<Update_datetime>2014-05-02 11:23:31</Update_datetime>\n";
        $API_XML_String .= "</ProjectUpdate>\n";
        $API_XML_String .= "<ProjectUpdate project_update_id=\"93\">\n";
        $API_XML_String .= "<Project_id>55</Project_id>\n";
        $API_XML_String .= "<Contact_id>12</Contact_id>\n";
        $API_XML_String .= "<Time_spent>2.6</Time_spent>\n";
        $API_XML_String .= "<Notes>QA meeting</Notes>\n";
        $API_XML_String .= "<Update_datetime>2014-04-23 17:00:00</Update_datetime>\n";
        $API_XML_String .= "</ProjectUpdate>\n";
        $API_XML_String .= "</ProjectUpdates>\n";
        $API_XML_String .= "</EditProjectUpdatesRequest>\n";

        echo "XML Was $API_XML_String<br>\n";

        $API_XML = urlencode($API_XML_String);

        // NVPRequest for submitting to server
        $nvpreq = "email=$API_UserName&auth_token=$API_Token&xml=$API_XML";

        echo "Request was $nvpreq\n\n";

        $httpResponse = Send_CE_XML_Request($nvpreq);        // getting response from server

        echo "Response was $httpResponse\n\n";
    }

 

}
else
{
    print "Unrecognized XML\n";
}

function Send_CE_XML_Request($request)
{
    $test_url = "https://api.stgi.net/xml.pl";

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $test_url);
    curl_setopt($ch, CURLOPT_VERBOSE, 1);

    // turning off the server and peer verification(TrustManager Concept).
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch, CURLOPT_SSLVERSION, 6);


    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
    
    return curl_exec($ch);
}

 


    
?>