Перейти к содержанию

SSL Certificate API

Ваши сертификаты

В этом разделе описаны методы API для создания, удаления и изменения ваших SSL-сертификатов.

Получить список всех сертификатов

URL: https://api.cdnvideo.ru/app/ssl/v1/account/<your_account_name>/certificate/

  • Тип запроса: GET
  • Заголовки: CDN-AUTH-TOKEN
  • Тип данных ответа: JSON Object

Возможные коды ответа HTTP:

Код ответа Данные ответа Формат ответа Описание
200 status: тип int, message: тип string, data: тип JSON Array JSON Информация о сертификатах или ошибка
503 None None Сервис недоступен

Формат JSON, возвращаемого в параметре data:

"comment": "",  - string
"end": 1529999541,  - timestamp
"cn": "*.cdnvideo.ru",  - string
"seq": 1,  - int (uid)
"start": 1430804260, - timestamp 
"alt": "*.cdnvideo.ru, cdnvideo.ru",  - string
"issuer": "Go Daddy Secure Certificate Authority - G2" - string

Возможные коды ответа API:

Код ответа Сообщение
454 Record not found in database
455 Not Allowed
550 Internal Server Error

Пример запроса

curl -H 'cdn-auth-token:cdn2_LVJJRIUUTVFI75MVDD5Y48PD211EXU'  https://api.cdnvideo.ru/app/ssl/v1/account/zpylkbwv/certificate/

Пример успешного ответа

 {"status": 0, "message": "", "data": [{"comment": "", "end": 1529999541, "cn": "*.cdnvideo.ru", "seq": 1, "start": 1430804260, "alt": "*.cdnvideo.ru, cdnvideo.ru", "issuer": "Go Daddy Secure Certificate Authority - G2"}]}

Пример неуспешного ответа

{"status": 454, "message": "Record not found in database"}

Получить сертификат по ID

URL: https://api.cdnvideo.ru/app/ssl/v1/account/<your_account_name>/certificate/<certificate_seq>

  • Тип запроса: GET
  • Заголовки: CDN-AUTH-TOKEN
  • Тип данных ответа: JSON Object

Возможные коды ответа HTTP:

Код ответа Данные ответа Формат ответа Описание
200 status: тип int, message: тип string, data: тип JSON Object JSON Информация о сертификате или ошибка
503 None None Сервис недоступен

Формат JSON, возвращаемого в параметре data:

"comment": "",  - string
"end": 1529999541,  - timestamp
"cn": "*.cdnvideo.ru",  - string
"seq": 1,  - int (uid)
"start": 1430804260, - timestamp 
"alt": "*.cdnvideo.ru, cdnvideo.ru",  - string
"issuer": "Go Daddy Secure Certificate Authority - G2" - string

Возможные коды ответа API:

Код ответа Сообщение
454 Record not found in database
455 Not Allowed
550 Internal Server Error

Пример запроса

curl -H 'cdn-auth-token:cdn2_LVJJRIUUTVFI75MVDD5Y48PD211EXU'  https://api.cdnvideo.ru/app/ssl/v1/account/zpylkbwv/certificate/1/

Пример успешного ответа

 {"status": 0, "message": "", "data": {"comment": "", "end": 1529999541, "cn": "*.cdnvideo.ru", "seq": 1, "start": 1430804260, "alt": "*.cdnvideo.ru, cdnvideo.ru", "issuer": "Go Daddy Secure Certificate Authority - G2"}}

Пример неуспешного ответа

{"status": 454, "message": "Record not found in database"}

Добавить сертификат

URL: https://api.cdnvideo.ru/app/ssl/v1/account/<your_account_name>/certificate/

  • Тип запроса: POST
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с данными сертификата
  • Тип данных ответа: JSON Object

Описание параметров тела запроса:

Имя параметра Тип параметра Обязательный
certificate Текст Да
private_key Текст Да
comment Текст Нет

Возможные коды ответа HTTP:

Код ответа Данные ответа Формат ответа Описание
200 status: тип int, message: тип string, data: тип JSON Object JSON Сертификат добавлен или ошибка
503 None None Сервис недоступен

Формат JSON, возвращаемого в параметре data:

"seq": 1,  - int (uid)

