Webhook ਬੇਨਤੀਆਂ ਦੀ ਬਣਤਰ ਨੂੰ ਸਮਝਣਾ
ਵੈਬਹੁੱਕ ਬੇਨਤੀਆਂ ਅਸਲ-ਸਮੇਂ ਦੇ ਡੇਟਾ ਦੇ ਆਦਾਨ-ਪ੍ਰਦਾਨ ਲਈ ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਸਾਧਨ ਹਨ। ਜਦੋਂ ਕੋਈ ਬਾਹਰੀ ਸਿਸਟਮ ਕਿਸੇ ਘਟਨਾ ਦੇ ਵਾਪਰਨ 'ਤੇ ਤੁਹਾਡੇ ਸਰਵਰ ਨੂੰ ਸੂਚਿਤ ਕਰਦਾ ਹੈ, ਤਾਂ ਉਹ ਇੱਕ HTTP ਬੇਨਤੀ ਭੇਜਦਾ ਹੈ। ਇਸ ਬੇਨਤੀ ਦੀ ਬਣਤਰ ਨੂੰ ਸਮਝਣਾ, ਖਾਸ ਕਰਕੇ ਇਸਦੇ ਸਿਰਲੇਖ (headers) ਅਤੇ ਬਾਡੀ (body) ਦੇ ਫਾਰਮੈਟ ਨੂੰ ਦੇਖਣਾ, ਏਕੀਕਰਣ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਚਲਾਉਣ ਲਈ ਬਹੁਤ ਜ਼ਰੂਰੀ ਹੈ।
ਇਹ ਸਾਧਨ ਤੁਹਾਨੂੰ ਕਿਸੇ ਵੀ ਕੈਪਚਰ ਕੀਤੀ ਗਈ ਵੈਬਹੁੱਕ ਬੇਨਤੀ ਦੇ ਢੰਗ (method), ਸਿਰਲੇਖਾਂ ਅਤੇ ਬਾਡੀ ਨੂੰ ਪੇਸਟ ਕਰਕੇ ਉਸਦੀ ਬਣਤਰ ਦਾ ਬਾਰੀਕੀ ਨਾਲ ਨਿਰੀਖਣ ਕਰਨ ਦੀ ਸਹੂਲਤ ਦਿੰਦਾ ਹੈ। ਇਸ ਨਾਲ ਤੁਸੀਂ ਇਹ ਆਸਾਨੀ ਨਾਲ ਸਮਝ ਸਕਦੇ ਹੋ ਕਿ ਭੇਜਿਆ ਗਿਆ ਡੇਟਾ ਕਿਸ ਰੂਪ ਵਿੱਚ ਹੈ ਅਤੇ ਕੀ ਉਸ ਵਿੱਚ ਕੋਈ ਸੁਰੱਖਿਆ ਦਸਤਖਤ ਜਾਂ ਟਾਈਮਸਟੈਂਪ ਮੌਜੂਦ ਹਨ।
ਇਨਪੁਟ ਮਾਪਦੰਡ ਅਤੇ ਸੀਮਾਵਾਂ
ਇਸ ਟੂਲ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ ਹੇਠਾਂ ਦਿੱਤੇ ਤਿੰਨ ਮੁੱਖ ਇਨਪੁਟ ਪ੍ਰਦਾਨ ਕਰਨੇ ਪੈਂਦੇ ਹਨ, ਜਿਨ੍ਹਾਂ ਦੀਆਂ ਕੁਝ ਤਕਨੀਕੀ ਸੀਮਾਵਾਂ ਨਿਰਧਾਰਤ ਹਨ:
- ਢੰਗ: ਤੁਸੀਂ ਇੱਕ ਡ੍ਰੌਪਡਾਉਨ ਸੂਚੀ ਵਿੱਚੋਂ ਢੁਕਵਾਂ HTTP ਵਿਧੀ ਚੁਣ ਸਕਦੇ ਹੋ, ਜਿਸ ਵਿੱਚ POST, PUT, PATCH, GET, ਅਤੇ DELETE ਸ਼ਾਮਲ ਹਨ।
- ਸਿਰਲੇਖ: ਤੁਹਾਨੂੰ ਪ੍ਰਤੀ ਲਾਈਨ ਇੱਕ ਸਿਰਲੇਖ "Name: value" ਦੇ ਫਾਰਮੈਟ ਵਿੱਚ ਦਰਜ ਕਰਨਾ ਹੋਵੇਗਾ। ਇਸਦੀ ਅਧਿਕਤਮ ਸੀਮਾ 200 ਗੈਰ-ਖਾਲੀ ਸਿਰਲੇਖ ਲਾਈਨਾਂ ਅਤੇ ਕੁੱਲ 100,000 ਅੱਖਰਾਂ ਦੀ ਹੈ।
- ਸਰੀਰ (Body): ਕਿਸੇ ਵੀ ਸਰਵਰ-ਸਾਈਡ ਪਾਰਸਿੰਗ ਤੋਂ ਪਹਿਲਾਂ ਕੈਪਚਰ ਕੀਤੀ ਗਈ ਸਹੀ ਕੱਚੀ ਬਾਡੀ (raw body) ਨੂੰ ਇੱਥੇ ਪੇਸਟ ਕਰਨਾ ਹੁੰਦਾ ਹੈ। ਇਸਦੀ ਅਧਿਕਤਮ ਸੀਮਾ 1,000,000 ਅੱਖਰਾਂ ਦੀ ਹੈ।
ਇਹਨਾਂ ਸੀਮਾਵਾਂ ਦੀ ਉਲੰਘਣਾ ਹੋਣ 'ਤੇ ਟੂਲ ਦੁਆਰਾ ਖਾਸ ਤਰੁੱਟੀ ਸੁਨੇਹੇ ਦਿਖਾਏ ਜਾਂਦੇ ਹਨ, ਜਿਵੇਂ ਕਿ ਸਿਰਲੇਖ ਬਹੁਤ ਲੰਬੇ ਹੋਣ 'ਤੇ "ਸਿਰਲੇਖ ਇਸ ਸਾਧਨ ਲਈ ਬਹੁਤ ਲੰਬੇ ਹਨ। ਗੈਰ-ਸੰਬੰਧਿਤ ਜਾਂ ਦੁਹਰਾਏ ਗਏ ਮੁੱਲਾਂ ਨੂੰ ਹਟਾਓ।" ਜਾਂ ਲਾਈਨਾਂ ਦੀ ਗਿਣਤੀ ਵਧਣ 'ਤੇ "ਇੱਥੇ ਬਹੁਤ ਸਾਰੀਆਂ ਸਿਰਲੇਖ ਲਾਈਨਾਂ ਹਨ। ਬੇਨਤੀ ਨੂੰ 200 ਸਿਰਲੇਖਾਂ ਜਾਂ ਘੱਟ ਤੱਕ ਰੱਖੋ।"
ਆਉਟਪੁੱਟ ਅਤੇ ਵਿਸ਼ਲੇਸ਼ਣ ਦੇ ਨਤੀਜੇ
ਜਦੋਂ ਤੁਸੀਂ ਬੇਨਤੀ ਦੀ ਜਾਂਚ ਕਰਦੇ ਹੋ, ਤਾਂ ਟੂਲ ਹੇਠ ਲਿਖੇ ਨਤੀਜੇ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ:
- ਫਾਰਮੈਟ ਕੀਤੀ ਬਾਡੀ: ਜੇਕਰ ਤੁਹਾਡੀ ਬੇਨਤੀ ਦੀ ਬਾਡੀ JSON ਜਾਂ URL-encoded ਫਾਰਮੈਟ ਵਿੱਚ ਹੈ, ਤਾਂ ਇਹ ਉਸਨੂੰ ਸੁੰਦਰ ਅਤੇ ਪੜ੍ਹਨਯੋਗ ਰੂਪ ਵਿੱਚ ਪੇਸ਼ ਕਰਦਾ ਹੈ। ਜੇਕਰ ਬਾਡੀ ਖਾਲੀ ਹੈ, ਤਾਂ ਇਹ "(ਖਾਲੀ ਸਰੀਰ)" ਦਿਖਾਉਂਦਾ ਹੈ।
- ਦਸਤਖਤ ਖੇਤਰ: ਇਹ ਬੇਨਤੀ ਦੇ ਸਿਰਲੇਖਾਂ ਵਿੱਚੋਂ ਆਮ ਸੁਰੱਖਿਆ ਦਸਤਖਤ (signatures) ਜਾਂ ਟਾਈਮਸਟੈਂਪ ਸਿਰਲੇਖਾਂ ਦੀ ਪਛਾਣ ਕਰਕੇ ਉਹਨਾਂ ਦੀ ਸੂਚੀ ਬਣਾਉਂਦਾ ਹੈ। ਜੇਕਰ ਅਜਿਹਾ ਕੋਈ ਸਿਰਲੇਖ ਨਹੀਂ ਮਿਲਦਾ, ਤਾਂ "ਕੋਈ ਆਮ ਦਸਤਖਤ ਜਾਂ ਵੈਬਹੁੱਕ ਟਾਈਮਸਟੈਂਪ ਸਿਰਲੇਖ ਨਹੀਂ ਮਿਲਿਆ।" ਪ੍ਰਦਰਸ਼ਿਤ ਹੁੰਦਾ ਹੈ.
- ਸਥਾਨਕ cURL ਟੈਸਟ: ਸਥਾਨਕ ਵਾਤਾਵਰਣ ਵਿੱਚ ਟੈਸਟਿੰਗ ਨੂੰ ਆਸਾਨ ਬਣਾਉਣ ਲਈ, ਇਹ ਟੂਲ ਇੱਕ ਸ਼ੈੱਲ-ਕੋਟਿਡ cURL ਕਮਾਂਡ ਤਿਆਰ ਕਰਦਾ ਹੈ ਜੋ ਸਿੱਧਾ
http://localhost:3000/webhooksਨੂੰ ਨਿਸ਼ਾਨਾ ਬਣਾਉਂਦੀ ਹੈ।
ਪ੍ਰੋਸੈਸਿੰਗ ਨਿਯਮ ਅਤੇ ਵਿਸ਼ੇਸ਼ ਸਥਿਤੀਆਂ
ਇਹ ਟੂਲ ਡੇਟਾ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਦੇ ਸਮੇਂ ਕੁਝ ਖਾਸ ਨਿਯਮਾਂ ਦੀ ਪਾਲਣਾ ਕਰਦਾ ਹੈ:
- JSON ਪਾਰਸਿੰਗ: JSON ਬਾਡੀਜ਼ ਨੂੰ
JSON.parseਦੀ ਵਰਤੋਂ ਕਰਕੇ ਪਾਰਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਫਿਰ ਮੁੜ-ਵਿਵਸਥਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਇਸ ਪ੍ਰਕਿਰਿਆ ਦੌਰਾਨ ਅਸਲ ਵ੍ਹਾਈਟਸਪੇਸ (whitespace) ਅਤੇ ਫੀਲਡਾਂ ਦੀ ਮੂਲ ਤਰਤੀਬ ਬਦਲ ਜਾਂਦੀ ਹੈ। ਜੇਕਰ JSON ਵਿੱਚ ਕੋਈ ਤਰੁੱਟੀ ਹੋਵੇ, ਤਾਂ "ਸਰੀਰ JSON ਵਰਗਾ ਦਿਸਦਾ ਹੈ ਪਰ ਪਾਰਸ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।" ਸੁਨੇਹਾ ਮਿਲਦਾ ਹੈ। - URL-encoded ਫਾਰਮੈਟ: ਜੇਕਰ ਫਾਰਮ ਬਾਡੀ ਵਿੱਚ ਕੋਈ ਅਧੂਰਾ ਪ੍ਰਤੀਸ਼ਤ ਚਿੰਨ੍ਹ ਹੋਵੇ, ਤਾਂ ਇਹ "ਫਾਰਮ ਬਾਡੀ ਵਿੱਚ ਇੱਕ ਅਧੂਰਾ ਪ੍ਰਤੀਸ਼ਤ ਬਚਣਾ ਸ਼ਾਮਲ ਹੈ।" ਦੀ ਤਰੁੱਟੀ ਦਿੰਦਾ ਹੈ।
- ਦਸਤਖਤਾਂ ਦੀ ਪਛਾਣ: ਟੂਲ ਸਿਰਫ਼ ਨਾਮ ਦੇ ਪੈਟਰਨਾਂ ਜਿਵੇਂ ਕਿ
signature,hmac,digestਅਤੇ ਆਮ ਟਾਈਮਸਟੈਂਪ ਨਾਮਾਂ ਦੇ ਅਧਾਰ 'ਤੇ ਸਿਰਲੇਖਾਂ ਦੀ ਪਛਾਣ ਕਰਦਾ ਹੈ। ਇਹ ਕੋਈ HMAC ਗਣਨਾ, ਐਲਗੋਰਿਦਮ ਦੀ ਜਾਂਚ, ਜਾਂ ਪ੍ਰਦਾਤਾ-ਵਿਸ਼ੇਸ਼ ਤਸਦੀਕ ਨਹੀਂ ਕਰਦਾ।
ਡੇਟਾ ਦੀ ਗੋਪਨੀਯਤਾ
ਤੁਹਾਡੀ ਪੇਸਟ ਕੀਤੀ ਬੇਨਤੀ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਰਹਿੰਦੀ ਹੈ। BroBroGo ਇਸਨੂੰ ਅੱਪਲੋਡ ਜਾਂ ਸੇਵ ਨਹੀਂ ਕਰਦਾ ਹੈ। ਸਾਰੀ ਪ੍ਰਕਿਰਿਆ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਤੁਹਾਡੇ ਆਪਣੇ ਸਿਸਟਮ ਦੇ ਬ੍ਰਾਊਜ਼ਰ ਦੇ ਅੰਦਰ ਹੀ ਸੰਪੰਨ ਹੁੰਦੀ ਹੈ।
ਅਕਸਰ ਪੁੱਛੇ ਜਾਣ ਵਾਲੇ ਸਵਾਲ (FAQ)
ਕੀ ਇਹ ਪੰਨਾ ਲਾਈਵ ਵੈਬਹੁੱਕ ਕਾਲਬੈਕ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦਾ ਹੈ?
ਨਹੀਂ। ਜਾਂਚ ਲਈ ਇੱਥੇ ਇੱਕ ਕੈਪਚਰ ਕੀਤੀ ਬੇਨਤੀ ਪੇਸਟ ਕਰੋ। ਪੰਨਾ ਜਨਤਕ ਅੰਤਮ ਬਿੰਦੂ ਨਹੀਂ ਬਣਾਉਂਦਾ, ਕਾਲਬੈਕ ਪ੍ਰਾਪਤ ਨਹੀਂ ਕਰਦਾ ਜਾਂ ਤਿਆਰ ਕੀਤੀ ਟੈਸਟ ਬੇਨਤੀ ਨਹੀਂ ਭੇਜਦਾ।
ਮੈਂ ਕਿਹੜੇ ਵੈਬਹੁੱਕ ਬਾਡੀ ਫਾਰਮੈਟਾਂ ਦੀ ਜਾਂਚ ਕਰ ਸਕਦਾ/ਸਕਦੀ ਹਾਂ?
JSON ਅਤੇ URL-ਏਨਕੋਡ ਕੀਤੇ ਫਾਰਮ ਬਾਡੀਜ਼ ਖੋਜੇ ਗਏ ਹਨ ਅਤੇ ਫਾਰਮੈਟ ਕੀਤੇ ਗਏ ਹਨ। ਹੋਰ ਬਾਡੀ ਸਾਦੇ ਟੈਕਸਟ ਦੇ ਤੌਰ 'ਤੇ ਰਹਿੰਦੀਆਂ ਹਨ ਤਾਂ ਜੋ ਟੂਲ XML, ਮਲਟੀਪਾਰਟ ਜਾਂ ਬਾਈਨਰੀ ਸਮੱਗਰੀ ਦਾ ਅੰਦਾਜ਼ਾ ਨਾ ਲਗਾ ਸਕੇ।
ਕੀ ਦਸਤਖਤ ਖੇਤਰ ਲੱਭਣਾ ਇਹ ਸਾਬਤ ਕਰਦਾ ਹੈ ਕਿ ਬੇਨਤੀ ਪ੍ਰਮਾਣਿਕ ਹੈ?
ਨਹੀਂ। ਟੂਲ ਸਿਰਫ਼ ਦਸਤਖਤ ਅਤੇ ਸੰਬੰਧਿਤ ਟਾਈਮਸਟੈਂਪ ਸਿਰਲੇਖਾਂ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ। ਅਸਲ ਤਸਦੀਕ ਲਈ ਭੇਜਣ ਵਾਲੇ ਦੇ ਸਹੀ ਦਸਤਖਤ ਨਿਯਮਾਂ, ਗੁਪਤ ਜਾਂ ਜਨਤਕ ਕੁੰਜੀ, ਅਤੇ ਅਸਲ ਬੇਨਤੀ ਬਾਈਟਾਂ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।