{"_id":"@andev2005/movie-glu-sdk","_rev":"9-4df2bd69fc2cef2c3700a67240d1264f","name":"@andev2005/movie-glu-sdk","dist-tags":{"latest":"1.0.8"},"versions":{"1.0.0":{"name":"@andev2005/movie-glu-sdk","version":"1.0.0","keywords":[],"author":"","license":"ISC","_id":"@andev2005/movie-glu-sdk@1.0.0","maintainers":[{"name":"thaianthedev","email":"thaianthedev@gmail.com"}],"dist":{"shasum":"fff9223bef46246b9a87180a1b0d323fcdb55108","tarball":"https://registry.npmjs.org/@andev2005/movie-glu-sdk/-/movie-glu-sdk-1.0.0.tgz","fileCount":11,"integrity":"sha512-yQqMvIrOJ7V6QKeh58Upea5SNv8XDedV9xVzUozkTtt+xMYFM0oSp5hP+hn93y+gwYeIjnZAfSt4HlTK5Rk8aA==","signatures":[{"sig":"MEUCIQDDfI+7PTETdm0DQxcjBKjMRrmkDNKGjSN8KxcfJg6awAIgbEMRfed4WCF3GPAFkobZ0qSr82ngBKwdj3uniy5n5Nw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47311},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"25d1109ae7ff38c8f1b71f826758598668174163","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsup"},"_npmUser":{"name":"thaianthedev","email":"thaianthedev@gmail.com"},"_npmVersion":"11.10.0","description":"","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","tslib":"^2.8.1","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/movie-glu-sdk_1.0.0_1772027726776_0.7205262285213496","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@andev2005/movie-glu-sdk","version":"1.0.1","keywords":[],"author":"","license":"ISC","_id":"@andev2005/movie-glu-sdk@1.0.1","maintainers":[{"name":"thaianthedev","email":"thaianthedev@gmail.com"}],"dist":{"shasum":"3304d7fe764997757102c862f69443caedc8e758","tarball":"https://registry.npmjs.org/@andev2005/movie-glu-sdk/-/movie-glu-sdk-1.0.1.tgz","fileCount":11,"integrity":"sha512-ozkOPFuZqcVhSWaRm7q+l/a2J5RiUFlkwpMR4ZBgH2Q99M5G1Yn1tzglyZdKZfllxt/ijjv8uK4nkhcDi1HH4A==","signatures":[{"sig":"MEUCIQD9IbwcmwlFh+7yHGN82UzSfbXfGsAbONdmS+Y6KLuuJQIgBhLBXDQEUofHAxPIfLIRUtCUli17iZY01ltYHFGm55A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47311},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"25d1109ae7ff38c8f1b71f826758598668174163","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsup"},"_npmUser":{"name":"thaianthedev","email":"thaianthedev@gmail.com"},"_npmVersion":"11.10.0","description":"","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","tslib":"^2.8.1","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/movie-glu-sdk_1.0.1_1772027976059_0.8130984305940214","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@andev2005/movie-glu-sdk","version":"1.0.2","keywords":[],"author":"","license":"ISC","_id":"@andev2005/movie-glu-sdk@1.0.2","maintainers":[{"name":"thaianthedev","email":"thaianthedev@gmail.com"}],"dist":{"shasum":"3d76277eba06a96857f4291f41629c10218b4b42","tarball":"https://registry.npmjs.org/@andev2005/movie-glu-sdk/-/movie-glu-sdk-1.0.2.tgz","fileCount":12,"integrity":"sha512-nuIxqB+w1q3IaOUDFUhORST77vGkBURxRxXPHYj1M8XeRCfSQZSsL8Jii6EeTLy0dD79W4lq+nzv5BRwpJW7Mg==","signatures":[{"sig":"MEQCICGZkFcqwYGq0rW+UAeyxd/UH5PM/lul43fgtcJj+ulTAiAQuvTb1YKpUUJvlVC906p2F02c2jWNnyUJ/w6r1OxYBQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57070},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"53cd9ed0691548afa30b3625d25e302a8da01420","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsup"},"_npmUser":{"name":"thaianthedev","email":"thaianthedev@gmail.com"},"_npmVersion":"11.10.0","description":"SDK Node.js/TypeScript để gọi MovieGlu API (phim đang chiếu, phim sắp chiếu, rạp gần đây, chi tiết phim/rạp, lịch chiếu).","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","tslib":"^2.8.1","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/movie-glu-sdk_1.0.2_1772038813266_0.2813570750615635","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@andev2005/movie-glu-sdk","version":"1.0.3","keywords":[],"author":"","license":"ISC","_id":"@andev2005/movie-glu-sdk@1.0.3","maintainers":[{"name":"thaianthedev","email":"thaianthedev@gmail.com"}],"dist":{"shasum":"394c2991142e2b66ed4a0fbe1e822449368a2e48","tarball":"https://registry.npmjs.org/@andev2005/movie-glu-sdk/-/movie-glu-sdk-1.0.3.tgz","fileCount":12,"integrity":"sha512-RHB29cVhdWlTDkx+P41gQGCmG1QdBorlR1+QzpFiRaxf0r1s0cJ0NcXp+WFSK4k7cqmrrj/VgMOov0mVG1ioag==","signatures":[{"sig":"MEQCIHermgY0AUlKTGGxQGjW+8Kt3ejmFd1xAyJmFZRR96oLAiAEa1DBmrQ3KdBLSCzfYmMXqzc5iC3XcuuESeHER/M9Ug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57070},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"966a08e2c2f0ec6956e16714b89251491f352f4e","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsup"},"_npmUser":{"name":"thaianthedev","email":"thaianthedev@gmail.com"},"_npmVersion":"11.10.0","description":"SDK Node.js/TypeScript để gọi MovieGlu API (phim đang chiếu, phim sắp chiếu, rạp gần đây, chi tiết phim/rạp, lịch chiếu).","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","tslib":"^2.8.1","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/movie-glu-sdk_1.0.3_1772038949105_0.9460634897643492","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@andev2005/movie-glu-sdk","version":"1.0.4","keywords":[],"author":"","license":"ISC","_id":"@andev2005/movie-glu-sdk@1.0.4","maintainers":[{"name":"thaianthedev","email":"thaianthedev@gmail.com"}],"dist":{"shasum":"a560cdfa6caf3cd6e165986b4c96cd537f9d9672","tarball":"https://registry.npmjs.org/@andev2005/movie-glu-sdk/-/movie-glu-sdk-1.0.4.tgz","fileCount":12,"integrity":"sha512-3v5ed2vap/knMwuIQaW3YR85D1Z/gby24HBsQBEeDG/UrNY2NNQhv0eDZiTqN9W+FXp1yok6jU2YT0fXvCkJEw==","signatures":[{"sig":"MEYCIQC98FfD7AHeUbBmzImm20Xbt41AxWin1b5w+D4lEz9h4AIhAL/+DIY5OtPbdfht0DBQdNGuQJm7zDY6n0BgNGuIcQYN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56441},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"783bad1bd7c09783dd380595f9deaa1482ea4697","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsup"},"_npmUser":{"name":"thaianthedev","email":"thaianthedev@gmail.com"},"_npmVersion":"11.10.0","description":"SDK Node.js/TypeScript để gọi MovieGlu API (phim đang chiếu, phim sắp chiếu, rạp gần đây, chi tiết phim/rạp, lịch chiếu).","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","tslib":"^2.8.1","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/movie-glu-sdk_1.0.4_1772115572112_0.5788304680740342","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@andev2005/movie-glu-sdk","version":"1.0.5","keywords":[],"author":"","license":"ISC","_id":"@andev2005/movie-glu-sdk@1.0.5","maintainers":[{"name":"thaianthedev","email":"thaianthedev@gmail.com"}],"dist":{"shasum":"dd9467e013a65685962258dd45fa56b7c3984c8c","tarball":"https://registry.npmjs.org/@andev2005/movie-glu-sdk/-/movie-glu-sdk-1.0.5.tgz","fileCount":12,"integrity":"sha512-51Ye1ueNj8w06rwQJ0R+pmzuxMmy9oaFrq0sMFuypU15o+1lWskCHwIR0z8EgJtJdpaLMROZZZ1I4bgEhp4h+g==","signatures":[{"sig":"MEUCIQC9zsUtQG3kk5oKCi9o+HoSS6mdZgm1wym5DvV66iMKxQIgSxXB6RVZXognJC6J9E+a0V86jQBvN6P27hVgl5mEP7I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65967},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"758cdafac6bde537e8c149ce7e415cb43dd01ef0","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsup"},"_npmUser":{"name":"thaianthedev","email":"thaianthedev@gmail.com"},"_npmVersion":"11.10.0","description":"SDK Node.js/TypeScript để gọi MovieGlu API (phim đang chiếu, phim sắp chiếu, rạp gần đây, chi tiết phim/rạp, lịch chiếu).","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","tslib":"^2.8.1","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/movie-glu-sdk_1.0.5_1772359141772_0.029097378221613512","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@andev2005/movie-glu-sdk","version":"1.0.6","keywords":[],"author":"","license":"ISC","_id":"@andev2005/movie-glu-sdk@1.0.6","maintainers":[{"name":"thaianthedev","email":"thaianthedev@gmail.com"}],"dist":{"shasum":"355e8764df895e82d044d1ca4b6bcfcdcfb435ad","tarball":"https://registry.npmjs.org/@andev2005/movie-glu-sdk/-/movie-glu-sdk-1.0.6.tgz","fileCount":12,"integrity":"sha512-/GPn1sMUscES0uFAa/yHwzjcR8YXg72p7jmD3sg0SaPzDhZU8cp3THN1qHK/Yfm5lW7GmLXeYI96FFv4SNQrjQ==","signatures":[{"sig":"MEUCIB1wtrj1HPL0Hu2nbHWi9RLAmZ12g0nIdsJ5k+wcIpvRAiEAiVuJvoThrwISSykycgmKsPUNe+JNvVdtWLcJkeK9G7E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66124},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"758cdafac6bde537e8c149ce7e415cb43dd01ef0","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsup"},"_npmUser":{"name":"thaianthedev","email":"thaianthedev@gmail.com"},"_npmVersion":"11.10.0","description":"SDK Node.js/TypeScript để gọi MovieGlu API (phim đang chiếu, phim sắp chiếu, rạp gần đây, chi tiết phim/rạp, lịch chiếu).","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","tslib":"^2.8.1","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/movie-glu-sdk_1.0.6_1772795801450_0.8914081190209586","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@andev2005/movie-glu-sdk","version":"1.0.7","keywords":[],"author":"","license":"ISC","_id":"@andev2005/movie-glu-sdk@1.0.7","maintainers":[{"name":"thaianthedev","email":"thaianthedev@gmail.com"}],"dist":{"shasum":"dbf485c55fbf23efd1147e0f45d2c63acceecc0d","tarball":"https://registry.npmjs.org/@andev2005/movie-glu-sdk/-/movie-glu-sdk-1.0.7.tgz","fileCount":12,"integrity":"sha512-DyiMxy30lXpsAIcTqP25oDEuAFe7tvEgp5X3zhpWOaXSlyp9zITsWWsOfvDgrgatyFaqG+hd/oftSTxkSImKtg==","signatures":[{"sig":"MEUCIEgBmlcfxcD9AXc1Eu7qjQ3SEST6uND2Mn/ilMXmLEi4AiEA8LVmwZ/d9KSqB4SfPvh++3NYG9gD+oNiKYtLIwPxyFY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66594},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"758cdafac6bde537e8c149ce7e415cb43dd01ef0","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsup"},"_npmUser":{"name":"thaianthedev","email":"thaianthedev@gmail.com"},"_npmVersion":"11.10.0","description":"SDK Node.js/TypeScript để gọi MovieGlu API (phim đang chiếu, phim sắp chiếu, rạp gần đây, chi tiết phim/rạp, lịch chiếu).","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","tslib":"^2.8.1","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/movie-glu-sdk_1.0.7_1772796002811_0.3612633970244352","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@andev2005/movie-glu-sdk","version":"1.0.8","description":"SDK Node.js/TypeScript để gọi MovieGlu API (phim đang chiếu, phim sắp chiếu, rạp gần đây, chi tiết phim/rạp, lịch chiếu).","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.js","import":"./dist/index.mjs"}},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsup"},"keywords":[],"author":"","license":"ISC","type":"commonjs","devDependencies":{"tslib":"^2.8.1","tsup":"^8.5.1","typescript":"^5.9.3"},"gitHead":"758cdafac6bde537e8c149ce7e415cb43dd01ef0","_id":"@andev2005/movie-glu-sdk@1.0.8","_nodeVersion":"20.20.0","_npmVersion":"11.10.0","dist":{"integrity":"sha512-fCfiKzi2+shKm+f+VYJPXVvijbwERyiqQkDYoBtXVGRyVnS88UO0giqke6Y8m7mszkJlaAFwwRATWBuPZ1+gPg==","shasum":"7f054df5ee7e91902a6ca7898f19cbdc35fd060f","tarball":"https://registry.npmjs.org/@andev2005/movie-glu-sdk/-/movie-glu-sdk-1.0.8.tgz","fileCount":12,"unpackedSize":67516,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFC3sIdO7s3FUcVnP1z/jZmSOZDYYEzrol+7jpv/CBmyAiAwzaCBH7o3gaOgSoUNCCs+FXlwmxfjLxAcKJbRvh3jTw=="}]},"_npmUser":{"name":"thaianthedev","email":"thaianthedev@gmail.com"},"directories":{},"maintainers":[{"name":"thaianthedev","email":"thaianthedev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/movie-glu-sdk_1.0.8_1772804679727_0.07525047640094606"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-25T13:55:26.651Z","modified":"2026-03-06T13:44:40.029Z","1.0.0":"2026-02-25T13:55:26.909Z","1.0.1":"2026-02-25T13:59:36.187Z","1.0.2":"2026-02-25T17:00:13.428Z","1.0.3":"2026-02-25T17:02:29.280Z","1.0.4":"2026-02-26T14:19:32.302Z","1.0.5":"2026-03-01T09:59:01.952Z","1.0.6":"2026-03-06T11:16:41.605Z","1.0.7":"2026-03-06T11:20:02.959Z","1.0.8":"2026-03-06T13:44:39.869Z"},"license":"ISC","keywords":[],"description":"SDK Node.js/TypeScript để gọi MovieGlu API (phim đang chiếu, phim sắp chiếu, rạp gần đây, chi tiết phim/rạp, lịch chiếu).","maintainers":[{"name":"thaianthedev","email":"thaianthedev@gmail.com"}],"readme":"# @andev2005/movie-glu-sdk\n\nSDK Node.js/TypeScript để gọi MovieGlu API (phim đang chiếu, phim sắp chiếu, rạp gần đây, chi tiết phim/rạp, lịch chiếu).\n\n## Cài đặt\n\n```bash\npnpm add @andev2005/movie-glu-sdk\n```\n\nHoặc:\n\n```bash\nnpm i @andev2005/movie-glu-sdk\n```\n\n## Yêu cầu\n\n- Runtime có `fetch` (Node.js 18+) hoặc truyền `fetch` custom vào client\n\n## Sử dụng nhanh\n\n### TypeScript / JavaScript\n\n```ts\nimport { createMovieGluClient } from '@andev2005/movie-glu-sdk';\n\nconst movieGlu = createMovieGluClient({\n  // apiKey là optional, mặc định đã được gắn theo cấu hình ANDE/XX\n  // apiKey: process.env.MOVIE_GLU_API_KEY,\n});\n\nasync function main() {\n  const nowShowing = await movieGlu.films.nowShowing({ limit: 10 });\n  console.log(nowShowing.films);\n\n  const comingSoon = await movieGlu.films.comingSoon({ limit: 10 });\n  console.log(comingSoon.films);\n\n  const cinemas = await movieGlu.cinemas.nearby({ limit: 5 });\n  console.log(cinemas.cinemas);\n}\n\nmain().catch(console.error);\n```\n\n## Khởi tạo client\n\n```ts\nimport { createMovieGluClient } from '@andev2005/movie-glu-sdk';\n\nconst client = createMovieGluClient({\n  // Tuỳ chọn:\n  // baseUrl: 'https://api-gate2.movieglu.com',\n  // headers: { 'x-custom-header': 'value' },\n  // fetch: customFetch, // dùng khi môi trường không có global fetch\n});\n```\n\n## API hiện có\n\n### `films`\n\n```ts\n// Phim đang chiếu (limit optional, default 10)\nawait client.films.nowShowing({ limit: 10 });\n\n// Phim sắp chiếu (limit optional, default 10)\nawait client.films.comingSoon({ limit: 10 });\n\n// Chi tiết phim\nawait client.films.details(12345);\n\n// Chi tiết phim + size_category\nawait client.films.details({\n  filmId: 12345,\n  sizeCategory: ['small', 'medium'],\n});\n\n// Lịch chiếu theo phim + ngày\nawait client.films.showTimes({\n  filmId: 12345,\n  date: '2026-02-25',\n  limit: 10,\n});\n```\n\n### `cinemas`\n\n```ts\n// Rạp gần đây\nawait client.cinemas.nearby({ limit: 10 });\n\n// Chi tiết rạp\nawait client.cinemas.details(1001);\n\n// Lịch chiếu rạp theo ngày\nawait client.cinemas.showTimes({\n  cinemaId: 1001,\n  date: '2026-02-25', // YYYY-MM-DD\n});\n```\n\n### Lọc lịch chiếu theo phim + sắp xếp\n\n```ts\nimport { SORT_TYPE } from '@andev2005/movie-glu-sdk';\n\nawait client.cinemas.showTimes({\n  cinemaId: 1001,\n  filmId: 12345,\n  date: '2026-02-25',\n  sort: SORT_TYPE.POPULARITY, // hoặc SORT_TYPE.ALPHABETICAL\n});\n```\n\n## Xử lý lỗi\n\nSDK sẽ throw `MovieGluError` nếu request thất bại (HTTP status không thành công).\n\nMỗi request tự động gửi các header mặc định:\n\n- `client: ANDE`\n- `x-api-key: Bcg2m9aHOI8QSg5h8EDNK8ecPZRTiove3dsbZVuz`\n- `authorization: Basic QU5ERV9YWDpWMEhoUjYzSHZOalM=`\n- `territory: XX`\n- `api-version: v201`\n- `geolocation: -22.0;14.0`\n- `device-datetime: <ISO datetime hiện tại>`\n\n```ts\nimport { MovieGluError } from '@andev2005/movie-glu-sdk';\n\ntry {\n  const data = await client.films.nowShowing({ limit: 10 });\n  console.log(data);\n} catch (error) {\n  if (error instanceof MovieGluError) {\n    console.error('MovieGluError:', error.message);\n    console.error('status:', error.status);\n    console.error('details:', error.details);\n  } else {\n    console.error(error);\n  }\n}\n```\n\n## Validate tham số\n\nSDK có kiểm tra đầu vào và sẽ throw `TypeError` nếu:\n\n- `apiKey` rỗng (nếu bạn truyền vào)\n- `limit` không phải số nguyên dương\n- `id/filmId/cinemaId` không phải số nguyên dương\n- `sizeCategory` không thuộc `small|medium|large|xlarge|xxlarge`\n- `date` không đúng định dạng `YYYY-MM-DD`\n\n## Utility build URL (tuỳ chọn)\n\nNếu bạn chỉ muốn lấy URL endpoint (không gửi request), có thể dùng `MOVIE_GLU`:\n\n```ts\nimport { MOVIE_GLU } from '@andev2005/movie-glu-sdk';\n\nconst url = MOVIE_GLU.FILM_NOWSHOWING(10);\nconsole.log(url);\n```\n\nCác helper có sẵn:\n\n- `MOVIE_GLU.FILM_NOWSHOWING(limit)`\n- `MOVIE_GLU.CINEMA_NEARBY(limit)`\n- `MOVIE_GLU.FILMS_COMING_SOON(limit)`\n- `MOVIE_GLU.FILM_SHOWTIME({ filmId, date, limit? })`\n- `MOVIE_GLU.FILMS_DETAIL(idOrParams)`\n- `MOVIE_GLU.CINEMA_DETAIL(id)`\n- `MOVIE_GLU.CINEMA_SHOWTIME({ cinemaId, date, filmId?, sort? })`\n\n## Export chính\n\n- `createMovieGluClient`\n- `MOVIE_GLU`\n- `SORT_TYPE`\n- `MovieGluError`\n- Tất cả TypeScript types (`FilmDetailsResponse`, `CinemaShowTimesResponse`, ...)\n\n## Build package\n\n```bash\nnpm run build\n```\n","readmeFilename":"README.md"}