Webhook അഭ്യർത്ഥനകളുടെ ഘടന മനസ്സിലാക്കൽ
വെബ്ഹുക്കുകൾ (Webhooks) ആപ്ലിക്കേഷനുകൾ തമ്മിൽ തത്സമയം ഡാറ്റ കൈമാറുന്നതിനായി ഉപയോഗിക്കുന്ന പ്രധാന സംവിധാനങ്ങളാണ്. ഒരു ബാഹ്യ സർവീസ് നിങ്ങളുടെ സിസ്റ്റത്തിലേക്ക് അയക്കുന്ന വെബ്ഹുക്ക് അഭ്യർത്ഥനകളുടെ ഘടന കൃത്യമായി മനസ്സിലാക്കുക എന്നത് ഡെവലപ്മെന്റ് പ്രക്രിയയിൽ വളരെ പ്രധാനമാണ്. വെബ്ഹുക്ക് അഭ്യർത്ഥനകളിൽ അടങ്ങിയിരിക്കുന്ന രീതി, തലക്കെട്ടുകൾ, ബോഡി (Body) എന്നിവ വിശകലനം ചെയ്യാൻ ഈ ഉപകരണം സഹായിക്കുന്നു.
ഒരു വെബ്ഹുക്ക് ലഭിക്കുമ്പോൾ, അതിൻ്റെ ഉള്ളടക്കം പരിശോധിക്കുന്നതിനും പ്രാദേശികമായി ടെസ്റ്റ് ചെയ്യുന്നതിനുമുള്ള ഒരു ലളിതമായ മാർഗ്ഗമാണ് Webhook അഭ്യർത്ഥന ഇൻസ്പെക്ടർ. ക്യാപ്ചർ ചെയ്ത വെബ്ഹുക്ക് അഭ്യർത്ഥനയുടെ വിവരങ്ങൾ ഇവിടെ ഒട്ടിക്കുന്നതിലൂടെ, അതിൻ്റെ ഫോർമാറ്റ് പരിശോധിക്കാനും ലോക്കൽ ടെസ്റ്റിംഗിനായി ഒരു cURL കമാൻഡ് നിർമ്മിക്കാനും സാധിക്കും.
ഇൻപുട്ട് ഘടകങ്ങളും പരിധികളും
ഈ ടൂൾ ഉപയോഗിച്ച് ഒരു വെബ്ഹുക്ക് അഭ്യർത്ഥന പരിശോധിക്കുന്നതിന് താഴെ പറയുന്ന വിവരങ്ങൾ നൽകേണ്ടതുണ്ട്:
- രീതി: വെബ്ഹുക്ക് അഭ്യർത്ഥനയ്ക്കായി ഉപയോഗിച്ച HTTP രീതി തിരഞ്ഞെടുക്കുക. ഇതിനായി POST, PUT, PATCH, GET, DELETE എന്നിവ ലഭ്യമാണ്.
- തലക്കെട്ടുകൾ: വെബ്ഹുക്കിനൊപ്പം ലഭിച്ച ഹെഡറുകൾ ഓരോ വരിയിലും "Name: value" എന്ന ഫോർമാറ്റിൽ നൽകുക. പരമാവധി 200 ശൂന്യമല്ലാത്ത ഹെഡർ വരികൾ വരെ നൽകാം. ഹെഡറുകളുടെ ആകെ നീളം പരമാവധി 100,000 പ്രതീകങ്ങളായി പരിമിതപ്പെടുത്തിയിരിക്കുന്നു.
- ശരീരം (Body): സെർവർ-സൈഡ് പാഴ്സിംഗിന് വിധേയമാക്കുന്നതിന് മുൻപുള്ള കൃത്യമായ റോ ബോഡി (Raw Body) ഇവിടെ നൽകണം. ഇതിൻ്റെ പരമാവധി പരിധി 1,000,000 പ്രതീകങ്ങളാണ്.
ഔട്ട്പുട്ട് വിവരങ്ങൾ
നിങ്ങൾ നൽകുന്ന ഇൻപുട്ടുകളെ അടിസ്ഥാനമാക്കി ഈ ഉപകരണം താഴെ പറയുന്ന ഫലങ്ങൾ നൽകുന്നു:
- ഫോർമാറ്റ് ചെയ്ത ബോഡി: നൽകിയിരിക്കുന്ന ബോഡി JSON അല്ലെങ്കിൽ URL-encoded ഫോർമാറ്റിൽ ഉള്ളതാണെങ്കിൽ, അത് വായിക്കാൻ എളുപ്പമുള്ള രീതിയിൽ ഫോർമാറ്റ് ചെയ്ത് കാണിക്കുന്നു. ബോഡിയിൽ വിവരങ്ങൾ ഒന്നും ഇല്ലെങ്കിൽ "(ശൂന്യമായ ശരീരം)" എന്ന് പ്രദർശിപ്പിക്കും.
- സിഗ്നേച്ചർ ഫീൽഡുകൾ: വെബ്ഹുക്ക് അഭ്യർത്ഥനകളിൽ സാധാരണയായി കാണാറുള്ള ഒപ്പ് (Signature) അല്ലെങ്കിൽ ടൈംസ്റ്റാമ്പ് ഹെഡറുകൾ കണ്ടെത്തി ഇവിടെ പട്ടികപ്പെടുത്തുന്നു. അത്തരം ഹെഡറുകൾ ഒന്നും കണ്ടെത്തിയില്ലെങ്കിൽ "പൊതുവായ ഒപ്പോ വെബ്ഹുക്ക് ടൈംസ്റ്റാമ്പ് ഹെഡറോ കണ്ടെത്തിയില്ല." എന്ന് കാണിക്കും.
- ലോക്കൽ ചുരുളൻ പരിശോധന: നിങ്ങളുടെ ലോക്കൽ മെഷീനിൽ വെബ്ഹുക്ക് ടെസ്റ്റ് ചെയ്യുന്നതിനായി
http://localhost:3000/webhooksഎന്ന വിലാസത്തിലേക്ക് ടാർഗെറ്റ് ചെയ്തുകൊണ്ടുള്ള ഒരു cURL കമാൻഡ് നിർമ്മിച്ച് നൽകുന്നു.
പ്രോസസ്സിംഗും സ്വകാര്യതയും
ഈ ടൂളിൽ നിങ്ങൾ നൽകുന്ന വിവരങ്ങളുടെ സുരക്ഷയും സ്വകാര്യതയും പൂർണ്ണമായി നിലനിർത്തപ്പെടുന്നു. നിങ്ങളുടെ ഒട്ടിച്ച അഭ്യർത്ഥന നിങ്ങളുടെ ബ്രൗസറിൽ നിലനിൽക്കും. BroBroGo അത് അപ്ലോഡ് ചെയ്യുകയോ സംരക്ഷിക്കുകയോ ചെയ്യുന്നില്ല. എല്ലാ പ്രോസസ്സിംഗും നിങ്ങളുടെ ബ്രൗസറിനുള്ളിൽ തന്നെയാണ് നടക്കുന്നത്.
വെബ്ഹുക്ക് സിഗ്നേച്ചറുകളും പരിശോധനയും
വെബ്ഹുക്കുകളുടെ സുരക്ഷ ഉറപ്പാക്കുന്നതിൽ ഹെഡറുകൾക്ക് വലിയ പങ്കുണ്ട്. പല പ്രൊവൈഡർമാരും വെബ്ഹുക്ക് അഭ്യർത്ഥനകൾക്കൊപ്പം ഒരു സിഗ്നേച്ചർ ഹെഡർ അയക്കാറുണ്ട്. ഈ ഉപകരണം signature, hmac, digest തുടങ്ങിയ പേരുകളിലുള്ള ഹെഡറുകളെയും പൊതുവായ ടൈംസ്റ്റാമ്പ് ഹെഡറുകളെയും തിരിച്ചറിയുന്നു.
എന്നിരുന്നാലും, ഒരു സിഗ്നേച്ചർ ഫീൽഡ് കണ്ടെത്തുന്നത് അഭ്യർത്ഥന യഥാർത്ഥമാണെന്ന് തെളിയിക്കുന്നില്ല — യഥാർത്ഥ പരിശോധനയ്ക്ക് അയച്ചയാളുടെ ഒപ്പിടൽ നിയമങ്ങൾ, രഹസ്യ കോഡ് അല്ലെങ്കിൽ കീ, യഥാർത്ഥ അഭ്യർത്ഥന ബൈറ്റുകൾ എന്നിവ ആവശ്യമാണ്. ഈ ഉപകരണം HMAC കണക്കുകൂട്ടലുകളോ, അൽഗോരിതം പരിശോധനകളോ, പേലോഡ് ഒറിജിനൽ ബൈറ്റ് വെരിഫിക്കേഷനോ നടത്തുന്നില്ല.
പിശക് സന്ദേശങ്ങൾ
ഉപകരണത്തിൻ്റെ ഉപയോഗത്തിനിടയിൽ താഴെ പറയുന്ന പിശക് സന്ദേശങ്ങൾ കാണിച്ചേക്കാം:
- ആദ്യം കുറഞ്ഞത് ഒരു തലക്കെട്ടോ അഭ്യർത്ഥന ബോഡിയോ ഒട്ടിക്കുക. (ഇൻപുട്ടുകൾ ഒന്നും നൽകാതെ പരിശോധിക്കാൻ ശ്രമിക്കുമ്പോൾ).
- ഈ ടൂളിന് ഹെഡറുകൾ വളരെ ദൈർഘ്യമേറിയതാണ്. ബന്ധമില്ലാത്തതോ ആവർത്തിക്കുന്നതോ ആയ മൂല്യങ്ങൾ നീക്കം ചെയ്യുക. (ഹെഡറുകൾ 100,000 പ്രതീകങ്ങളിൽ കൂടുതലാകുമ്പോൾ).
- ഈ ഉപകരണത്തിന് ശരീരത്തിന് നീളം കൂടുതലാണ്. ഇത് 1,000,000 പ്രതീകങ്ങളിൽ താഴെയായി സൂക്ഷിക്കുക. (ബോഡി പരിധി കവിയുമ്പോൾ).
- വളരെയധികം തലക്കെട്ട് ലൈനുകൾ ഉണ്ട്. അഭ്യർത്ഥന 200 തലക്കെട്ടുകളോ അതിൽ കുറവോ ആയി നിലനിർത്തുക. (ഹെഡർ വരികൾ 200-ൽ കൂടുതലാകുമ്പോൾ).
‹line›: ഹെഡർ ലൈൻ അസാധുവാണ്. പേര് ഉപയോഗിക്കുക: മൂല്യം. (ഹെഡർ ഫോർമാറ്റ് തെറ്റാകുമ്പോൾ).- ശരീരം JSON പോലെ കാണപ്പെടുന്നു, പക്ഷേ പാഴ്സ് ചെയ്യാൻ കഴിഞ്ഞില്ല. (തെറ്റായ JSON ഘടന നൽകുമ്പോൾ).
- ഫോം ബോഡിയിൽ അപൂർണ്ണമായ ഒരു ശതമാനം എസ്കേപ്പ് അടങ്ങിയിരിക്കുന്നു. (URL-encoded ഫോമിൽ തെറ്റായ എസ്കേപ്പ് ക്യാരക്ടർ വരുമ്പോൾ).
പതിവായി ചോദിക്കുന്ന ചോദ്യങ്ങൾ (FAQ)
ഈ പേജിന് ഒരു തത്സമയ webhook കോൾബാക്ക് ലഭിക്കുമോ?
ഇല്ല. പരിശോധനയ്ക്കായി ക്യാപ്ചർ ചെയ്ത ഒരു അഭ്യർത്ഥന ഇവിടെ ഒട്ടിക്കുക. പേജ് ഒരു പൊതു എൻഡ്പോയിൻ്റ് സൃഷ്ടിക്കുകയോ കോൾബാക്കുകൾ സ്വീകരിക്കുകയോ സൃഷ്ടിച്ച ടെസ്റ്റ് അഭ്യർത്ഥന അയയ്ക്കുകയോ ചെയ്യുന്നില്ല.
ഏത് webhook ബോഡി ഫോർമാറ്റുകളാണ് എനിക്ക് പരിശോധിക്കാൻ കഴിയുക?
JSON, URL-എൻകോഡ് ചെയ്ത ഫോം ബോഡികൾ കണ്ടെത്തി ഫോർമാറ്റ് ചെയ്യുന്നു. മറ്റ് ബോഡികൾ പ്ലെയിൻ ടെക്സ്റ്റായി തുടരുന്നതിനാൽ ടൂൾ XML, മൾട്ടിപാർട്ട് അല്ലെങ്കിൽ ബൈനറി ഉള്ളടക്കം ഊഹിക്കില്ല.
ഒരു സിഗ്നേച്ചർ ഫീൽഡ് കണ്ടെത്തുന്നത് അഭ്യർത്ഥന ആധികാരികമാണെന്ന് തെളിയിക്കുമോ?
നമ്പർ. ഉപകരണം സിഗ്നേച്ചറും അനുബന്ധ ടൈംസ്റ്റാമ്പ് തലക്കെട്ടുകളും മാത്രം പ്രതലമാക്കുന്നു. യഥാർത്ഥ സ്ഥിരീകരണത്തിന് അയച്ചയാളുടെ കൃത്യമായ ഒപ്പിടൽ നിയമങ്ങൾ, രഹസ്യ അല്ലെങ്കിൽ പൊതു കീ, യഥാർത്ഥ അഭ്യർത്ഥന ബൈറ്റുകൾ എന്നിവ ആവശ്യമാണ്.
JSON ബോഡി ഫോർമാറ്റ് ചെയ്യുമ്പോൾ അതിൻ്റെ യഥാർത്ഥ ഘടന നിലനിൽക്കുമോ?
JSON ബോഡികൾ JSON.parse ഉപയോഗിച്ചാണ് പാഴ്സ് ചെയ്യുന്നത്. തുടർന്ന് അവ പുനഃക്രമീകരിക്കുന്നതിനാൽ, യഥാർത്ഥ സ്പേസുകളും ഫീൽഡുകളുടെ ക്രമീകരണവും നഷ്ടപ്പെടുന്നതാണ്.