Возможные коды ответа API:

Код ответа Сообщение
450 Invalid request
455 Not Allowed
459 Certificate already exist, use PATCH to update certificate
471 Invalid certificate
472 Invalid private key
473 Private key does not match certificate
474 Certificate is expired
475 Root certificate is not found in system trusted certificates
476 One of certificates is not signed by previous certificate in chain
550 Internal Server Error

Пример запроса

curl -X POST -d '{
    "certificate": "-----BEGIN CERTIFICATE-----\nMIIMvzCCC6egAwIBAgISBDOHrUbe+jaL2W0x4w3T5YuBMA0GCSqGSIb3DQEBCwUA\n-----END CERTIFICATE-----",
    "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDQtDgBy3kRiv2\n-----END PRIVATE KEY-----"}'
-H 'cdn-auth-token:cdn2_LVJJRIUUTVFI75MVDD5Y48PD211EXU'
'https://api.cdnvideo.ru/app/ssl/v1/account/zpylkbwv/certificate/'

Пример успешного ответа

{
  "status": 0,
  "message": "ok",
  "data": {
    "seq": 2
  }
}

Пример неуспешного ответа

{"status": 459, "message": "Certificate already exist, use PATCH to update certificate"}

Изменить сертификат

URL: https://api.cdnvideo.ru/app/ssl/v1/account/<your_account_name>/certificate/<certificate_seq>

  • Тип запроса: PATCH
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с новыми данными сертификата
  • Тип данных ответа: JSON Object

Описание параметров тела запроса:

Имя параметра Тип параметра Обязательный
certificate Текст Да
private_key Текст Нет
comment Текст Нет

Возможные коды ответа HTTP:

Код ответа Данные ответа Формат ответа Описание
200 status: тип int, message: тип string, data: тип JSON Object JSON Сертификат изменен или ошибка
503 None None Сервис недоступен

Формат JSON, возвращаемого в параметре data:

"seq": 1,  - int (uid)

Возможные коды ответа API:

Код ответа Сообщение
450 Invalid request
454 Record not found in database
455 Not Allowed
471 Invalid certificate
472 Invalid private key
473 Private key does not match certificate
474 Certificate is expired
475 Root certificate is not found in system trusted certificates
476 One of certificates is not signed by previous certificate in chain
550 Internal Server Error

Пример запроса

curl -X PATCH -d '{
    "certificate": "-----BEGIN CERTIFICATE-----\nMIIMvzCCC6egAwIBAgISBDOHrUbe+jaL2W0x4w3T5YuBMA0GCSqGSIb3DQEBCwUA\n-----END CERTIFICATE-----",
    "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDQtDgBy3kRiv2\n-----END PRIVATE KEY-----",
    "comment": "new comment"}'
-H 'cdn-auth-token:cdn2_LVJJRIUUTVFI75MVDD5Y48PD211EXU'
'https://api.cdnvideo.ru/app/ssl/v1/account/zpylkbwv/certificate/1'

Пример успешного ответа

{
  "status": 0,
  "message": "ok",
  "data": {
    "seq": 2
  }
}

Пример неуспешного ответа

{"status": 471, "message": "Invalid certificate"}

Удалить сертификат

URL: https://api.cdnvideo.ru/app/ssl/v1/account/<your_account_name>/certificate/<certificate_seq>

  • Тип запроса: DELETE
  • Заголовки: CDN-AUTH-TOKEN
  • Тип данных ответа: JSON Object

Возможные коды ответа HTTP:

Код ответа Данные ответа Формат ответа Описание
200 status: тип int, message: тип string, data: тип JSON Object JSON Сертификат удален или ошибка
503 None None Сервис недоступен

Формат JSON, возвращаемого в параметре data:

"seq": 1,  - int (uid)

Возможные коды ответа API:

Код ответа Сообщение
450 Invalid request
454 Record not found in database
455 Not Allowed
550 Internal Server Error

Пример запроса

curl -X DELETE
-H 'cdn-auth-token:cdn2_LVJJRIUUTVFI75MVDD5Y48PD211EXU'
'https://api.cdnvideo.ru/app/ssl/v1/account/zpylkbwv/certificate/1'

Пример успешного ответа

