Русский
Русский
Appearance
Русский
Русский
Appearance
Управляйте эмитентами значков — организациями или людьми, выдающими значки.
Все эндпоинты требуют аутентификации через заголовок X-Api-Key. См. Аутентификация.
Создать нового эмитента значков.
POST /issuers| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
name | string | Да | Название организации (минимум 3 символа) |
url | string | Да | Сайт организации (должен быть валидным URL HTTP/HTTPS) |
email | string | Да | Контактный e-mail эмитента |
logo | string | Нет | Изображение в base64 (PNG или JPG) |
linkedinOrganizationId | string | Нет | Числовой ID страницы компании LinkedIn. Если задан, каждая публичная страница награды показывает кнопку Add to LinkedIn Profile. |
curl -X POST https://api.badges.ninja/issuers \
-H "X-Api-Key: bws_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"parameters": {
"name": "Acme Academy",
"url": "https://acme.example.com",
"email": "badges@acme.example.com"
}
}'{
"statusCode": 200,
"info": {
"issuerId": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
}Получить всех созданных эмитентов.
GET /issuerscurl -X GET https://api.badges.ninja/issuers \
-H "X-Api-Key: bws_your_api_key_here"{
"statusCode": 200,
"info": {
"issuers": [
{
"id": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-...",
"name": "Acme Academy",
"url": "https://acme.example.com",
"email": "badges@acme.example.com",
"verified": true,
"timestamp": "2025-01-15T10:30:00.000Z"
}
]
}
}Подтвердить эмитента с помощью кода, отправленного на его e-mail.
POST /issuers/{issuerId}/verify| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
issuerId | string | Да | ID эмитента (path-параметр) |
code | string | Да | Код подтверждения из письма |
curl -X POST https://api.badges.ninja/issuers/a1b2c3d4-e5f6-7890-abcd-ef1234567890/verify \
-H "X-Api-Key: bws_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"parameters": {
"issuerId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"code": "ABC123"
}
}'{
"statusCode": 200,
"info": {
"verified": true
}
}Удалить эмитента. У эмитента не должно быть значков.
DELETE /issuers/{issuerId}curl -X DELETE https://api.badges.ninja/issuers/a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
-H "X-Api-Key: bws_your_api_key_here"{
"statusCode": 200,
"info": {
"deleted": true
}
}400 — у эмитента есть значки или награды, удаление невозможно (сначала удалите их)404 — эмитент не найденОбновить поля неподтверждённого эмитента. После подтверждения редактируемыми остаются только logo и linkedinOrganizationId, чтобы обеспечить стабильность удостоверений.
PUT /issuers/{issuerId}| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
issuerId | string | Да | ID эмитента (path-параметр) |
name | string | Нет | Новое имя (только пока не подтверждён) |
url | string | Нет | Новый URL (только пока не подтверждён) |
email | string | Нет | Новый e-mail (только пока не подтверждён — отправляет новое письмо подтверждения) |
logo | string | Нет | Новый логотип в base64 |
linkedinOrganizationId | string | Нет | Новый LinkedIn organization ID (или пустая строка для очистки) |
Аннулировать предыдущую ссылку подтверждения и отправить новую. Доступно, пока эмитент не подтверждён.
POST /issuers/{issuerId}/rotate-code{
"statusCode": 200,
"info": {
"sent": true
}
}