Skip to content

CJ ๋Œ€ํ•œํ†ต์šด API endpoint ์—…๋ฐ์ดํŠธ ์š”์ฒญย #198

@kimiroo

Description

@kimiroo

ํ˜„์žฌ ์‚ฌ์šฉ์ค‘์ธ endpoint๋ณด๋‹ค ๋” ์ƒ์„ธํ•˜๋ฉด์„œ๋„ ์‚ฌ์šฉํ•˜๊ธฐ ํŽธํ•œ endpoint๋ฅผ ๋ฐœ๊ฒฌํ•˜์—ฌ ์ œ๋ณด๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์› URL: https://trace.cjlogistics.com/next/tracking.html?wblNo={์†ก์žฅ๋ฒˆํ˜ธ}

์†ก์žฅ ์ •๋ณด API Endpoint: https://trace.cjlogistics.com/next/rest/selectTrackingWaybil.do

JSON response:
{
    "data": {
        "crgStDcd": "",
        "empno": "",
        "patnBranCd": "",
        "branCd": "",
        "rcvrClphno": "010-{๊ฐœ์ธ์ •๋ณด ์ œ๊ฑฐ}",
        "wblNo": "{๊ฐœ์ธ์ •๋ณด ์ œ๊ฑฐ}",
        "workHms": "",
        "acprRlpDcd": "",
        "repGoodsNm": "Switches",
        "workDt": "",
        "procBranTelNo": "",
        "sndrAddr": "์„œ์šธํŠน๋ณ„์‹œ ๊ฐ•์„œ๊ตฌ ๊ณตํ•ญ๋™******",
        "patnBranTelNo": "",
        "rcvrAddr": "์„œ์šธํŠน๋ณ„์‹œ ์šฉ์‚ฐ๊ตฌ******",
        "acprNm": "๊น€*",
        "crgStDnm": "",
        "sndrNm": "์—*",
        "branNm": "",
        "sndrClphno": "02-2665-****",
        "qty": "1",
        "crgStDcdVal": "",
        "goodsDtlNm": "",
        "acprRlpDnm": "๋ณธ์ธ",
        "rcvrNm": "๊น€*",
        "patnBranNm": "",
        "empynm": ""
    },
    "resultCode": 200,
    "resultMessage": "์„ฑ๊ณต"
}

๋ฐฐ์†ก ํŠธ๋ž˜ํ‚น API Endpoint: https://trace.cjlogistics.com/next/rest/selectTrackingDetailList.do

