con un clic
daiso-product-search
// Look up Daiso products by store name and product keyword using official Daiso Mall store/search/stock surfaces. Use when the user wants to know whether a product is available at a specific Daiso store.
// Look up Daiso products by store name and product keyword using official Daiso Mall store/search/stock surfaces. Use when the user wants to know whether a product is available at a specific Daiso store.
๋ค๋์ ๊ณต๊ฐ ๊ฒ์/๊ฐ๊ฒฉ๋น๊ต ํ๋ฉด์ผ๋ก ์ํ ํ๋ณด๋ฅผ ์ฐพ๊ณ , ์ผํ๋ชฐ๋ณ ์ต์ ๊ฐยท๋ฐฐ์ก๋น ํฌํจ ์ค๊ตฌ๋งค๊ฐยท์นด๋ ํ ์ธ๊ฐยท๋ฌด์ด์ ํ ๋ถ ์ ๋ณด๋ฅผ ๋ณด์์ ์ผ๋ก ๋น๊ตํ๋ค.
Use when the user asks for nearby Korean emergency rooms, ์๊ธ์ค, ER, or emergency bed/๋ณ์ status near a location. Ask for the user's current location first unless a location was already provided.
After installing the full k-skill bundle, configure and verify the shared cross-platform setup, then optionally wire update checks and GitHub starring with explicit user consent.
Use kakaocli on macOS to read KakaoTalk chats, search messages, send replies after explicit confirmation, and delete sent messages with explicit operator intent.
CGV, ๋ฉ๊ฐ๋ฐ์ค, ๋กฏ๋ฐ์๋ค๋ง ์ํ๊ด ๊ฒ์, ์์์, ์๊ฐํ, ์์ฌ์ ์กฐํ๊ฐ ํ์ํ ๋ ์ฌ์ฉํ๋ค.
๊ณต๊ณต๋ฐ์ดํฐํฌํธ ์ฐฝ์ ์งํฅ์ K-Startup Open API(15125364)๋ก ํตํฉ ๊ณต๊ณ ์ฌ์ ์ ๋ณดยท์ง์์ฌ์ ๊ณต๊ณ ยท์ฐฝ์ ์ฝํ ์ธ ยทํต๊ณ๋ณด๊ณ ์๋ฅผ k-skill-proxy ๊ฒฝ์ ๋ก ์กฐํํ๋ค. ๊ฒ์ ์ ์ฉ.
| name | daiso-product-search |
| description | Look up Daiso products by store name and product keyword using official Daiso Mall store/search/stock surfaces. Use when the user wants to know whether a product is available at a specific Daiso store. |
| license | MIT |
| metadata | {"category":"retail","locale":"ko-KR","phase":"v1"} |
๋ค์ด์๋ชฐ ๊ณต์ ๊ฒ์/๋งค์ฅ/์ฌ๊ณ ํ๋ฉด์ ์ฌ์ฉํด ํน์ ๋ค์ด์ ๋งค์ฅ์ ์ํ ์ฌ๊ณ ๋ฅผ ํ์ธํ๋ค.
node 18+daiso-product-search package ๋๋ ๋์ผ ๋ก์ง๋งค์ฅ๋ช ์ด ์์ผ๋ฉด ๋ฐ๋ก ์กฐํํ์ง ๋ง๊ณ ๋จผ์ ๋ฌผ์ด๋ณธ๋ค.
์ด๋ ๋ค์ด์ ๋งค์ฅ์ ํ์ธํ ๊น์? ๋งค์ฅ๋ช
(์: ๊ฐ๋จ์ญ2ํธ์ )์ ์๋ ค์ฃผ์ธ์.ํ๋ณด ๋งค์ฅ์ด ์ฌ๋ฌ ๊ฐ์์. ์ ํํ ๋งค์ฅ๋ช
์ ํ๋๋ง ๊ณจ๋ผ์ฃผ์ธ์.์ํ๋ช /๊ฒ์์ด๋ ๋ฐ๋์ ํ์ํ๋ค.
์ฐพ์ ์ํ๋ช
์ด๋ ๊ฒ์์ด๋ ์๋ ค์ฃผ์ธ์. ์: VT ๋ฆฌ๋ค์ท 100๊ฒ์์ด๊ฐ ๋๋ฌด ๋์ด์. ๋ธ๋๋๋ ์ฉ๋๊น์ง ๊ฐ์ด ์๋ ค์ฃผ์ธ์.https://www.daisomall.co.kr/api/ms/msg/selStrSrchKeywordhttps://www.daisomall.co.kr/api/ms/msg/selStrhttps://www.daisomall.co.kr/api/dl/dla-api/selStrInfohttps://www.daisomall.co.kr/ssn/search/Searchhttps://www.daisomall.co.kr/ssn/search/SearchGoodshttps://www.daisomall.co.kr/ssn/search/GoodsMummResulthttps://www.daisomall.co.kr/api/auth/requesthttps://www.daisomall.co.kr/api/pd/pdh/selStrPkupStck โ ์ธ์ฆ ํ์https://www.daisomall.co.kr/api/ms/msg/selPkupStrhttps://www.daisomall.co.kr/api/pdo/selOnlStck๊ณต์ ๋งค์ฅ ๊ฒ์ API๋ก ๋งค์ฅ๋ช ์ ๋จผ์ ํด๊ฒฐํ๋ค.
const { searchStores } = require("daiso-product-search")
const storeResult = await searchStores("๊ฐ๋จ์ญ2ํธ์ ", {
limit: 5
})
console.log(storeResult.items)
๋งค์ฅ ํ๋ณด๊ฐ ์ฌ๋ฌ ๊ฐ๋ฉด ์์ 2~3๊ฐ๋ง ๋ณด์ฌ์ฃผ๊ณ ๋ค์ ํ์ธ๋ฐ๋๋ค.
๊ณต์ SearchGoods ํ๋ฉด์ผ๋ก ์ํ ํ๋ณด๋ฅผ ์ฐพ๋๋ค.
const { searchProducts } = require("daiso-product-search")
const productResult = await searchProducts("VT ๋ฆฌ๋ค์ท 100", {
limit: 10
})
console.log(productResult.items)
์ํ ํ๋ณด๊ฐ ์ฌ๋ฌ ๊ฐ๋ฉด ์๋ ์ฐ์ ์์๋ก ์งง๊ฒ ์ ๋ฆฌํ๋ค.
onldPdNo ๋ฅผ ํจ๊ป ๋ณด์กดํ๋คselStrPkupStck๋ Authorization ํค๋ ์์ด ํธ์ถํ๋ฉด 403์ ๋ฐํํ๋ค.
๋ก๊ทธ์ธ ์์ด /api/auth/request๋ก ๋น๋ก๊ทธ์ธ JWT๋ฅผ ๋ฐ๊ธ๋ฐ์ AES-CBC๋ก ์ํธํํ ๋ค Bearer ํค๋๋ก ์ ๋ฌํ๋ค.
Bearer ํ ํฐ ์์ฑ ๋ฐฉ๋ฒ:
GET /api/auth/request โ ์๋ต ๋ฐ๋: JWT ํ๋ฌธ, ์๋ต ํค๋ x-dm-uid ๋ณด์กด (์ ํจ 30์ด)"PRE_AUTH_ENC_KEY"๋ก ์ํธํbearer = base64(IV) + base64(์ํธ๋ฌธ) ์ผ๋ก ์กฐํฉ ํ Authorization: Bearer <bearer>, X-DM-UID: <uid> ํค๋๋ก ์ ๋ฌ๋ฐ๋๋ {pdNo, strCd} ์ ๋ฐฐ์ด๋ก ์ฌ๋ฌ ๋งค์ฅ์ ํ ๋ฒ์ ์กฐํํ ์ ์๋ค.
์๋ต์ stck ํ๋๊ฐ "0" ๋๋ ๋น ๊ฐ์ด๋ฉด ์ฌ๊ณ ์์.
const { getStorePickupStock } = require("daiso-product-search")
const stock = await getStorePickupStock({
pdNo: "1049275",
strCd: "10224"
})
console.log(stock)
const { lookupStoreProductAvailability } = require("daiso-product-search")
const result = await lookupStoreProductAvailability({
storeQuery: "๊ฐ๋จ์ญ2ํธ์ ",
productQuery: "VT ๋ฆฌ๋ค์ท 100"
})
console.log(result.selectedStore)
console.log(result.selectedProduct)
console.log(result.pickupStock)
์๋ต์ ์งง๊ณ ๋ช ํํ๊ฒ ์ ๋ฆฌํ๋ค.
๊ณต์ ํ๋ฉด์์๋ ๋งค์ฅ ์ฌ๊ณ ๊น์ง๋ง ํ์ธ๋๋ค๊ณ ๋ถ๋ช
ํ ๋งํ๋ค.selStrPkupStck 403 โ /api/auth/request ์ฌํธ์ถ ํ Bearer๋ฅผ ์๋ก ๋น๋ํด ์ฌ์๋ํ๋ค.retrievalStatus: "blocked" ๋ก ํ์ํ๊ณ , selPkupStr ๊ธฐ๋ฐ pickupEligibility(ํฝ์
๊ฐ๋ฅ ์ฌ๋ถ)๋ง ๋ณด์กฐ ์ ๋ณด๋ก ์ ๊ณตํ๋ค.PRE_AUTH_ENC_KEY)๋ JS ๋ฒ๋ค์ ํ๋์ฝ๋ฉ๋์ด ์์ผ๋ฉฐ ๋ณ๊ฒฝ๋ ์ ์๋ค.selStrPkupStck ํธ์ถ ์: /api/auth/request ํธ์ถ ํ Bearer๋ฅผ ๋ง๋ค์ด ์๋ํ๋ค.selPkupStr ํฝ์
๊ฐ๋ฅ ์ฌ๋ถ.