Slide 1

Slide 1 text

3&45GVMͳ"1*ʹ͓͚Δ ϑΝΠϧΞοϓϩʔυʹ͍ͭͯ ۔ᖒխਓ 5VFT CONFIDENCIAL SmartHR Engineer API Study #4

Slide 2

Slide 2 text

CONFIDENCIAL ۔ᖒ խਓ @masato_serizawa • גࣜձࣾ KUFU ΤϯδχΞ ͰɺSmartHR ͱ͍͏αʔϏεΛ։ ൃ͍ͯ͠·͢ • ΤϯδχΞͱͯ͠ͷΩϟϦΞͷ΄ͱΜͲΛ WebAPI ͷઃܭɾ ։ൃɾӡ༻ɾൢചΛͯ͠ա͍ͯ͝͠·͢ • ͨ·ʹ Hackathon ʹग़ͨΓ͠·͢ • झຯ͸ Data Visualization Ͱ͢

Slide 3

Slide 3 text

ຊ೔͓࿩͢Δ͜ͱ ʰ3&45GVM"1*ʹ͓͚ΔϑΝΠϧΞοϓϩʔυʱ

Slide 4

Slide 4 text

CONFIDENCIAL WebAPI Λ։ൃ͍ͯ͠ΔͱɺϑΝΠϧΛѻ͍͍ͨ ৔໘ʹग़͘Θ͢͜ͱ΋͋Δͱࢥ͍·͢ɻ ͨͩɺ͍͟ REST ͷ֓೦ʹϑΝΠϧͷೖग़ྗΛ౰ ͯࠐ΋͏ͱ͢Δͱɺ͍·͍ͪͬ͘͠Γͤ͞ΒΕͣɺ ೰Ή͜ͱʹͳΔͷͰ͸ͳ͍Ͱ͠ΐ͏͔ɻ ࠓճ͸࣮αʔϏεͷྫΛ౿·͑ͭͭɺϕετϓϥ ΫςΟεΛ୳ٻ͍ͯ͜͠͏ͱࢥ͍·͢ɻ

Slide 5

Slide 5 text

ϑΝΠϧͷૹ৴ํ๏

Slide 6

Slide 6 text

CONFIDENCIAL •RFC2388 Ͱఆٛ͞Ε͍ͯΔ HTTP ʹ͓͚ΔϑΝΠ ϧૹ৴ͷԦಓ •HTML ϑΥʔϜ͔ΒϑΝΠϧΛૹ৴͢ΔͨΊͷن ֨ͰɺϑΝΠϧσʔλҎ֎ʹ΋༷ʑͳσʔλΛ෇ ਵͤ͞ΒΕΔ •όΠφϦΛѻ͑ΔϝϦοτ͕͋Δ൓໘ɺJSON ϕʔ εͷ API ͱͷ਌࿨ੑ͸௿͍ NVMUJQBSUGPSNEBUB

Slide 7

Slide 7 text

CONFIDENCIAL NVMUJQBSUGPSNEBUB 9O+-F;*CC(6:U[12+V $POUFOU%JTQPTJUJPOGPSNEBUBOBNFUJUMF UJUMF 9O+-F;*CC(6:U[12+V $POUFOU%JTQPTJUJPOGPSNEBUBOBNFEFTDSJQUJPO EFTDSJQUJPO 9O+-F;*CC(6:U[12+V $POUFOU%JTQPTJUJPOGPSNEBUBOBNFTUSFBN@JE 9O+-F;*CC(6:U[12+V $POUFOU%JTQPTJUJPOGPSNEBUBOBNFJUFN@JNBHFT<>pMFOBNFTBNQMFQOH $POUFOU5ZQFJNBHFQOH $POUFOU-FOHUI \1VUCJOBSZDPOUFOUTUIBUZPVXBOUUPVQMPBE^ UBC"1*ͷαϯϓϧΑΓҾ༻

Slide 8

Slide 8 text

CONFIDENCIAL •ϑΝΠϧσʔλΛ Base64 ΤϯίʔυͰจࣈྻԽ ͯ͠ѻ͏ •ಛʹ RFC Ͱఆٛ͞Ε͍ͯΔ΋ͷͰ͸ͳ͍͕ɺେख Web αʔϏεͷ API Ͱͷ࠾༻࣮੷͕͋Δ •จࣈྻͳͷͰͦͷ·· JSON ʹ٧ΊΕΔ൓໘ɺ σʔλ༰ྔ͕͔͞ΜͰ͠·͏σϝϦοτ͕͋Δ #BTF

Slide 9

Slide 9 text

CONFIDENCIAL \ BTTFU\ LFZFYBNQMFHJG BUUBDINFOU 58'V*(M[*(3QD3QCNEB9/P;82T*(WE$#WCNY*(+*(IQDZ#Z; 8'[CT*(+E$#JF4#B(M[ *)/QCNEC('Z*)# E87L*('V;$#QCN3M;N'B8EI:NYM*(EMCN7Z:93QCHC:HBWE YM;(EM-$#MF(/M;83[*)3P ;4#[B(ZE$#;8IMC87V:6HC:H:8*(/IDNIC$#XC(7ID 7Z;4 ^ ^ #BTF

Slide 10

Slide 10 text

ϑΝΠϧͷอଘํ๏

Slide 11

Slide 11 text

CONFIDENCIAL •ಛఆϦιʔεͷಛఆΞτϦϏϡʔτʹରͯ͠ϑΝ ΠϧσʔλΛ௚઀ૹΔํࣜ •RESTful API Ͱ͸΄ͱΜͲͷ৔߹ɺૹ৴͢ΔϑΝ Πϧσʔλ͸Կ͔͠ΒͷϦιʔεʹඥͮ͘͸ͣͳ ͷͰɺ௚ײతͱ͍͑͹௚ײత •ϑΝΠϧΛ͍͔ͭ͘ͷϦιʔεͰ࢖͍·Θ͍ͨ͠ ৔߹ʹ͸޲͍͍ͯͳ͍ Ϧιʔεඥ෇͚ύλʔϯ

Slide 12

Slide 12 text

CONFIDENCIAL •ϑΝΠϧΞοϓϩʔυͷΤϯυϙΠϯτΛ࡞Γɺ ͦ͜ʹલ΋ͬͯϑΝΠϧΛૹΔํࣜ •Ξοϓϩʔυͨ͠ϑΝΠϧΛ1ͭͷϦιʔεͱͯ͠ ൚༻తʹѻ͍͍ͨ৔߹ʹ༗ޮ •ଞͷϦιʔεʹඥ෇͚Δ৔߹͸ɺID ΍ URLɺύε ͳͲΛͦͷϦιʔεͷΞτϦϏϡʔτʹઃఆ͠௚ ͢ඞཁ͕͋Δ ൚༻ϑΝΠϧΞοϓϩʔυύλʔϯ

Slide 13

Slide 13 text

࣮αʔϏεͷྫ

Slide 14

Slide 14 text

CONFIDENCIAL •Contents API ͱ͍͏൚༻ϑΝΠϧΞοϓϩʔυͷ ΤϯυϙΠϯτ͕͋Δ •͜ΕΛ࢖͏͜ͱͰɺʮίϝϯτΤϦΞʹϑΝΠϧ ΛυϥοάΞϯυυϩοϓͯͦ͠ͷ··ϚʔΫμ ΢ϯʹམͱ͠ࠐΉʯΈ͍ͨͳڍಈΛ࣮ݱ͍ͯ͠Δ ͱࢥΘΕΔ •Base64 ͰσʔλΛૹ৴͢Δ (JU)VC"1* IUUQTEFWFMPQFSHJUIVCDPNWSFQPTDPOUFOUT

Slide 15

Slide 15 text

CONFIDENCIAL •൚༻ϑΝΠϧΞοϓϩʔυͷΤϯυϙΠϯτ͕͋Δ •Ξοϓϩʔυ׬ྃ͢ΔͱʮϑΝΠϧΩʔʯ͕ฦͬͯ ͖ͯɺ͜ΕΛ࢖ͬͯ֘౰͢ΔΞτϦϏϡʔτΛߋ৽ ͢Δ •ΞτϦϏϡʔτͱͷͻ΋෇͖͕ͳ͍ϑΝΠϧ͸3೔ ؒͰফڈ͞ΕΔ •multipart/form-data ͰσʔλΛૹ৴͢Δ $ZCP[V"1* IUUQTDZCP[VEFW[FOEFTLDPNIDKBBSUJDMFT

Slide 16

Slide 16 text

CONFIDENCIAL •Ϧιʔεඥ෇͖ܗࣜͷϑΝΠϧΞοϓϩʔυ •Base64 ͷ΄͔ɺURL-encoded binary ͱ URL ͷܗ ࣜͰ΋σʔλΛૹ৴Մೳ 5VNCMS"1* •Ϧιʔεඥ෇͖ܗࣜϑΝΠϧΞοϓϩʔυ •multipart/form-data ͰσʔλΛૹ৴͢Δ UBC"1* IUUQTXXXUVNCMSDPNEPDTFOBQJW IUUQUPODIJEPUHJUIVCJPUBCBQJEPDTBQJJUFNDSFBUF@OFX@JUFNIUNM

Slide 17

Slide 17 text

·ͱΊ

Slide 18

Slide 18 text

CONFIDENCIAL •ϑΝΠϧͷૹ৴ํ๏ͱอଘํ๏ʹ͸ҎԼͷύλʔ ϯ͕͋Δ •API ͷੑ࣭΍ϑΝΠϧͷ༻్ʹԠͯ͡ɺ͜ΕΒΛ ద੾ʹ૊Έ߹ΘͤΔͷ͕ྑ͍ ૹ৴ NVMUJQBSUGPSNEBUB #BTF อଘ Ϧιʔεඥ෇͚ ൚༻ϑΝΠϧΞοϓϩʔυ

Slide 19

Slide 19 text

ΤϯδχΞืूͯ͠·͢ ࠙਌ձͰ͓࿩͠·͠ΐ͏ʂCFFST w3VCZPO3BJMT w#޲͚4BB4 wݹͯ͘ڊେͳ੍౓Λ)BDL͍ͨ͠