← 상태 페이지로 돌아가기

상태 API 문서

SMILESERV / iwinv 서비스의 상태를 조회하는 공개 API입니다. 인증이 필요 없으며 읽기 전용입니다.

모든 응답은 application/json 이며 30초간 캐시됩니다. CORS가 허용되어 브라우저에서 직접 호출할 수 있습니다.

① 서비스 상태 요약

GET /api/status.php 직접 호출 →

전체 요약 상태와 서비스별 현재 상태를 가볍게 조회합니다.

응답 예시

{
  "status": "operational",
  "updated_at": "2026-07-31T15:40:00+09:00",
  "services": [
    { "brand": "iwinv", "name": "가상서버", "status": "operational", "label": "정상" },
    { "brand": "iwinv", "name": "네트워크", "status": "degraded", "label": "일부 장애" }
  ],
  "incident_count": 1,
  "detail_url": "http://status.iwinv.kr/"
}

필드

필드설명
status전체 요약 상태
updated_at응답 생성 시각 (ISO 8601, KST)
services[].brand브랜드 (iwinv / smileserv)
services[].name서비스명
services[].status서비스 상태값
services[].label상태 한글 라벨
incident_count진행 중 공지 수
detail_url자세한 내역을 볼 상태 페이지

② 진행 중 공지 (영향 대역 포함)

GET /api/incidents.php 직접 호출 →

진행 중인 장애·점검 공지와 영향받는 IP 대역을 조회합니다.

응답 예시

{
  "updated_at": "2026-07-31T15:40:00+09:00",
  "incident_count": 1,
  "incidents": [
    {
      "id": 16,
      "type": "outage",
      "type_label": "장애",
      "severity_label": "부분 장애",
      "status_label": "조치중",
      "title": "방화벽 장애",
      "started_at": "2026-07-30T11:15:00+09:00",
      "eta_end": "2026-07-30T13:00:00+09:00",
      "services": ["가상서버", "네트워크"],
      "ranges": [
        { "name": "KR1-Z04", "ip_ranges": ["192.168.208.0/16", "192.168.199.0/24"] },
        { "name": "KR1-Z07", "ip_ranges": ["192.168.40.0/16"] }
      ]
    }
  ]
}

주요 필드

필드설명
incidents[].title공지 제목
incidents[].type_label유형 (장애 / 긴급점검 / 정기점검)
incidents[].severity_label심각도 (전체 장애 / 부분 장애 등)
incidents[].status_label진행 상태 (조치중 / 모니터링 등)
incidents[].started_at발생/시작 시각
incidents[].eta_end복구/종료 예상 시각
incidents[].services영향 서비스명 목록
incidents[].ranges[].name영향 대역 이름
incidents[].ranges[].ip_ranges해당 대역의 IP 대역 목록

상태값

status의미
operational정상
maintenance점검
degraded일부 장애
outage장애
unknown상태 확인 불가

사용 예

curl

curl https://status.iwinv.kr/api/status.php

JavaScript

const res = await fetch('https://status.iwinv.kr/api/status.php');
const data = await res.json();
console.log(`전체 상태: ${data.status}`);

내 서버 대역이 영향받는지 확인

const { incidents } = await (await fetch('/api/incidents.php')).json();
const myRange = '192.168.40.0/16';
const affected = incidents.filter(inc =>
  inc.ranges.some(r => r.ip_ranges.includes(myRange))
);
console.log(affected.length ? '내 대역 영향 있음' : '정상');
상세 내역(공지 본문 등)은 API로 제공하지 않습니다. 자세한 내용은 상태 페이지에서 확인하세요.