Salesforce API 67.0: изменения Apex, устаревшие API и ИИ-интеграции

Salesforce Summer '26 brings API v67.0: new Apex security, API retirements, MCP for AI agents, and developer tools. Prepare now!
Обновление Salesforce API 67.0: Критические изменения для Apex и интеграций
Ключевые изменения в Salesforce API версии 67.0, выпущенной летом 2026, кардинально меняют безопасность Apex, ускоряют отказ от устаревших API и стандартизируют интеграцию с ИИ. Эти обновления требуют от разработчиков и архитекторов немедленного внимания: необходимо активно тестировать код и адаптировать проекты, чтобы предотвратить сбои и эффективно внедрить новые функции.
Ключевые изменения в Salesforce API 67.0 и их влияние на Apex и интеграции
Salesforce API 67.0 (лето 2026) вводит обязательное использование with sharing и USER_MODE для Apex, ускоряет прекращение поддержки старых версий SOAP и Platform API, а также стандартизирует ИИ-интеграции через Model Context Protocol (MCP). Обновление также включает новые инструменты, такие как SOQL FORMULA(). Для плавной миграции критически важно провести предрелизное тестирование.
Изменение №1: Новая модель безопасности Apex по умолчанию
Обновление API 67.0 вводит принудительное использование with sharing и USER_MODE в Apex по умолчанию, заменяя устаревшую клаузу WITH SECURITY_ENFORCED. Триггеры теперь работают исключительно в системном режиме. Эти изменения усиливают безопасность, но требуют обязательной проверки и обновления существующего кода для корректной работы.
Начиная с версии API 67.0, среда выполнения Apex применяет новую модель безопасности по умолчанию. Все классы ведут себя так, как будто объявлены с with sharing, и все операции с базой данных выполняются в USER_MODE, если явно не указано иное. Клауза WITH SECURITY_ENFORCED в SOQL устарела; запросы нужно обновить, чтобы использовать WITH USER_MODE для сохранения проверок безопасности на уровне полей.
| Старый шаблон (до v67.0) | Новый шаблон (с v67.0) |
|---|---|
[SELECT Id FROM Account WITH SECURITY_ENFORCED] |
[SELECT Id FROM Account WITH USER_MODE] |
Заголовок класса пустой (работал как without sharing) |
Нужно явно объявить without sharing, если требуется такое поведение |
| Триггеры могли объявлять режим доступа | Ключевые слова режима доступа запрещены; триггеры всегда в системном режиме |
Платформа не будет генерировать ошибку компиляции из-за этих изменений. Вместо этого запросы могут возвращать меньше записей или вызывать исключения во время выполнения, поэтому предрелизное тестирование в Preview-песочнице становится крайне важным. Первые отчёты показывают, что до 18% юнит-тестов могут завершиться неудачно из-за новых правил проверки прав при первом обновлении песочницы.
Один незамеченный SOQL-запрос теперь может скрывать записи от пользователей интеграций, которые раньше видели всё, что ломает зависимые от полной видимости данных ИИ-агенты.
Изменение №2: Ускоренный отказ от устаревших версий API
Salesforce ускоряет процесс вывода из эксплуатации старых версий API. Вызовы login() через SOAP API для версий с 31.0 по 64.0 будут заблокированы летом 2027 года. Полное отключение Platform API версий с 31.0 по 40.0 произойдёт летом 2028 года. Интеграции, использующие эти конечные точки (часто встречающиеся в устаревших ETL-инструментах), необходимо обновить до версии 41.0 или выше. Используйте встроенную утилиту в Setup для выявления источников вызовов и планирования миграции.
| Компонент | Последняя безопасная версия | Волна отключения | Рекомендуемая замена |
|---|---|---|---|
| SOAP login() | 64.0 | Лето 2027 | OAuth 2.0 JWT или client-credentials flow |
| Platform API | 40.0 | Лето 2028 | 41.0+ или REST/Connect конечные точки |
| S2S соединение | любая | Весна 2027 | Partner Cloud, MuleSoft или Data Cloud |
Изменение №3: Стандартизация ИИ-интеграций с Model Context Protocol (MCP)
Протокол Model Context Protocol (MCP) стал общедоступным (GA) и включён в стандартную поддержку. Для каждой Production и Sandbox-организации автоматически создаётся управляемая конечная точка MCP, предоставляющая доступ к sObject, запуску Flow и другим ресурсам через JSON-RPC. Это позволяет внешним ИИ-агентам (например, от OpenAI или Claude), совместимым с MCP, обнаруживать и вызывать функции организации с использованием стандартных OAuth-областей.
Marketing Cloud также запустит собственный MCP-сервер в июле 2026, открывая возможности для управления маркетинговой автоматизацией. Аналогично, API Catalog от MuleSoft будет предоставлять спецификации RAML и OAS через MCP, позволяя ИИ-агентам выбирать между прямыми вызовами Salesforce и корпоративными сервисами.
С размещённым MCP паттерн интеграции смещается от «построй API для ИИ» к «пусть ИИ просматривает каталог возможностей организации» - этот шаг сокращает среднее время разработки коннектора с недель до часов.
Изменение №4: Новые инструменты для разработчиков
Этот релиз также включает несколько точечных улучшений для разработчиков:
- SOQL с функцией
FORMULA()(Pilot): Позволяет выполнять логику формульных полей непосредственно в условииWHERE. Например, для фильтрации по полюDays_Since_Last_Activity:
SELECT Id FROM Account WHERE FORMULA(Days_Since_Last_Activity) > 30 - Пользовательские редакторы для Apex Flow Actions: Теперь поддерживаются кастомные редакторы свойств, что позволяет создавать более интуитивные интерфейсы для настройки Flow, например, с выбором метаданных прямо на холсте.
- Расширения Connect REST API: Добавлено 23 новых ресурса для таких продуктов, как Revenue Management, Service Cloud Voice и OmniStudio Data Mappers. Эти ресурсы автоматически становятся доступными через MCP.
План действий: как подготовиться к обновлению до API 67.0
Чтобы обеспечить плавный переход на версию 67.0, командам разработки следует выполнить следующие шаги в приоритетном порядке:
- Создайте Preview-песочницу для разработчиков, разверните все пакеты и запустите все Apex-тесты с активным API 67.0. Задокументируйте все ошибки, связанные с правами доступа.
- С помощью утилиты в Setup найдите все внешние системы, использующие устаревшие версии API. Составьте план миграции с указанием ответственных и сроков.
- Активируйте автоматически созданный MCP-сервер, экспортируйте его OpenRPC-манифест и передайте на проверку службе безопасности для утверждения необходимых OAuth-областей.
- Найдите и обновите все триггеры, в которых объявлен режим доступа. Это ключевое слово необходимо удалить, так как в v67.0 оно приведёт к ошибке компиляции.
- Проведите аудит кодовой базы на наличие клауз
WITH SECURITY_ENFORCEDи запланируйте их замену наWITH USER_MODE.
Ранние тесты подтверждают, что выполнение этого чек-листа до основного предпросмотра в песочнице снижает количество исправлений после обновления примерно на 40% по сравнению с командами, которые ждут до стадии staging.