# به‌روزرسانی داده‌ها

> هر دادهٔ روشا چه ساعتی تازه می‌شود؛ quote هر ۳۰ ثانیه، دادهٔ روزانه ۱۸:۱۵ تهران، صندوق‌ها ساعتی و هفتگی، و اینکه چرا ارقام آخرین روز ممکن است عوض شود.
> Source: https://poolick.ir/docs/freshness/

دادهٔ روزانهٔ بورس و فرابورس هر روز معاملاتی ساعت ۱۸:۱۵ به وقت تهران تازه می‌شود، quote زنده در ساعات بازار هر ۳۰ ثانیه، و ارقام صندوق‌ها هر ساعت از ۱۴:۳۰ تا ۲۲:۳۰. همهٔ زمان‌های این صفحه به وقت تهران (`Asia/Tehran`، UTC+03:30) است.

## هر داده چه زمانی تازه می‌شود؟

| داده | endpointها | زمان به‌روزرسانی (وقت تهران) |
|---|---|---|
| quote زنده و عمق بازار | `/v1/instruments/{ref}/quote` | هر ۳۰ ثانیه تا ۱۳:۰۵؛ سپس هر ۲ دقیقه تا ۱۸:۰۵ |
| قیمت روزانه، حقیقی و حقوقی، رویدادهای تعدیل، شاخص‌ها و ریزمعاملات | `/daily`، `/client-type`، `/adjustments`، `/v1/indices/{ref}/daily`، `/trades`، `/bars` | ۱۸:۱۵، شنبه تا چهارشنبه |
| ISIN، نام‌های لاتین و گروه صنعت | `/v1/instruments`، `/v1/instruments/{ref}` | پنجشنبه ۰۳:۰۰ |
| صندوق‌ها: آخرین ارقام | `/v1/funds`، `/v1/funds/{ref}`، `/v1/funds/{ref}/snapshots`، ردیف تازهٔ `/v1/funds/{ref}/history` | هر ساعت از ۱۴:۳۰ تا ۲۲:۳۰، همهٔ روزها |
| صندوق‌ها: سابقهٔ کامل، شناسنامه و سودهای تقسیمی | `/v1/funds/{ref}/history`، `/v1/funds/{ref}` | جمعه ۰۲:۰۰ |

این جدول زمان‌بندی جاری تا آبان ۱۴۰۵ است. زمان آخرین به‌روزرسانی واقعی هر داده را در [وضعیت سرویس](/status/) ببینید.

## «ارقام آخرین روز ممکن است عوض شود» یعنی چه؟

یعنی ردیف تازه‌ترین روز پس از ۱۸:۱۵ هنوز قطعی نیست. TSETMC بعضی ارقام پایان روز را دیر منتشر می‌کند؛ پس دادهٔ آخرین روز ممکن است تا اجرای بعدیِ به‌روزرسانی تغییر کند.

اگر داده را ذخیره می‌کنید:

- ردیف‌ها را با upsert بنویسید، نه insert.
- در هر همگام‌سازی، چند روز آخر را دوباره بگیرید.

کد کامل در [همگام‌سازی روزانه با پایگاه داده](/docs/guides/daily-sync/) است.

## quote چقدر تازه است؟

در ساعات بازار، quote زنده حداکثر ۳۰ ثانیه قدیمی است (پس از ۱۳:۰۵ حداکثر ۲ دقیقه) و فیلد `ts` زمان همان snapshot را می‌گوید. فاصلهٔ ۲ دقیقه‌ای تا ۱۸:۰۵ برای صندوق‌های قابل معامله است که تا حدود ساعت ۱۸ معامله می‌شوند.

پس از پایان جلسه، snapshot زنده منقضی می‌شود و quote آخرین ردیف روزانه را با `"source": "daily"` برمی‌گرداند. همیشه `source` را بررسی کنید. شرح در [دادهٔ لحظه‌ای](/docs/api/intraday/).

## ریزمعاملات چه زمانی می‌رسد؟

ریزمعاملات و کندل‌های درون‌روز هر روز با دادهٔ پایان روز، ساعت ۱۸:۱۵، ذخیره می‌شوند. `/trades` و `/bars` جریان زندهٔ معاملات نیستند.

ریزمعاملات فقط برای روزهایی هست که در پایان همان روز دریافت یا بعداً بازیابی شده‌اند. پاسخ خالی یعنی ریزمعاملات آن روز ذخیره نشده است، نه اینکه نماد معامله نشده است.

## دادهٔ صندوق‌ها چطور تازه می‌شود؟

صندوق‌ها دو چرخه دارند: ارقام روز به‌صورت ساعتی و سابقهٔ کامل به‌صورت هفتگی.

- **ساعتی (۱۴:۳۰ تا ۲۲:۳۰، همهٔ روزها):** فیپیران ارقام را پس از حدود ۱۴:۳۰ منتشر می‌کند و بسیاری از صندوق‌ها دیر منتشر می‌کنند. ردیف‌هایی که این چرخه به `/history` اضافه می‌کند `"source": "snapshot"` دارند و فقط NAV، خالص دارایی، بازده‌ها و ترکیب دارایی را دارند.
- **هفتگی (جمعه ۰۲:۰۰):** سابقهٔ کامل از نو ساخته می‌شود، چون فیپیران ارقام گذشته را اصلاح می‌کند. ردیف‌های `snapshot` با ردیف `"source": "chart"` جایگزین می‌شوند که واحدهای صادر و ابطال‌شده، ترکیب مالکیت و آلفا و بتا را هم دارد.
- **آلفا و بتا:** حدود هفت هفته از فیپیران عقب است؛ در ردیف‌های اخیر `null` است.
- **`latest`:** آخرین ارقام در `/v1/funds` و `/v1/funds/{ref}` برای صندوق‌هایی که دیر منتشر می‌کنند ممکن است چند روز از `/history` عقب باشد. برای تازه‌ترین رقم `/history?limit=1` را بگیرید.

اگر سابقهٔ صندوق‌ها را ذخیره می‌کنید، هفته‌ای یک بار، پس از جمعه ۰۲:۰۰، آن را کامل دوباره بخوانید.

## مشخصات نماد چه زمانی کامل می‌شود؟

فیلدهای `isin`، `ticker_latin`، `name_latin` و `company_name` با همگام‌سازی هفتگی هویت نمادها، پنجشنبه ساعت ۰۳:۰۰، پر می‌شوند. برای نماد تازه‌وارد تا آن زمان ممکن است `null` باشند.

## کار زمان‌بندی‌شده‌ام را چه ساعتی اجرا کنم؟

| کار | زمان پیشنهادی (وقت تهران) |
|---|---|
| همگام‌سازی قیمت روزانه، حقیقی و حقوقی و شاخص‌ها | شنبه تا چهارشنبه، پس از ۱۸:۱۵ |
| خواندن ارقام روز صندوق‌ها | پس از ۲۲:۳۰ |
| بازخوانی کامل سابقهٔ صندوق‌ها | هفته‌ای یک بار، پس از جمعه ۰۲:۰۰ |
| خواندن quote زنده | در ساعات بازار، نه بیشتر از هر ۳۰ ثانیه یک بار برای هر نماد |

## از کجا بفهمم داده امروز رسیده است؟

سه راه دارید:

- [وضعیت سرویس](/status/) آخرین روز دادهٔ روزانه و زمان آخرین اجرای پایان روز را نشان می‌دهد.
- `GET /v1/instruments/{ref}/daily?limit=1` را بگیرید و `d` ردیف را با تاریخ امروز مقایسه کنید.
- `GET /v1/calendar` را برای بازه‌ای که امروز را در بر دارد بگیرید.
