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"}