{
  "status": 0,
  "message": "ok",
  "data": {
    "seq": 2
  }
}

Пример неуспешного ответа

{"status": 454, "message": "Record not found in database"}

Let’s Encrypt сертификаты

Мы также предоставляем возможность генерировать Let's Encrypt сертификаты. Подробнее о проекте можно прочитать по ссылке: https://letsencrypt.org

Получить статус заказа сертификата

Получение статуса о создании сертификата (только с указанием ресурса)

URL: https://api.cdnvideo.ru/app/ssl/v1/account/<your_account_name>/letsencrypt/<resource_id>/

  • Тип запроса: GET
  • Заголовки: CDN-AUTH-TOKEN
  • Тип данных ответа: JSON Object

Возможные коды ответа HTTP:

Код ответа Данные ответа Формат ответа Описание
200 status: тип int, message: тип string, data: тип JSON Object JSON Статус задачи или ошибка
503 None None Сервис недоступен

Формат JSON, возвращаемого в параметре data:

task_status: string
("no"/"accepted"/"processed"/"failed")

Возможные коды ответа API:

Код ответа Сообщение
0 Success
450 Invalid Request
454 Record not found in database (about resource)
455 Not Allowed
550 Internal Server Error

Пример запроса

curl -H 'cdn-auth-token: cdn2_N9ACH044XB11MTTD3HF7E7VQ1N95IK'
https://api.cdnvideo.ru/app/ssl/v1/account/cpfgdakp/letsencrypt/lajjncnn6d

Пример успешного ответа

 {
   "status": 0,
   "message": "Success",
   "data": {
     "task_status": "accepted"
   }
 }

Пример неуспешного ответа

{"status": 450, "message": "Invalid Request"}

Заказать сертификат

Создание Let's Encrypt сертификата для ресурса, при помощи HTTP-01 вызова.

URL: https://api.cdnvideo.ru/app/ssl/v1/account/<your_account_name>/letsencrypt/<resource_id>/

  • Тип запроса: POST
  • Заголовки: CDN-AUTH-TOKEN
  • Тип данных ответа: JSON Object

Возможные коды ответа HTTP:

Код ответа Данные ответа Формат ответа Описание
200 status: тип int, message: тип string JSON Сертификат заказан или ошибка
503 None None Сервис недоступен

Возможные коды ответа API:

Код ответа Сообщение
0 Success
450 Invalid request
454 Record not found in database (about resource)
455 Not Allowed
479 Main domain already in use
489 Task already exist
550 Internal Server Error

Пример запроса

curl -X POST
-H 'cdn-auth-token: cdn2_N9ACH044XB11MTTD3HF7E7VQ1N95IK'
https://api.cdnvideo.ru/app/ssl/v1/account/cpfgdakp/letsencrypt/lajjncnn6d

Пример успешного ответа

{"status": 0, "message": "Success"}

Пример неуспешного ответа

{"status": 450, "message": "Invalid Request"}

Заказать wildcard сертификат

URL: https://api.cdnvideo.ru/app/ssl/v1/account/<your_account_name>/letsencrypt/

  • Тип запроса: POST
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON со списком доменов
  • Тип данных ответа: JSON Object

Описание параметров тела запроса:

Имя параметра Тип параметра Обязательный
domains Список строк Да

Возможные коды ответа HTTP:

Код ответа Данные ответа Формат ответа Описание
200 status: тип int, message: тип string JSON Сертификат заказан или ошибка
503 None None Сервис недоступен

Возможные коды ответа API:

Код ответа Сообщение
0 Success
450 Invalid request
454 Record not found in database (about resource)
455 Not Allowed
479 Main domain already in use
480 DNS settings are incorrect
489 Task already exist
550 Internal Server Error

Пример запроса

curl -X POST -d '{"domains": ["*.d.example.com"]}'
-H 'cdn-auth-token: cdn2_N9ACH044XB11MTTD3HF7E7VQ1N95IK'
https://api.cdnvideo.ru/app/ssl/v1/account/cpfgdakp/letsencrypt/

Пример успешного ответа

 {"status": 0, "message": "Success"}

Пример неуспешного ответа

 {"status": 480, "message": "DNS settings are incorrect"}