Fedex Logo

Введение

API FedEx поддерживают метод проверки подлинности OAuth 2.0 (токен носителя) для авторизации запросов API вашего приложения с использованием ресурсов FedEx. Токен доступа OAuth, генерируемый заново каждые 60 минут, должен сопровождать каждую транзакцию API, чтобы обеспечивать проверку подлинности и доступ к ресурсам FedEx.

Подробные сведения об API авторизации

Данный API позволяет авторизовать запросы API и необходим для проверки подлинности ресурсов FedEx. В следующем разделе описываются предварительные требования для использования этого API.

При регистрации на FedEx Developer Portal компания FedEx предоставляет комбинацию из идентификатора клиента (ключа API) и секрета клиента (секретного ключа) для проверки подлинности запросов API в вашем проекте. Каждому проекту вашей организации назначается комбинация из идентификатора клиента и секрета клиента, которая называется учетными данными API.

Примечание. Для получения ключа API и секретного ключа пользователи Internal, Compatible и Proprietary Parent Child могут обратиться к сотруднику FedEx.

Чтобы повысить уровень безопасности, при создании токена OAuth, пользователи FedEx® Internal, Compatible и Proprietary Parent Child могут предоставить в дополнение к ключу API и секретному ключу дочерний ключ (секрет пользователя) и дочерний секрет (пароль пользователя). Этот токен используется в каждом запросе API для проверки подлинности.

Если вы забыли секретный ключ, его можно восстановить на странице проектов на FedEx Developer Portal.

Примечание. При создании новых ключей код в вашем приложении изменится.

Важная информация в этом документе:

  • ключ клиента и ключ API;
  • секрет клиента и секретный ключ;
  • дочерний ключ и ключ пользователя;
  • дочерний секрет и пароль пользователя.

Учетные данные API нужны, чтобы:

  • идентификация проекта, который вызывает API;
  • авторизация доступа к API, включенным в вашем проекте.

Как получить учетные данные API

Учетные данные создаются на основе параметров, введенных на портале FedEx Developer Portal:

  • Идентификатор клиента — ключ API (идентификатор клиента) генерируется при создании проекта на FedEx Developer Portal. Ключ API, связанный с проектом, также можно посмотреть на странице Обзор проекта.
  • Секрет клиента — секретный ключ (секрет клиента) появится на странице подтверждения после создания проекта на FedEx Developer Portal. При необходимости его можно сгенерировать заново на странице Обзор проекта.

Примечание. Для создания токена OAuth пользователи FedEx® Internal, Compatible и Proprietary Parent Child должны помимо ключа API и секретного ключа отправлять дочерний ключ (секрет пользователя) и дочерний секрет (пароль пользователя). Инструкции по получению дочернего ключа и дочернего секрета см. в описании API регистрации учетных данных.

Как работает API авторизации

Авторизация API

После присвоения учетных данных API на портале FedEx Developer Portal с помощью конечной точки OAuth можно получить токен доступа, который будет использоваться в качестве учетных данных в каждой транзакции API.

В запросе OAuth необходимо указать следующие параметры:

  • grant_type — тип пользователя (допустимые значения: client_credentials, csp_credentials, client_pc_credentials);
  • client_id — ключ API проекта;
  • client_secret — секретный ключ API проекта.

Пользователи FedEx® Internal, Compatible и Proprietary Parent Child должны дополнительно указывать следующие параметры:

  • child_id — ключ пользователя, возвращаемый запросом API регистрации учетных данных;
  • child_secret — пароль пользователя, возвращаемый запросом API регистрации учетных данных.

Этот запрос должен возвращать:

  • access_token — зашифрованный токен OAuth, который нужно использовать в транзакции API;
  • token_type — тип токена. В данным случае это проверка подлинности носителя;
  • expires_in — срок действия токена в миллисекундах. Стандартное время действия токена составляет один час;
  • scope — область авторизации, предоставляемая пользователю.

Примеры.

Запрос:

POST /oauth/token HTTP/1.1
grant_type=client_credentials&client_id=<ваш ID клиента>&client_secret=<ваш секрет>

Ответ:

{ ″access_token″: ″eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……..″,
″token_type″: ″bearer″,
″expires_in″: 3600,
″scope″: ″CXS″
}

Запрос для пользователей FedEx® Internal и Compatible:

POST /oauth/token HTTP/1.1
grant_type= csp_credentials&client_id=<ID клиента>&client_secret=<секрет клиента>&child_key=<дочерний ключ>&child_secret=<дочерний секрет>

Ответ:

{ ″access_token″: ″eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……..″,
″token_type″: ″bearer″,
″expires_in″: 3600,
″scope″: ″CXS″
}

Запрос для пользователей FedEx® Proprietary Parent Child:

POST /oauth/token HTTP/1.1
grant_type= client_pc_credentials&client_id=Client ID&client_secret= Client secret&child_key=Child key&child_secret=Child Secret

Ответ:

{ ″access_token″: ″eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……..″,
″token_type″: ″bearer″,
″expires_in″: 3600,
″scope″: ″CXS″
}

Примечание. Токен доступа действует один час. По истечении этого времени его можно сгенерировать заново, отправив запрос POST к конечной точке OAuth/токена.

CLOSE

Response

Copy