В статье приведены API-запросы, позволяющие работать с SSL-сертификатами в системе https://api.ispmanager.com.
Доступные действия:
API-адрес биллинговой системы ispmanager: https://api.ispmanager.com.
Для заказа сертификатов для нескольких доменов необходимо в параметрах altname
и altname_input
передать написанные через пробел дополнительные домены.
Примеры заказа секретного ключа и SSL-сертификата для нескольких доменов. Остальные запросы формируются аналогично приведенным примерам.
Заказ SSL-сертификата состоит из двух этапов:
Для получения секретного ключа на один домен необходимо отправить запрос вида:
https://api.ispmanager.com/billmgr?authinfo=EMAIL:PASSWORD&out=bjson&func=certificate.order.csr&sok=ok&snext=ok&crt_type=generate&field_country=COUNTRY&period=12&pricelist=PRICELIST&CN=DOMAIN&ST=REGION&L=CITY&O=ORGANIZATION&OU=ORG_UNIT&emailAddress=EMAIL
Заказ выполняется с помощью функции certificate.order.csr, которая имеет параметры:
При успешном ответе в полях model.csr и model.key будут содержаться запрос и ключ, которые необходимо сохранить для дальнейшего использования.
Для получения секретного ключа для нескольких доменов необходимо отправить запрос вида:
https://api.ispmanager.com/billmgr?authinfo=EMAIL:PASSWORD&out=bjson&func=certificate.order.csr&sok=ok&snext=ok&crt_type=generate&field_country=COUNTRY&period=12&pricelist=PRICELIST&CN=DOMAIN&ST=REGION&L=CITY&O=ORGANIZATION&OU=ORG_UNIT&emailAddress=EMAIL&altname_input=example1.com%20example2.com&altname=example1.com%20example2.com
Для заказа SSL-сертификата нужно отправить запрос вида:
https://api.ispmanager.com/billmgr?authinfo=EMAIL:PASSWORD&out=bjson&func=certificate.order.param&sok=ok&skipbasket=on&crt_type=generate&field_country=COUNTRY&period=12&pricelist=PRICELIST&CN=DOMAIN&ST=REGION&L=CITY&O=ORGANIZATION&OU=ORG_UNIT&emailAddress=EMAIL&adm_fname=NAME&adm_lname=LASTNAME&adm_jtitle=POSITION&adm_email=EMAIL&adm_phone=PHONE&tech_fname=NAME&tech_lname=LASTNAME&tech_jtitle=POSITION&tech_email=EMAIL&tech_phone=PHONE&approver_email_1=EMAIL&csr=CSR&key=KEY
Заказ выполняется с помощью функции certificate.order.param, которая имеет параметры:
Для заказа SSL-сертификата для нескольких доменов необходимо отправить запрос вида:
https://api.ispmanager.com/billmgr?authinfo=EMAIL:PASSWORD&out=bjson&func=certificate.order.param&sok=ok&skipbasket=on&crt_type=generate&field_country=COUNTRY&period=12&pricelist=PRICELIST&CN=DOMAIN&ST=REGION&L=CITY&O=ORGANIZATION&OU=ORG_UNIT&emailAddress=EMAIL&adm_fname=NAME&adm_lname=LASTNAME&adm_jtitle=POSITION&adm_email=EMAIL&adm_phone=PHONE&tech_fname=NAME&tech_lname=LASTNAME&tech_jtitle=POSITION&tech_email=EMAIL&tech_phone=PHONE&csr=CSR&key=KEY&altname_input=example1.com%20example2.com&altname=example1.com%20example2.com&approver_email_1=EMAIL&approver_email_2=EMAIL2&approver_email_3=EMAIL3&addon_55364=2
Если домен подтверждается по email, то необходимо передать параметры approver_email_n со значением email для подтверждения, где n – порядок доменов (1 - это основной, а 2, 3 и т.д. - дополнительные).
Следовательно, необходимо дополнительно передать approver_email_2 и approver_email_3. Правила для них такие же, как и для approver_email_1 , но домен должен соответствовать домену из параметра altname. Например, в запросе выше approver_email_2 может быть admin@example1.com, administrator@example1.com и т.д.
Также в параметре addon_{SSL-код} необходимо передать то количество доменов, которые были записаны как дополнительные.
Для заказа SSL-сертификата необходимо отправить запрос вида:
https://api.ispmanager.com/billmgr?authinfo=EMAIL:PASSWORD&out=bjson&func=certificate.order.param&sok=ok&skipbasket=on&crt_type=manual&period=12&pricelist=PRICELIST&adm_fname=NAME&adm_lname=LASTNAME&adm_jtitle=POSITION&adm_email=EMAIL&adm_phone=PHONE&tech_fname=NAME&tech_lname=LASTNAME&tech_jtitle=POSITION&tech_email=EMAIL&tech_phone=PHONE&approver_email_1=EMAIL&csr=CSR
Заказ выполняется с помощью функции certificate.order.param, которая имеет параметры:
Выпуск SSL-сертификата выполняется с помощью функции certificate.file. Параметр ORDER_ID – идентификатор сертификата.
https://api.ispmanager.com/billmgr?authinfo=EMAIL:PASSWORD&func=certificate.file&elid=ORDER_ID&type=crt
Перевыпуск SSL-сертификата выполняется с помощью функции certificate.reissue. Параметр elid определяет сертификат, который необходимо перевыпустить.
Для перевыпуска SSL-сертификата нужно отправить запрос вида:
https://api.ispmanager.com/billmgr?authinfo=EMAIL:PASSWORD&out=bjson&func=certificate.reissue.step2&elid={ID сертификата}&crt_type=oldrequest&approver_method=auth_email&sok=ok&approver_email_1={email подтверждения основного домена}&approver_email_{i}={email подтверждения дополнительного домена}
Для перевыпуска SSL-сертификата с указанием нового CSR нужно отправить запрос вида:
https://api.ispmanager.com/billmgr?authinfo=EMAIL:PASSWORD&out=bjson&func=certificate.reissue.step2&elid={ID сертификата}&crt_type=manual&approver_method=auth_email&sok=ok&csr={urlencoded CSR}&approver_email_1={email подтверждения основного домена}&approver_email_{i}={email подтверждения дополнительного домена}
Для перевыпуска SSL-сертификата с указанием новых доменов нужно отправить запрос вида:
https://api.ispmanager.com/billmgr?authinfo=EMAIL:PASSWORD&out=bjson&func=certificate.reissue.step2&elid={ID сертификата}&crt_type=altname&approver_method=auth_email&sok=ok&altname={urlencoded список дополнительных доменов через пробел}&approver_email_1={email подтверждения основного домена}&approver_email_{i}={email подтверждения дополнительного домена}
Удаление сертификата выполняется с помощью функции certificate.delete. Параметр elid определяет сертификат, который необходимо удалить.
Для удаления SSL-сертификата необходимо отправить запрос вида:
https://api.ispmanager.com/manager/billmgr?authinfo=USER:PASSWD&out=xml&func=certificate.delete&elid=<код лицензии>&sok=ok
Узнать актуальный список стран с соответствующими им идентификаторами возможно с помощью функции certificate.order.csr.
https://api.ispmanager.com/billmgr?authinfo=EMAIL:PASSWORD&out=bjson&func=certificate.order.csr&period=12&pricelist=PRICELIST
Успешный ответ будет содержать:
Для получения данных отправьте запрос вида, где ORDER_ID – идентификатор сертификата:
https://api.ispmanager.com/billmgr?func=certificate.edit&elid=ORDER_ID&out=text
Значение будет указано в параметре auth_dnstxt_value
в ответе на запрос, указанный выше.
Возможны два способа:
auth_file_name
, а содержание файла – в параметре auth_file_value
https://api.ispmanager.com/billmgr?func=certificate.file&elid=ORDER_ID&type=auth_file
В полученном ответе на запрос выше найдите название в параметре auth_cname_name
, а значение – в параметре auth_cname_value
.
Для получения данных отправьте запрос вида, где ORDER_ID – идентификатор сертификата:
https://api.ispmanager.com/billmgr?domains=DOMAIN&func=certificate.dns_verify&sok=ok&elid=ORDER_ID
Для получения данных отправьте запрос вида:
https://api.ispmanager.com/billmgr?func=certificate.domain_validation_email&sok=ok&elid=ORDER_ID&approver_email_1=EMAIL
Где: