Tạo file lịch .ics API

Tạo file lịch .ics cho Google, Apple, Outlook: sự kiện, sự kiện cả ngày, lặp lại, nhắc nhở, và sự kiện hằng năm theo ngày âm lịch (giỗ, rằm) tự đổi sang ngày dương.

POSTGEThttps://apibox.io.vn/v1/ics
Tiện ích lập trình▶ Dùng thử online

API ICS tạo file iCalendar (RFC 5545) mà mọi ứng dụng lịch đều nhập được: Google Calendar, Apple Calendar, Outlook, Thunderbird. Gửi một sự kiện qua tham số hoặc nhiều sự kiện bằng mảng JSON events, mỗi sự kiện có tiêu đề, thời điểm bắt đầu (YYYY-MM-DDTHH:MM theo giờ Việt Nam, hoặc chỉ ngày với sự kiện cả ngày), thời điểm kết thúc hoặc duration_minutes, địa điểm, mô tả, URL, quy tắc lặp (rrule, ví dụ FREQ=WEEKLY;COUNT=10) và nhắc nhở (alarm_minutes). Văn bản được escape và dòng dài được ngắt đúng chuẩn, kèm định nghĩa múi giờ Asia/Ho_Chi_Minh.

Lịch thông thường không lặp được theo ngày âm. Với lunar: { day: 10, month: 3, years: 10 }, API tính ngày dương của ngày âm đó cho từng năm (10/3 âm lịch → 26/4/2026, 16/4/2027…) và tạo mỗi năm một sự kiện: ngày giỗ, rằm, mùng 1, sinh nhật âm lịch, Giỗ Tổ. Ngày 30 rơi vào tháng thiếu sẽ chuyển thành ngày cuối tháng.

Kết quả là file .ics để tải về; format=json trả về nội dung file và danh sách ngày đã tính.

Tham số

TênVị tríKiểuBắt buộcMặc định
eventsbodyarraykhôngDanh sách sự kiện: {title, start, end, duration_minutes, all_day, location, description, url, rrule, alarm_minutes, lunar}.
titlebody|querystringkhôngMột sự kiện: tiêu đề (kèm start hoặc lunar).
startbody|querystringkhôngYYYY-MM-DD hoặc YYYY-MM-DDTHH:MM (giờ Việt Nam).
lunarquerystringkhôngMột sự kiện theo ngày âm DD/MM, kèm years và from_year.
namebody|querystringkhôngTên lịch.
formatbody|querystringkhôngicsics (file) hoặc json.

Ví dụ

curl -X POST "https://apibox.io.vn/v1/ics" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Lịch gia đình","format":"json","events":[{"title":"Giỗ ông nội","lunar":{"day":10,"month":3,"years":3,"from_year":2026},"all_day":true,"alarm_minutes":1440}]}'

Kết quả trả về

{
  "events": 3,
  "occurrences": [
    {
      "title": "Giỗ ông nội",
      "date": "2026-04-26"
    },
    {
      "title": "Giỗ ông nội",
      "date": "2027-04-16"
    },
    {
      "title": "Giỗ ông nội",
      "date": "2028-04-04"
    }
  ],
  "ics": "BEGIN:VCALENDAR\r\nVERSION:2.0\r\nPRODID:-//APIBox//ics//VI\r\n…"
}

Ứng dụng

  • Nút “Thêm vào lịch” cho đặt chỗ, webinar, sự kiện
  • Lịch gia đình ghi ngày giỗ, rằm theo âm lịch
  • Xuất lịch từ hệ thống nhân sự, trường học, đặt lịch
  • Nhắc định kỳ gia hạn dịch vụ, hạn nộp

Hỏi đáp

Làm sao lặp sự kiện mỗi năm theo âm lịch?

Dùng lunar: { day, month, years, from_year }. Ứng dụng lịch không có kiểu lặp âm lịch, nên API ghi mỗi năm một sự kiện với đúng ngày dương.

Dùng múi giờ nào?

Giờ Việt Nam (Asia/Ho_Chi_Minh, UTC+7); file có định nghĩa múi giờ nên người ở nước ngoài vẫn thấy đúng giờ địa phương.

Có thêm nhắc nhở được không?

Có, alarm_minutes (một số hoặc mảng tối đa 5 số) thêm thông báo nhắc trước sự kiện.

API liên quan

Bắt đầu với 1.000 request miễn phí mỗi tháng. Nhận API key miễn phí →