JSON response:
{
    "data": {
        "svcOutList": [
            {
                "crgStDcd": "11",
                "empno": "13411744",
                "patnBranCd": "",
                "branCd": "9596",
                "rcvrClphno": "",
                "wblNo": "{๊ฐœ์ธ์ •๋ณด ์ œ๊ฑฐ}",
                "workHms": "20:47:47",
                "acprRlpDcd": "",
                "repGoodsNm": "",
                "workDt": "2024-06-08",
                "procBranTelNo": "010-2375-9952",
                "sndrAddr": "",
                "patnBranTelNo": "",
                "rcvrAddr": "",
                "acprNm": "",
                "crgStDnm": "์ง‘ํ™”์ฒ˜๋ฆฌ",
                "sndrNm": "",
                "branNm": "๊ธ€๋กœ๋ฒŒ์ง๊ตฌํŒ€์ง์˜(์ด๊ธฐํ˜•)",
                "sndrClphno": "",
                "qty": "",
                "crgStDcdVal": "๋ณด๋‚ด์‹œ๋Š” ๊ณ ๊ฐ๋‹˜์œผ๋กœ๋ถ€ํ„ฐ ์ƒํ’ˆ์„ ์ธ์ˆ˜๋ฐ›์•˜์Šต๋‹ˆ๋‹ค",
                "goodsDtlNm": "",
                "acprRlpDnm": "",
                "rcvrNm": "",
                "patnBranNm": "",
                "empynm": "์ด๊ธฐํ˜•"
            },
            {
                "crgStDcd": "42",
                "empno": "607598",
                "patnBranCd": "X",
                "branCd": "V041",
                "rcvrClphno": "",
                "wblNo": "{๊ฐœ์ธ์ •๋ณด ์ œ๊ฑฐ}",
                "workHms": "20:35:04",
                "acprRlpDcd": "",
                "repGoodsNm": "",
                "workDt": "2024-06-09",
                "procBranTelNo": "031-895-2584",
                "sndrAddr": "",
                "patnBranTelNo": "",
                "rcvrAddr": "",
                "acprNm": "",
                "crgStDnm": "๊ฐ„์„ ํ•˜์ฐจ",
                "sndrNm": "",
                "branNm": "๊ตฐํฌBHub",
                "sndrClphno": "",
                "qty": "",
                "crgStDcdVal": "์ ‘์ˆ˜ํ•˜์‹  ๋ฌผํ’ˆ์ด ์ค‘๊ณ„์ ์— ๋„์ฐฉํ•˜์˜€์Šต๋‹ˆ๋‹ค",
                "goodsDtlNm": "",
                "acprRlpDnm": "",
                "rcvrNm": "",
                "patnBranNm": "",
                "empynm": "์˜คํ† ์†Œํ„ฐ(small)"
            },
            {
                "crgStDcd": "R1",
                "empno": "607598",
                "patnBranCd": "4C92",
                "branCd": "V041",
                "rcvrClphno": "",
                "wblNo": "{๊ฐœ์ธ์ •๋ณด ์ œ๊ฑฐ}",
                "workHms": "20:35:19",
                "acprRlpDcd": "",
                "repGoodsNm": "",
                "workDt": "2024-06-09",
                "procBranTelNo": "031-895-2584",
                "sndrAddr": "",
                "patnBranTelNo": "",
                "rcvrAddr": "",
                "acprNm": "",
                "crgStDnm": "ํ–‰๋‚ญํฌ์žฅ",
                "sndrNm": "",
                "branNm": "๊ตฐํฌBHub",
                "sndrClphno": "",
                "qty": "",
                "crgStDcdVal": "๋ฌผํ’ˆ์„ ํ–‰๋‚ญํฌ์žฅํ•˜์˜€์Šต๋‹ˆ๋‹ค",
                "goodsDtlNm": "",
                "acprRlpDnm": "",
                "rcvrNm": "",
                "patnBranNm": "",
                "empynm": "์˜คํ† ์†Œํ„ฐ(small)"
            },
            {
                "crgStDcd": "41",
                "empno": "664415",
                "patnBranCd": "V020",
                "branCd": "V041",
                "rcvrClphno": "",
                "wblNo": "{๊ฐœ์ธ์ •๋ณด ์ œ๊ฑฐ}",
                "workHms": "21:41:24",
                "acprRlpDcd": "",
                "repGoodsNm": "",
                "workDt": "2024-06-09",
                "procBranTelNo": "031-895-2584",
                "sndrAddr": "",
                "patnBranTelNo": "043-531-1261",
                "rcvrAddr": "",
                "acprNm": "",
                "crgStDnm": "๊ฐ„์„ ์ƒ์ฐจ",
                "sndrNm": "",
                "branNm": "๊ตฐํฌBHub",
                "sndrClphno": "",
                "qty": "",
                "crgStDcdVal": "๋ฐฐ์†ก์ง€์—ญ์œผ๋กœ ์ƒํ’ˆ์ด ์ด๋™์ค‘์ž…๋‹ˆ๋‹ค.",
                "goodsDtlNm": "",
                "acprRlpDnm": "",
                "rcvrNm": "",
                "patnBranNm": "์˜ฅ์ฒœHub",
                "empynm": "์ƒ์ฐจB3"
            },
            {
                "crgStDcd": "42",
                "empno": "477712",
                "patnBranCd": "V041",
                "branCd": "V020",
                "rcvrClphno": "",
                "wblNo": "{๊ฐœ์ธ์ •๋ณด ์ œ๊ฑฐ}",
                "workHms": "01:53:12",
                "acprRlpDcd": "",
                "repGoodsNm": "",
                "workDt": "2024-06-10",
                "procBranTelNo": "043-531-1261",
                "sndrAddr": "",
                "patnBranTelNo": "031-895-2584",
                "rcvrAddr": "",
                "acprNm": "",
                "crgStDnm": "๊ฐ„์„ ํ•˜์ฐจ",
                "sndrNm": "",
                "branNm": "์˜ฅ์ฒœHub",
                "sndrClphno": "",
                "qty": "",
                "crgStDcdVal": "์ ‘์ˆ˜ํ•˜์‹  ๋ฌผํ’ˆ์ด ์ค‘๊ณ„์ ์— ๋„์ฐฉํ•˜์˜€์Šต๋‹ˆ๋‹ค",
                "goodsDtlNm": "",
                "acprRlpDnm": "",
                "rcvrNm": "",
                "patnBranNm": "๊ตฐํฌBHub",
                "empynm": "ํ•˜์ฐจB_10"
            },
            {
                "crgStDcd": "42",
                "empno": "637134",
                "patnBranCd": "V020",
                "branCd": "V020",
                "rcvrClphno": "",
                "wblNo": "{๊ฐœ์ธ์ •๋ณด ์ œ๊ฑฐ}",
                "workHms": "01:54:20",
                "acprRlpDcd": "",
                "repGoodsNm": "",
                "workDt": "2024-06-10",
                "procBranTelNo": "043-531-1261",
                "sndrAddr": "",
                "patnBranTelNo": "043-531-1261",
                "rcvrAddr": "",
                "acprNm": "",
                "crgStDnm": "๊ฐ„์„ ํ•˜์ฐจ",
                "sndrNm": "",
                "branNm": "์˜ฅ์ฒœHub",
                "sndrClphno": "",
                "qty": "",
                "crgStDcdVal": "์ ‘์ˆ˜ํ•˜์‹  ๋ฌผํ’ˆ์ด ์ค‘๊ณ„์ ์— ๋„์ฐฉํ•˜์˜€์Šต๋‹ˆ๋‹ค",
                "goodsDtlNm": "",
                "acprRlpDnm": "",
                "rcvrNm": "",
                "patnBranNm": "์˜ฅ์ฒœHub",
                "empynm": "4๋ฐ˜์‹ ์„ค์ดˆ์ž…"
            },
            {
                "crgStDcd": "41",
                "empno": "571008",
                "patnBranCd": "V116",
                "branCd": "V020",
                "rcvrClphno": "",
                "wblNo": "{๊ฐœ์ธ์ •๋ณด ์ œ๊ฑฐ}",
                "workHms": "01:59:15",
                "acprRlpDcd": "",
                "repGoodsNm": "",
                "workDt": "2024-06-10",
                "procBranTelNo": "043-531-1261",
                "sndrAddr": "",
                "patnBranTelNo": "02-749-4212",
                "rcvrAddr": "",
                "acprNm": "",
                "crgStDnm": "๊ฐ„์„ ์ƒ์ฐจ",
                "sndrNm": "",
                "branNm": "์˜ฅ์ฒœHub",
                "sndrClphno": "",
                "qty": "",
                "crgStDcdVal": "๋ฐฐ์†ก์ง€์—ญ์œผ๋กœ ์ƒํ’ˆ์ด ์ด๋™์ค‘์ž…๋‹ˆ๋‹ค.",
                "goodsDtlNm": "",
                "acprRlpDnm": "",
                "rcvrNm": "",
                "patnBranNm": "์šฉ์‚ฐ1Sub",
                "empynm": "B-83-15"
            },
            {
                "crgStDcd": "42",
                "empno": "575923",
                "patnBranCd": "V116",
                "branCd": "V116",
                "rcvrClphno": "",
                "wblNo": "{๊ฐœ์ธ์ •๋ณด ์ œ๊ฑฐ}",
                "workHms": "09:43:40",
                "acprRlpDcd": "",
                "repGoodsNm": "",
                "workDt": "2024-06-10",
                "procBranTelNo": "02-749-4212",
                "sndrAddr": "",
                "patnBranTelNo": "02-749-4212",
                "rcvrAddr": "",
                "acprNm": "",
                "crgStDnm": "๊ฐ„์„ ํ•˜์ฐจ",
                "sndrNm": "",
                "branNm": "์šฉ์‚ฐ1Sub",
                "sndrClphno": "",
                "qty": "",
                "crgStDcdVal": "์ ‘์ˆ˜ํ•˜์‹  ๋ฌผํ’ˆ์ด ์ค‘๊ณ„์ ์— ๋„์ฐฉํ•˜์˜€์Šต๋‹ˆ๋‹ค",
                "goodsDtlNm": "",
                "acprRlpDnm": "",
                "rcvrNm": "",
                "patnBranNm": "์šฉ์‚ฐ1Sub",
                "empynm": "ํœ ์†Œํ„ฐ_2๋ผ์ธ(์šฉ์‚ฐ1Sub)"
            },
            {
                "crgStDcd": "82",
                "empno": "639959",
                "patnBranCd": "",
                "branCd": "9568",
                "rcvrClphno": "",
                "wblNo": "{๊ฐœ์ธ์ •๋ณด ์ œ๊ฑฐ}",
                "workHms": "10:31:23",
                "acprRlpDcd": "",
                "repGoodsNm": "",
                "workDt": "2024-06-10",
                "procBranTelNo": "010-{๊ฐœ์ธ์ •๋ณด ์ œ๊ฑฐ}",
                "sndrAddr": "",
                "patnBranTelNo": "",
                "rcvrAddr": "",
                "acprNm": "",
                "crgStDnm": "๋ฐฐ์†ก์ถœ๋ฐœ",
                "sndrNm": "",
                "branNm": "์„œ์šธ์šฉ์‚ฐ๋žœ๋“œ๋งˆํฌ",
                "sndrClphno": "",
                "qty": "",
                "crgStDcdVal": "๊ณ ๊ฐ๋‹˜์˜ ์ƒํ’ˆ์„ ๋ฐฐ์†กํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.(12~14์‹œ)(๋ฐฐ์†ก๋‹ด๋‹น : ๊น€{๊ฐœ์ธ์ •๋ณด ์ œ๊ฑฐ} 010-{๊ฐœ์ธ์ •๋ณด ์ œ๊ฑฐ})",
                "goodsDtlNm": "",
                "acprRlpDnm": "",
                "rcvrNm": "",
                "patnBranNm": "",
                "empynm": "๊น€{๊ฐœ์ธ์ •๋ณด ์ œ๊ฑฐ}"
            },
            {
                "crgStDcd": "91",
                "empno": "639959",
                "patnBranCd": "",
                "branCd": "9568",
                "rcvrClphno": "",
                "wblNo": "{๊ฐœ์ธ์ •๋ณด ์ œ๊ฑฐ}",
                "workHms": "12:18:16",
                "acprRlpDcd": "",
                "repGoodsNm": "",
                "workDt": "2024-06-10",
                "procBranTelNo": "010-{๊ฐœ์ธ์ •๋ณด ์ œ๊ฑฐ}",
                "sndrAddr": "",
                "patnBranTelNo": "",
                "rcvrAddr": "",
                "acprNm": "",
                "crgStDnm": "๋ฐฐ์†ก์™„๋ฃŒ",
                "sndrNm": "",
                "branNm": "์„œ์šธ์šฉ์‚ฐ๋žœ๋“œ๋งˆํฌ",
                "sndrClphno": "",
                "qty": "",
                "crgStDcdVal": "๊ณ ๊ฐ๋‹˜์˜ ์ƒํ’ˆ์ด ๋ฐฐ์†ก์™„๋ฃŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.(๋‹ด๋‹น์‚ฌ์› : ๊น€{๊ฐœ์ธ์ •๋ณด ์ œ๊ฑฐ} 010-{๊ฐœ์ธ์ •๋ณด ์ œ๊ฑฐ})",
                "goodsDtlNm": "",
                "acprRlpDnm": "",
                "rcvrNm": "",
                "patnBranNm": "์ธ์ˆ˜์ž : (๋ณธ์ธ)๊น€*",
                "empynm": "๊น€{๊ฐœ์ธ์ •๋ณด ์ œ๊ฑฐ}"
            }
        ]
    },
    "resultCode": 200,
    "resultMessage": "์„ฑ๊ณต"
}

