시계는 하나가 아닙니다
환율은 관측, 공개, 서버 수신, 브라우저 표시가 서로 다른 시점에 이뤄질 수 있습니다. 관측 타임스탬프를 가장 최근 요청 시간으로 바꾸면 변하지 않은 환율이 실제보다 새것처럼 보입니다.
전송 또는 캐시 동작을 측정해야 한다면 요청 시간이나 수신 시간을 애플리케이션의 별도 필드로 보관하세요. 환율과 함께 제공된 타임스탬프를 덮어쓰면 안 됩니다.
Narwhal 필드를 함께 읽기
현재 환율 레코드에는 timestamp와 stale이 있습니다. 응답 수준의 market_session은 open, weekend, interbank_closed 중 하나입니다. 이 필드들은 관측이 언제 적용되는지, 서비스가 stale로 표시하는지, 현재 세션 맥락이 무엇인지처럼 서로 다른 질문에 답합니다.
환산 응답은 환산 금액과 함께 선택된 환율의 timestamp와 stale 상태를 전달합니다. 세션이 open이라는 사실만으로 모든 통화 레코드가 최신이라고 할 수 없습니다.
시간대를 잃지 않고 경과 시간 계산하기
같은 날짜 09:00 UTC에 관측되어 09:07 UTC에 조회한 예시라면 경과 시간은 7분입니다. 애플리케이션 정책이 최대 5분이라면 요청이 방금 성공했더라도 시간에 민감한 작업에는 해당 관측을 거부합니다.
Observation: 2026-09-24T09:00:00Z
Application time: 2026-09-24T09:07:00Z
Age: 420 seconds
Application limit: 300 seconds
Within age limit: false허용 규칙을 명확히 정의하기
시간대를 인식하는 날짜 파서와 신뢰할 수 있는 애플리케이션 시계를 사용하세요. 잘못된 타임스탬프나 예상 밖의 미래 타임스탬프는 매우 최신인 환율이 아니라 검증 문제로 처리해야 합니다.
- API stale 플래그를 읽고 보관하세요.
- 관측 경과 시간을 애플리케이션이 문서화한 제한과 비교하세요.
- 작업에 필요한 시장 세션 제한을 적용하세요.
- 대체 동작을 선택하세요. 날짜가 표시된 관측값을 명확한 레이블과 함께 보여 주거나, 허용 가능한 데이터가 도착할 때까지 작업을 비활성화합니다.
발표 일정 고려하기
일일 기준 시계열과 현재 참고 피드는 서로 다른 일정을 가집니다. ECB는 보통 TARGET 휴장일을 제외한 영업일 16:00 CET 전후에 유로 기준 환율을 갱신합니다. 이 일정은 하룻밤 또는 휴일의 공백만으로 데이터 파이프라인이 실패했다고 볼 수 없는 이유를 보여 줍니다.
Narwhal은 자체 세션과 최신성 맥락을 제공합니다. 주말에는 이전에 승인된 관측값이 원래 타임스탬프와 함께 계속 제공될 수 있습니다. UI는 그 날짜를 유지하고 새로운 주말 관측으로 바꾸지 않아야 합니다.
숫자와 맥락을 함께 캐시하기
환율, 방향, 타임스탬프, stale 상태를 하나의 레코드로 캐시하세요. 새로 고침에 실패하면 오래된 캐시 레코드는 계속 오래됩니다. 애플리케이션 검사를 통과시키려고 타임스탬프를 재설정하거나 stale 플래그를 몰래 바꾸지 마세요.
과거 환율 관측값은 관측 날짜를 사용하며 현재 환율의 오래됨 여부나 시장 세션 필드는 포함하지 않습니다. 과거 날짜는 해당 계열의 일부로 해석해야 하며, 오늘의 현재 환율에 적용하는 짧은 경과 시간 제한으로 평가하면 안 됩니다. 관련 의미는 과거 환율 API 참조에서 확인하세요.
출처 및 레퍼런스
게시일: . 최종 검토일: .

