Узнать в какой орге сейчас вы работаешь apex

Привет всем.
Возникла потребность знать в каком окружении запускается код.
От этого зависят креды, которые нужно использовать.

Если мы запускаем код в Sandbox, нужно брать одни креды для стороннего API.
Если в Production окружении, то берем другие креды.

Хотел бы узнать как можно это определить и какие вы подходы используете?

На одном из проектов у нас были специальные Custom Settings для работы с внешним API - url, login, password, token (он перезаписывался из кода).
И у каждого энва были свои значения. Такой вот прототип конфиг-файла.
И таким образом их намного легче менять в будущем, чем если их хранить в коде в каком-то классе.

1 Вподобання

isSandbox = [SELECT IsSandbox FROM Organization LIMIT 1].IsSandbox;

productionOrganizationId == UserInfo.getOrganizationId()

URL.getSalesforceBaseUrl()

3 Вподобання

кастом сеттінгс не має користуватися для кредів. є для цього Named Credentials

Оооо это то что нужно.
То есть можно использовать это вс ё сразу или это три разных подхода?
Можно чуть больше контекста. Заранее спсибо

Да, согласен кастом сетингс не самый лучший вариант.
А в этом Named Credentials пароль можно хранить в скрытом виде или он чисто для эндпоинтов?

там любі типи, JWT токени, чи просто логін-пасс, зайдіть в орг і погляньте:
53

2 Вподобання

Там назва змінних говорить сама за себе, можна визначити, чи це сендбок, отримати айді орга і також url, який включатиме namespace оргу

1 Вподобання