์‚ฌ์šฉ๋ฐฉ๋ฒ•:

  • POST์š”์ฒญ์„ urlencoded form ํ˜•์‹์œผ๋กœ wblNo ํ‚ค์— ์†ก์žฅ๋ฒˆํ˜ธ๋ฅผ ๋„ฃ์–ด์„œ ๋‚ ๋ฆฌ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋‘ ์—”๋“œํฌ์ธํŠธ ๋ชจ๋‘ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.
  • ๋ณ„๋‹ค๋ฅธ csrf ํ† ํฐ์ด๋‚˜ ์ฟ ํ‚ค๋Š” ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ํ•„์š” ํ—ค๋”๋Š” Content-Type, Content-Length, Host ๋งŒ ๋„ฃ์œผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.
  • ์ฟ ํ‚ค๊ฐ’์ด ์—†์–ด๋„ ์ •์ƒ์ ์œผ๋กœ response๋ฅผ ๋Œ๋ ค์ฃผ๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.

ํŠน์ด์‚ฌํ•ญ:

  • ๊ธฐ์กด ์†Œ์Šค์ฝ”๋“œ ๋‚ด parseStatusCode() ๋ถ€๋ถ„(๋ฐฐ์†ก ๋‹จ๊ณ„ ์ฝ”๋“œ)์€ ํŠธ๋ž˜ํ‚น API์˜ ์‘๋‹ต์˜ crgStDcd ๋ณ€์ˆ˜๋ฅผ ์“ฐ์‹œ๋ฉด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
  • 91์€ ๋ฐฐ์†ก์™„๋ฃŒ, 82๋Š” ์ตœ์ข… ๋ฐฐ์†ก ๋“ฑ ๊ฑฐ์˜ ๋™์ผํ•ฉ๋‹ˆ๋‹ค๋งŒ, ํ–‰๋‚ญํฌ์žฅ์€ R1์œผ๋กœ ํ‘œ๊ธฐ๋˜๋Š” ๋“ฑ ์ผ๋ถ€ ์ˆ˜์ •์ด ํ•„์š”ํ•ด๋ณด์ž…๋‹ˆ๋‹ค.

์ œ๊ฐ€ TypeScript๋Š” ์ต์ˆ™์น˜ ์•Š์•„์„œ ์ง์ ‘ ์ฝ”๋“œ๋ฅผ ์งœ๋ณด์ง„ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜๋„ ํ˜„์žฌ ์‚ฌ์šฉ์ค‘์ธ ์—”๋“œํฌ์ธํŠธ๋ณด๋‹ค ์ฟ ํ‚ค๋‚˜ ํ† ํฐ์„ ๊ด€๋ฆฌํ•  ํ•„์š”๊ฐ€ ์—†๊ณ , ๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๊ธฐ์— endpoint ์—…๋ฐ์ดํŠธ ์š”์ฒญํ•ด๋ด…๋‹ˆ๋‹ค.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions