Find your content:

Search form

You are here

Way to identify Salesforce edition using API?

 
Share

Is there an API method to return what edition current customer is using?


Attribution to: Mark Kofman

Possible Suggestion/Solution #1

You can query the OrganizationType from the Organization object.

select OrganizationType from Organization

As of API 32 possible values are: ["Team Edition","Professional Edition","Enterprise Edition","Developer Edition","Personal Edition","Unlimited Edition","Contact Manager Edition","Base Edition"]

Where Team Edition is commonly referred to as Group Edition and Base Edition is known as Performance Edition.

These values are derived from:

Schema.DescribeFieldResult dfr = Schema.sObjectType.Organization.fields.OrganizationType; List<String> values = new List<String>(); for(Schema.PicklistEntry ple : dfr.getPicklistValues()){ values.add(ple.getValue()); } system.debug(JSON.serialize(values));


Attribution to: Daniel Hoechst

Possible Suggestion/Solution #2

Use below class to determine the instance and edition of salesforce.

public class whereAmI{

// First method will give us the edition as a string 

public Static String getEdition(){

    // Organization object FTW!
    Organization[] org = new Organization[]{};
    org = [select Id, OrganizationType from Organization limit 1];

    // Check to make sure we have a result
    if(org.size()==1)
        return org[0].OrganizationType;
    else
        return '[still lost...]';
}


// Next method tells us if we're in a sandbox

public Static Boolean isSandbox(){

    String host = URL.getSalesforceBaseUrl().getHost();
    String server = host.substring(0,host.indexOf('.'));

    // It's easiest to check for 'my domain' sandboxes first 
    // even though that will be rare
    if(server.contains('--'))
        return true;

    // tapp0 is a unique "non-cs" server so we check it now
    if(server == 'tapp0')
        return true;

    // If server is 'cs' followed by a number it's a sandbox
    if(server.length()>2){
        if(server.substring(0,2)=='cs'){
            try{
                Integer.valueOf(server.substring(2,server.length()));
            }
            catch(exception e){
                //started with cs, but not followed by a number
                return false;
            }

            //cs followed by a number, that's a hit
            return true;
        }
    }

    // If we made it here it's a production box
    return false;
  }
}

Courtesy : http://www.michaelforce.org/recipeView?id=a0Ga000000Ekp65EAB


Attribution to: Jitendra Zaa
This content is remixed from stackoverflow or stackexchange. Please visit https://salesforce.stackexchange.com/questions/216

My Block Status

My Block Content