Вроде простая и регулярная задача, а все время забываю синтаксис.
Поэтому создаю тему, что хранить здесь всю инфу с нюансами.
Пожалуйста, добавляйте сюда все что знаете по теме. Пригодится.
Вот для начала:
получение базового урл Орга в Апексе:
URL.getSalesforceBaseUrl().toExternalForm()
и знаете что? я не могу найти синтаксис, чтобы получить Портальный урл по имен портала, не вижу этого в описании портальной метадата АПИ:
 https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_portal.htm
Если я правильно помню, работает точно также и для портала, только возвращает портальный URL. Получить список всех URL по имени портала через API вроде нельзя.
String SQL = 'SELECT UrlPathPrefix, Subdomain, Status, SiteType, Name, MasterLabel FROM Site WHERE Status=\'Active\'';
если я правильно понял, имеется ввиду ситуация, когда текущий пользователь находится в Портале, то тогда можно получить его УРЛ.
а если ран-контекст идет под внутри-орговым пользователем, но нужно динамически получить портальный урл, например для создания ссылок в емайл рассылке?
Для этого нужно использовать другое решение. Найду код, скину.
я сходу не смог нагуглить и не силен в Метадата АПИ
я сходу не смог нагуглить и не силен в Метадата АПИ
В принципе можно использовать DescribeObject, но для этого нужно использовать контекст конкретного пользователя, что не всегда удобно.