22 рдЕрдЧре░ 2025┬╖7 рдорд┐рдирдЯ рдкрдврд╝рдиреЗ рдореЗрдВ

рд╡реЗрдмрд╣реБрдХ рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди рдбрд┐рдмрдЧ рдХрд░реЗрдВ: рд╕рд┐рдЧреНрдиреЗрдЪрд░, рд░рд┐рдЯреНрд░рд╛рдИ, рд░реАрдкреНрд▓реЗ, рдЗрд╡реЗрдВрдЯ рд▓реЙрдЧ

рд╕рд┐рдЧреНрдиреЗрдЪрд░ рдорд╛рдирдХреАрдХрд░рдг, рд╕реБрд░рдХреНрд╖рд┐рдд рд░рд┐рдЯреНрд░рд╛рдИ рд╣реИрдВрдбрд▓рд┐рдВрдЧ, рд░реАрдкреНрд▓реЗ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рдФрд░ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рдЗрд╡реЗрдВрдЯ рд▓реЙрдЧ рд░рдЦрдХрд░ рд╡реЗрдмрд╣реБрдХ рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди рдХреЛ рдбрд┐рдмрдЧ рдХрд░рдирд╛ рд╕реАрдЦреЗрдВред

рд╡реЗрдмрд╣реБрдХ рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди рдбрд┐рдмрдЧ рдХрд░реЗрдВ: рд╕рд┐рдЧреНрдиреЗрдЪрд░, рд░рд┐рдЯреНрд░рд╛рдИ, рд░реАрдкреНрд▓реЗ, рдЗрд╡реЗрдВрдЯ рд▓реЙрдЧ

рдХреНрдпреЛрдВ рд╡реЗрдмрд╣реБрдХ рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди рдХрд╛рд▓реЗ рдмрдХреНрд╕реЗ рдмрди рдЬрд╛рддреЗ рд╣реИрдВ

рд╡реЗрдмрд╣реБрдХ рдЕрд╕рд▓ рдореЗрдВ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдПрдХ рдРрдк рдХрд┐рд╕реА рдШрдЯрдирд╛ рдкрд░ рдЖрдкрдХреЗ рдРрдк рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред рдПрдХ рдкреЗрдореЗрдВрдЯ рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рдХрд╣рддрд╛ рд╣реИ тАЬpayment succeededтАЭ, рдПрдХ рдлреЙрд░реНрдо рдЯреВрд▓ рдХрд╣рддрд╛ рд╣реИ тАЬnew submissionтАЭ, рдпрд╛ рдПрдХ CRM рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ тАЬdeal updatedтАЭуАВ рдпрд╣ рд╕рд░рд▓ рд▓рдЧрддрд╛ рд╣реИ тАФ рдЬрдм рддрдХ рдХреБрдЫ рдЯреВрдЯрддрд╛ рдирд╣реАрдВ рдФрд░ рдЖрдкрдХреЛ рдПрд╣рд╕рд╛рд╕ рдирд╣реАрдВ рд╣реЛрддрд╛ рдХрд┐ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕реНрдХреНрд░реАрди рдирд╣реАрдВ рд╣реИ, рдХреЛрдИ рд╕рд╛рдлрд╝ рд╣рд┐рд╕реНрдЯреНрд░реА рдирд╣реАрдВ рд╣реИ, рдФрд░ рд░реАрдкреНрд▓реЗ рдХрд░рдиреЗ рдХрд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред

рдЗрд╕реА рд╡рдЬрд╣ рд╕реЗ рд╡реЗрдмрд╣реБрдХ рд╕рдорд╕реНрдпрд╛рдПрдБ рдЗрддрдиреА рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рд╣реЛрддреА рд╣реИрдВред рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдЖрддрд╛ рд╣реИ (рдпрд╛ рдирд╣реАрдВ рдЖрддрд╛)ред рдЖрдкрдХрд╛ рд╕рд┐рд╕реНрдЯрдо рдЙрд╕реЗ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рддрд╛ рд╣реИ (рдпрд╛ рдлрд╝реЗрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ)ред рдкрд╣рд▓рд╛ рд╕рдВрдХреЗрдд рдЕрдХреНрд╕рд░ рдПрдХ рдзреБрдВрдзрд▓рд╛ рдЯрд┐рдХрдЯ рд╣реЛрддрд╛ рд╣реИ рдЬреИрд╕реЗ тАЬрдЧреНрд░рд╛рд╣рдХ рдЪреЗрдХрдЖрдЙрдЯ рдирд╣реАрдВ рдХрд░ рдкрд╛ рд░рд╣реЗтАЭ рдпрд╛ тАЬрд╕реНрдЯреЗрдЯрд╕ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рд╣реБрдЖтАЭред рдЕрдЧрд░ рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рд░рд┐рдЯреНрд░рд╛рдИ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдорд┐рд▓ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдЧрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдкреЗaload рдлреАрд▓реНрдб рдмрджрд▓ рджреА, рддреЛ рдЖрдкрдХрд╛ рдкрд╛рд░реНрд╕рд░ рдХреБрдЫ рдЦрд╛рддреЗ рдХреЗ рд▓рд┐рдП рд╣реА рдЯреВрдЯ рд╕рдХрддрд╛ рд╣реИред

рд╕рд╛рдорд╛рдиреНрдп рд▓рдХреНрд╖рдг:

  • тАЬрдорд┐рд╕рд┐рдВрдЧтАЭ рдЗрд╡реЗрдВрдЯреНрд╕ рдЬрд╣рд╛рдБ рдЖрдк рдирд╣реАрдВ рдмрддрд╛ рдкрд╛рддреЗ рдХрд┐ рд╡реЗ рдХрднреА рднреЗрдЬреЗ рд╣реА рдирд╣реАрдВ рдЧрдП рдереЗ рдпрд╛ рдмрд╕ рдкреНрд░реЛрд╕реЗрд╕ рдирд╣реАрдВ рд╣реБрдП
  • рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдбрд┐рд▓реАрд╡рд░рд┐рдпрд╛рдБ рдЬреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╕рд╛рдЗрдб-рдЗрдлреЗрдХреНрдЯ рдмрдирд╛рддреА рд╣реИрдВ (рджреЛ рдЗрдирд╡реЙрдЗрд╕, рджреЛ рдИрдореЗрд▓, рджреЛ рд╕реНрдЯреЗрдЯрд╕ рдЪреЗрдВрдЬ)
  • рдкреЗaload рдореЗрдВ рдмрджрд▓рд╛рд╡ (рдирдП рдлреАрд▓реНрдб, рдЧрд╛рдпрдм рдлреАрд▓реНрдб, рдЧрд▓рдд рдЯрд╛рдЗрдк) рдЬреЛ рдХреЗрд╡рд▓ рдХрднреА-рдХрднрд╛рд░ рдлреЗрд▓ рд╣реЛрддреЗ рд╣реИрдВ
  • рд╕рд┐рдЧреНрдиреЗрдЪрд░ рдЪреЗрдХреНрд╕ рдЬреЛ рдПрдХ рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рдореЗрдВ рдкрд╛рд╕ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рджреВрд╕рд░реЗ рдореЗрдВ рдлреЗрд▓

рдПрдХ рдбрд┐рдмрдЧ-рдпреЛрдЧреНрдп рд╡реЗрдмрд╣реБрдХ рд╕реЗрдЯрдЕрдк рдЕрдиреБрдорд╛рди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ред рдпрд╣ рдЯреНрд░реЗрд╕реЗрдмрд▓ рд╣реЛрддрд╛ рд╣реИ (рдЖрдк рд╣рд░ рдбрд┐рд▓реАрд╡рд░реА рдФрд░ рдЙрд╕рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рд╣реБрдЖ, рдвреВрдБрдв рд╕рдХрддреЗ рд╣реИрдВ), рд░рд┐рдкреАрдЯреЗрдмрд▓ рд╣реЛрддрд╛ рд╣реИ (рдЖрдк рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдкрд┐рдЫрд▓реЗ рдЗрд╡реЗрдВрдЯ рдХреЛ рд░реАрдкреНрд▓реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ), рдФрд░ рд╡реЗрд░рд┐рдлрд╛рдпрдмрд▓ рд╣реЛрддрд╛ рд╣реИ (рдЖрдк рдСрдереЗрдВрдЯрд┐рд╕рд┐рдЯреА рдФрд░ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдкрд░рд┐рдгрд╛рдо рд╕рд╛рдмрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред рдЬрдм рдХреЛрдИ рдкреВрдЫреЗ тАЬрдЗрд╕ рдЗрд╡реЗрдВрдЯ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рд╣реБрдЖ?тАЭ, рддреЛ рдЖрдкрдХреЛ рдорд┐рдирдЯреЛрдВ рдореЗрдВ рд╕рдмреВрдд рдХреЗ рд╕рд╛рде рдЬрд╡рд╛рдм рджреЗ рд╕рдХрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЕрдЧрд░ рдЖрдк AppMaster рдЬреИрд╕реЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдРрдк рдмрдирд╛рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдорд╛рдЗрдВрдбрд╕реЗрдЯ рдФрд░ рднреА рдЬрд╝реНрдпрд╛рджрд╛ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред рд╡рд┐рдЬрд╝реБрдЕрд▓ рд▓реЙрдЬрд┐рдХ рдЬрд▓реНрджреА рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдлрд┐рд░ рднреА рд╕реНрдкрд╖реНрдЯ рдЗрд╡реЗрдВрдЯ рд╣рд┐рд╕реНрдЯреНрд░реА рдФрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реАрдкреНрд▓реЗ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдмрд╛рд╣рд░реА рд╕рд┐рд╕реНрдЯрдо рдХрд╛рд▓реЗ рдмрдХреНрд╕реЗ рди рдмрдиреЗрдВред

рд╡реЗрдмрд╣реБрдХреНрд╕ рдХреЛ рдСрдмреНрдЬрд╝рд░реНрд╡реЗрдмрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рдбреЗрдЯрд╛

рдЬрдм рдЖрдк рджрдмрд╛рд╡ рдореЗрдВ рдбрд┐рдмрдЧ рдХрд░ рд░рд╣реЗ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рд╣рд░ рдмрд╛рд░ рдЖрдкрдХреЛ рд╡рд╣реА рдмреЗрд╕рд┐рдХреНрд╕ рдЪрд╛рд╣рд┐рдП: рдПрдХ рд░рд┐рдХреЙрд░реНрдб рдЬрд┐рд╕ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рдЬрд┐рд╕реЗ рдЦреЛрдЬрд╛ рдЬрд╛ рд╕рдХреЗ, рдФрд░ рдЬрд┐рд╕реЗ рд░реАрдкреНрд▓реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рд╣рд░ рд╡реЗрдмрд╣реБрдХ рдПрдХ рдЕрд▓рдЧ рдкрд╣реЗрд▓реА рдмрди рдЬрд╛рддрд╛ рд╣реИред

рдирд┐рд░реНрдгрдп рд▓реЗрдВ рдХрд┐ рдЖрдкрдХреА рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХ рд╕рд┐рдВрдЧрд▓ рд╡реЗрдмрд╣реБрдХ тАЬрдЗрд╡реЗрдВрдЯтАЭ рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИред рдЗрд╕реЗ рд░рд╕реАрдж рдХреА рддрд░рд╣ рдЯреНрд░реАрдЯ рдХрд░реЗрдВ: рдПрдХ рдЗрдирдХрдорд┐рдВрдЧ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдмрд░рд╛рдмрд░ рдПрдХ рд╕реНрдЯреЛрд░реНрдб рдЗрд╡реЗрдВрдЯ, рднрд▓реЗ рд╣реА рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдмрд╛рдж рдореЗрдВ рд╣реЛред

рдХрдо рд╕реЗ рдХрдо, рдпреЗ рд╕реЗрд╡ рдХрд░реЗрдВ:

  • Event ID: рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рдХрд╛ ID рдЙрдкрд▓рдмреНрдз рд╣реЛ рддреЛ рд╡рд╣реА рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВ; рд╡рд░рдирд╛ рдЦреБрдж рдЬрдирд░реЗрдЯ рдХрд░реЗрдВред
  • Trusted receipt data: рдХрдм рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдФрд░ рдХрд┐рд╕рдиреЗ рднреЗрдЬрд╛ (рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рдХрд╛ рдирд╛рдо, рдПрдВрдбрдкреЙрдЗрдВрдЯ, рдЕрдЧрд░ рдЖрдк IP рд░рдЦрддреЗ рд╣реИрдВ рддреЛ рд╡рд╣)ред received_at рдХреЛ payload рдХреЗ рдЕрдВрджрд░ timestamps рд╕реЗ рдЕрд▓рдЧ рд░рдЦреЗрдВред
  • Processing status рд╕рд╛рде рдореЗрдВ рдХрд╛рд░рдг: рдПрдХ рдЫреЛрдЯреЗ рд╕реЗрдЯ рдХрд╛ рд╕реНрдЯреЗрдЯрд╕ рд░рдЦреЗрдВ (received, verified, handled, failed) рдФрд░ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд failure reason рд╕реНрдЯреЛрд░ рдХрд░реЗрдВред
  • Raw request рдФрд░ parsed view: raw body рдФрд░ headers рдареАрдХ рдЙрд╕реА рддрд░рд╣ рд╕рд╣реЗрдЬреЗрдВ рдЬреИрд╕рд╛ рдорд┐рд▓реЗ рд╣реИрдВ (рдСрдбрд┐рдЯ рдФрд░ рд╕рд┐рдЧреНрдиреЗрдЪрд░ рдЪреЗрдХ рдХреЗ рд▓рд┐рдП), рд╕рд╛рде рд╣реА рд╕рд░реНрдЪ рдФрд░ рд╕рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╛рд░реНрд╕ рдХреА рд╣реБрдИ JSON view рд░рдЦреЗрдВред
  • Correlation keys: рдПрдХ рдпрд╛ рджреЛ рдлреАрд▓реНрдб рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдЦреЛрдЬ рд╕рдХреЗрдВ (order_id, invoice_id, user_id, ticket_id)ред

рдЙрджрд╛рд╣рд░рдг: рдПрдХ рдкреЗрдореЗрдВрдЯ рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ тАЬpayment_succeededтАЭ рднреЗрдЬрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рдХрд╕реНрдЯрдорд░ рдХрд╛ рд░рд┐рдХреЙрд░реНрдб рдЕрднреА рднреА unpaid рджрд┐рдЦрддрд╛ рд╣реИред рдЕрдЧрд░ рдЖрдкрдХрд╛ рдЗрд╡реЗрдВрдЯ рд▓реЙрдЧ raw request рд╢рд╛рдорд┐рд▓ рдХрд░рддрд╛ рд╣реИ, рдЖрдк рд╕рд┐рдЧреНрдиреЗрдЪрд░ рдХрдиреНрдлрд░реНрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рд╣реА рдЕрдорд╛рдЙрдВрдЯ рд╡ рдХрд░реЗрдВрд╕реА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдЧрд░ рдЙрд╕рдореЗрдВ invoice_id рднреА рд╣реИ, рддреЛ рд╕рдкреЛрд░реНрдЯ рдЗрд╡реЗрдВрдЯ рдХреЛ invoice рд╕реЗ рдвреВрдВрдв рд╕рдХрддрд╛ рд╣реИ, рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ тАЬfailedтАЭ рдореЗрдВ рдЕрдЯрдХрд╛ рд╣реИ, рдФрд░ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдХреЛ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдПрд░рд░ рд░реАрдЬрди рджреЗ рд╕рдХрддрд╛ рд╣реИред

AppMaster рдореЗрдВ рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рддрд░реАрдХрд╛ рд╣реИ Data Designer рдореЗрдВ рдПрдХ тАЬWebhookEventтАЭ рдЯреЗрдмрд▓ рдФрд░ рдПрдХ Business Process рдЬреЛ рд╣рд░ рд╕реНрдЯреЗрдк рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░ рд╕реНрдЯреЗрдЯрд╕ рдЕрдкрдбреЗрдЯ рдХрд░реЗред рдЯреВрд▓ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛ тАФ рд╕реБрд╕рдВрдЧрдд рд░рд┐рдХреЙрд░реНрдб рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред

рдЗрд╡реЗрдВрдЯ рд╕реНрдЯреНрд░рдХреНрдЪрд░ рд╕реНрдЯреИрдгреНрдбрд░реНрдбрд╛рдЗрдЬрд╝ рдХрд░реЗрдВ рддрд╛рдХрд┐ рд▓реЙрдЧ рдкрдврд╝рдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдВ

рдЕрдЧрд░ рд╣рд░ рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рдЕрд▓рдЧ payload рднреЗрдЬреЗрдЧрд╛, рддреЛ рдЖрдкрдХреЗ рд▓реЙрдЧ рд╣рдореЗрд╢рд╛ рдЧрдВрджреЗ рд▓рдЧреЗрдВрдЧреЗред рдПрдХ рд╕реНрдерд┐рд░ рдЗрд╡реЗрдВрдЯ тАЬрдПрдирд╡реЗрд▓реЛрдктАЭ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЛ рддреЗрдЬ рдмрдирд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рд╣рд░ рдмрд╛рд░ рд╡рд╣реА рдлреАрд▓реНрдб рд╕реНрдХреИрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рднрд▓реЗ рд╣реА рдбреЗрдЯрд╛ рдмрджрд▓реЗред

рдПрдХ рдЙрдкрдпреЛрдЧреА рдПрдирд╡реЗрд▓реЛрдк рдЖрдо рддреМрд░ рдкрд░ рд╢рд╛рдорд┐рд▓ рдХрд░рддрд╛ рд╣реИ:

  • id (рдпреВрдирд┐рдХ рдЗрд╡реЗрдВрдЯ id)
  • type (рд╕реНрдкрд╖реНрдЯ рдЗрд╡реЗрдВрдЯ рдирд╛рдо рдЬреИрд╕реЗ invoice.paid)
  • created_at (рдЬрдм рдЗрд╡реЗрдВрдЯ рд╣реБрдЖ, рди рдХрд┐ рдЬрдм рдЖрдкрдиреЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛)
  • data (рдмрд┐рдЬрд╝рдиреЗрд╕ рдкреЗaload)
  • version (рдЬреИрд╕реЗ v1)

рдпрд╣рд╛рдБ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЬреИрд╕рд╛ рд╣реИ рд▓реЙрдЧ рдФрд░ рд╕реНрдЯреЛрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

{
  "id": "evt_01H...",
  "type": "payment.failed",
  "created_at": "2026-01-25T10:12:30Z",
  "version": "v1",
  "correlation": {"order_id": "A-10492", "customer_id": "C-883"},
  "data": {"amount": 4990, "currency": "USD", "reason": "insufficient_funds"}
}

рдПрдХ рдирд╛рдордХрд░рдг рд╢реИрд▓реА рдЪреБрдиреЗрдВ (snake_case рдпрд╛ camelCase) рдФрд░ рдЙрд╕рдХреЗ рд╕рд╛рде рдмрдиреЗ рд░рд╣реЗрдВред рдЯрд╛рдЗрдкреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рд╕рдЦреНрдд рд░рд╣реЗрдВ: amount рдХрднреА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдФрд░ рдХрднреА рдирдВрдмрд░ рди рдмрдирд╛рдПрдВред

рд╡рд░реНрдЬрдирд┐рдВрдЧ рдЖрдкрдХреА рд╕реБрд░рдХреНрд╖рд╛ рдЬрд╛рд▓ рд╣реИред рдЬрдм рдлреАрд▓реНрдб рдмрджрд▓рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдкрдбрд╝реЗ, рддреЛ v2 рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВ рдЬрдмрдХрд┐ v1 рдХреБрдЫ рд╕рдордп рддрдХ рдХрд╛рдо рдХрд░рддрд╛ рд░рд╣реЗред рдЗрд╕рд╕реЗ рд╕рдкреЛрд░реНрдЯ рдЗрд╢реНрдпреВрдЬрд╝ рдХрдо рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдЧреНрд░реЗрдбреНрд╕ рдбрд┐рдмрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИред

рд╕рд┐рдЧреНрдиреЗрдЪрд░ рд╕рддреНрдпрд╛рдкрди рдЬреЛ рд╕реБрд╕рдВрдЧрдд рдФрд░ рдЯреЗрд╕реНрдЯреЗрдмрд▓ рд╣реЛ

рд╕рд┐рдЧреНрдиреЗрдЪрд░ рдЖрдкрдХреЗ рд╡реЗрдмрд╣реБрдХ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХреЛ рдЦреБрд▓реЗ рджрд░рд╡рд╛рдЬрд╝реЗ рдмрдирдиреЗ рд╕реЗ рд░реЛрдХрддреЗ рд╣реИрдВред рдмрд┐рдирд╛ рд╕рддреНрдпрд╛рдкрди рдХреЗ, рдЬреЛ рдХреЛрдИ рднреА рдЖрдкрдХреА URL рдЬрд╛рди рд▓реЗ рд╡рд╣ рдлреЗрдХ рдЗрд╡реЗрдВрдЯ рднреЗрдЬ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЕрдЯреИрдХрд░ рдЕрд╕рд▓реА рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдореЗрдВ рдЫреЗрдбрд╝рдЫрд╛рдбрд╝ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рдмрд╕реЗ рдЖрдо рдкреИрдЯрд░реНрди рд╣реИ рдПрдХ shared secret рдХреЗ рд╕рд╛рде HMAC рд╕рд┐рдЧреНрдиреЗрдЪрд░ред рднреЗрдЬрдиреЗ рд╡рд╛рд▓рд╛ raw request body (рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛) рдпрд╛ canonical string рдХреЛ рд╕рд╛рдЗрди рдХрд░рддрд╛ рд╣реИред рдЖрдк HMAC рдлрд┐рд░ рд╕реЗ рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реИрдВред рдХрдИ рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рдЙрд╕ рдЪреАрдЬрд╝ рдореЗрдВ timestamp рд╢рд╛рдорд┐рд▓ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╡реЗ рд╕рд╛рдЗрди рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдХреИрдкреНрдЪрд░ рдХреА рдЧрдИ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдмрд╛рдж рдореЗрдВ рд░реАрдкреНрд▓реЗ рди рдХреА рдЬрд╛ рд╕рдХреЗред

рдПрдХ рд╕рддреНрдпрд╛рдкрди рд░реВрдЯреАрди рдмреЛрд░рд┐рдВрдЧ рдФрд░ рд╕реБрд╕рдВрдЧрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

  • рдмрд┐рд▓реНрдХреБрд▓ рд╡реИрд╕рд╛ рд╣реА raw body рдкрдврд╝реЗрдВ рдЬреИрд╕рд╛ рдорд┐рд▓рд╛ (JSON рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ)ред
  • рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдФрд░ рдЖрдкрдХреЗ рд╕реАрдХреНрд░реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рд┐рдЧреНрдиреЗрдЪрд░ рдлрд┐рд░ рд╕реЗ рдЧрдгрдирд╛ рдХрд░реЗрдВред
  • constant-time рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рддреБрд▓рдирд╛ рдХрд░реЗрдВред
  • рдкреБрд░рд╛рдиреЗ timestamps рдХреЛ reject рдХрд░реЗрдВ (рдЫреЛрдЯреЗ рд╡рд┐рдВрдбреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЬреИрд╕реЗ рдХреБрдЫ рдорд┐рдирдЯ)ред
  • рдмрдВрдж рддрд░реАрдХреЗ рд╕реЗ рдлреЗрд▓ рдХрд░реЗрдВ: рдЕрдЧрд░ рдХреБрдЫ рднреА рдЧрд╛рдпрдм рдпрд╛ malformed рд╣реИ, рддреЛ рдЙрд╕реЗ invalid рд╕рдордЭреЗрдВред

рдЗрд╕реЗ рдЯреЗрд╕реНрдЯреЗрдмрд▓ рдмрдирд╛рдЗрдПред рд╕рддреНрдпрд╛рдкрди рдХреЛ рдПрдХ рдЫреЛрдЯреЗ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд░рдЦреЗрдВ рдФрд░ known-good рд╡ known-bad рд╕реИрдореНрдкрд▓реНрд╕ рдХреЗ рд╕рд╛рде рдЯреЗрд╕реНрдЯ рд▓рд┐рдЦреЗрдВред рдПрдХ рдЖрдо рд╕рдордп рдмрд░реНрдмрд╛рдж рдХрд░рдиреЗ рд╡рд╛рд▓реА рдЧрд▓рддреА parsed JSON рд╕рд╛рдЗрди рдХрд░рдирд╛ рд╣реИ рдмрдЬрд╛рдп raw bytes рдХреЗред

рджрд┐рди рдПрдХ рд╕реЗ рд╣реА рд╕реАрдХреНрд░реЗрдЯ рд░реЛрдЯреЗрд╢рди рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдЗрдПред рдЯреНрд░рд╛рдВрдЬрд╝рд┐рд╢рди рдХреЗ рджреМрд░рд╛рди рджреЛ рд╕рдХреНрд░рд┐рдп рд╕реАрдХреНрд░реЗрдЯ рд╕рдкреЛрд░реНрдЯ рдХрд░реЗрдВ: рдкрд╣рд▓реЗ рдирдпрд╛ рдЖрдЬрд╝рдорд╛рдПрдВ, рдлрд┐рд░ рдкрд┐рдЫрд▓рд╛ред

рдЬрдм рд╕рддреНрдпрд╛рдкрди рдлреЗрд▓ рд╣реЛ, рддреЛ рдбрд┐рдмрдЧ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд▓реЙрдЧ рдХрд░реЗрдВ рдкрд░ рд╕реАрдХреНрд░реЗрдЯ рди рд▓реАрдХ рдХрд░реЗрдВ: рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рдирд╛рдо, timestamp (рдФрд░ рдХреНрдпрд╛ рдпрд╣ рдмрд╣реБрдд рдкреБрд░рд╛рдирд╛ рдерд╛), рд╕рд┐рдЧреНрдиреЗрдЪрд░ рд╡рд░реНрдЬрди, request/correlation ID, рдФрд░ raw body рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╣реИрд╢ (рдмреЙрдбреА рдЦреБрдж рдирд╣реАрдВ)ред

рд░рд┐рдЯреНрд░рд╛рдИ рдФрд░ рдЖрдЗрдбрдореНрдкреЛрдЯреЗрдиреНрд╕реА рддрд╛рдХрд┐ рд╕рд╛рдЗрдб-рдЗрдлреЗрдХреНрдЯреНрд╕ рдбреБрдкреНрд▓реАрдХреЗрдЯ рди рд╣реЛрдВ

Handle Retries Without Duplicates
Deduplicate by event ID and keep retries from creating double invoices, emails, or updates.
Build Now

рд░рд┐рдЯреНрд░рд╛рдИ рд╕рд╛рдорд╛рдиреНрдп рд╣реИрдВред рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рдЯрд╛рдЗрдордЖрдЙрдЯ, рдиреЗрдЯрд╡рд░реНрдХ рд╣рд┐рдЪрдХреА, рдпрд╛ 5xx рд░рд┐рд╕реНрдкреЙрдиреНрд╕ рдкрд░ рд░рд┐рдЯреНрд░рд╛рдИ рдХрд░рддреЗ рд╣реИрдВред рднрд▓реЗ рд╣реА рдЖрдкрдХреЗ рд╕рд┐рд╕реНрдЯрдо рдиреЗ рдХрд╛рдо рдХрд░ рд▓рд┐рдпрд╛ рд╣реЛ, рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рдиреЗ рдЖрдкрдХрд╛ рд░рд┐рд╕реНрдкреЙрдиреНрд╕ рд╕рдордп рдкрд░ рдкреНрд░рд╛рдкреНрдд рди рдХрд┐рдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╡рд╣реА рдЗрд╡реЗрдВрдЯ рдлрд┐рд░ рд╕реЗ рдЖ рд╕рдХрддрд╛ рд╣реИред

рдкрд╣рд▓реЗ рддрдп рдХрд░реЗрдВ рдХрд┐ рдХреМрди рд╕реЗ рд░рд┐рд╕реНрдкреЙрдиреНрд╕ тАЬрд░рд┐рдЯреНрд░рд╛рдИтАЭ рдорддрд▓рдм рд╣реИ рдФрд░ рдХреМрди рд╕реЗ тАЬрд░реЛрдХреЗрдВтАЭред рдХрдИ рдЯреАрдореЗрдВ рдРрд╕реЗ рдирд┐рдпрдо рдЕрдкрдирд╛рддреА рд╣реИрдВ:

  • 2xx: рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛, рд░рд┐рдЯреНрд░рд╛рдИ рдмрдВрдж рдХрд░реЗрдВ
  • 4xx: рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдпрд╛ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рд╕рдорд╕реНрдпрд╛, рдЖрдорддреМрд░ рдкрд░ рд░рд┐рдЯреНрд░рд╛рдИ рдмрдВрдж рдХрд░реЗрдВ
  • 408/429/5xx: рдЕрд╕реНрдерд╛рдпреА рд╡рд┐рдлрд▓рддрд╛ рдпрд╛ рд░реЗрдЯ рд▓рд┐рдорд┐рдЯ, рд░рд┐рдЯреНрд░рд╛рдИ рдХрд░реЗрдВ

рдЖрдЗрдбрдореНрдкреЛрдЯреЗрдиреНрд╕реА рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдПрдХ рд╣реА рдЗрд╡реЗрдВрдЯ рдХреЛ рдПрдХ рд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рдмрд╛рд░ рд╕рдВрднрд╛рд▓ рд╕рдХреЗрдВ рдмрд┐рдирд╛ рд╕рд╛рдЗрдб-рдЗрдлреЗрдХреНрдЯ рджреЛрд╣рд░рд╛рдП (рджреЛ рдмрд╛рд░ рдЪрд╛рд░реНрдЬ рдХрд░рдирд╛, рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдСрд░реНрдбрд░ рдмрдирд╛рдирд╛, рджреЛ рдИрдореЗрд▓ рднреЗрдЬрдирд╛)ред рд╡реЗрдмрд╣реБрдХреНрд╕ рдХреЛ рдХрдо-рд╕реЗ-рдХрдо-рдПрдХ рдмрд╛рд░ рдбрд┐рд▓реАрд╡рд░реА рдорд╛рдиреЗрдВред

рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдкреИрдЯрд░реНрди рд╣реИ рдкреНрд░рддреНрдпреЗрдХ рдЗрдирдХрдорд┐рдВрдЧ рдЗрд╡реЗрдВрдЯ рдХреЗ рдпреВрдирд┐рдХ ID рдХреЗ рд╕рд╛рде рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╕реНрдЯреЛрд░ рдХрд░рдирд╛ред рджреЛрдмрд╛рд░рд╛ рдбрд┐рд▓реАрд╡рд░реА рдкрд░:

  • рдЕрдЧрд░ рд╡рд╣ рд╕рдлрд▓ рдерд╛, рддреЛ 2xx рд▓реМрдЯрд╛рдПрдБ рдФрд░ рдХреБрдЫ рди рдХрд░реЗрдВред
  • рдЕрдЧрд░ рд╡рд╣ рдлрд╝реИрд▓ рдерд╛, рддреЛ рдЖрдВрддрд░рд┐рдХ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдлрд┐рд░ рд╕реЗ рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ (рдпрд╛ retryable status рд▓реМрдЯрд╛рдПрдБ)ред
  • рдЕрдЧрд░ рд╡рд╣ рдкреНрд░реЛрд╕реЗрд╕ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рддреЛ рдкреИрд░реЗрд▓рд▓ рд╡рд░реНрдХ рд╕реЗ рдмрдЪреЗрдВ рдФрд░ рдПрдХ рдЫреЛрдЯрд╛ тАЬacceptedтАЭ рд░рд┐рд╕реНрдкреЙрдиреНрд╕ рджреЗрдВред

рдЖрдВрддрд░рд┐рдХ рд░рд┐рдЯреНрд░рд╛рдИ рдХреЗ рд▓рд┐рдП exponential backoff рдФрд░ capped attempts рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдХреИрдк рдХреЗ рдмрд╛рдж, рдЗрд╡реЗрдВрдЯ рдХреЛ тАЬneeds reviewтАЭ рд╕реНрдЯреЗрдЯ рдореЗрдВ рд░рдЦреЗрдВ рдФрд░ рдЖрдЦрд┐рд░реА рдПрд░рд░ рд░рд┐рдХреЙрд░реНрдб рдХрд░реЗрдВред AppMaster рдореЗрдВ рдпрд╣ рд╕рд╛рдлрд╝ рддреМрд░ рдкрд░ рдПрдХ рдЫреЛрдЯреА рдЯреЗрдмрд▓ (рдЗрд╡реЗрдВрдЯ IDs рдФрд░ рд╕реНрдЯреЗрдЯрд╕ рдХреЗ рд▓рд┐рдП) рдФрд░ рдПрдХ Business Process рдЬреЛ рд░рд┐рдЯреНрд░рд╛рдИ рд╢реЗрдбреНрдпреВрд▓ рдХрд░реЗ рдФрд░ рдмрд╛рд░-рдмрд╛рд░ рдлрд╝реЗрд▓ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд░реВрдЯ рдХрд░реЗ, рд╕реЗ рдореИрдк рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рд░реАрдкреНрд▓реЗ рдЯреВрд▓ рдЬреЛ рд╕рдкреЛрд░реНрдЯ рдЯреАрдо рдХреЛ рддреЗрдЬрд╝реА рд╕реЗ рдореБрджреНрджреЗ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗ

рд░рд┐рдЯреНрд░рд╛рдИ рдСрдЯреЛрдореИрдЯрд┐рдХ рд╣реЛрддреЗ рд╣реИрдВред рд░реАрдкреНрд▓реЗ рдЬрд╛рдирдмреВрдЭрдХрд░ рд╣реЛрддрд╛ рд╣реИред

рд░реАрдкреНрд▓реЗ рдЯреВрд▓ тАЬрд╣рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рднреЗрдЬрд╛ рдЧрдпрд╛тАЭ рдХреЛ рдПрдХ рд░рд┐рдкреНрд░реЛрдбреНрдпреВрд╕рд┐рдмрд▓ рдЯреЗрд╕реНрдЯ рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдкрд╛рд╕ рдмрд┐рд▓реНрдХреБрд▓ рд╡рд╣реА рдкреЗaload рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рддрдм рднреА рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ рдЬрдм рджреЛ рдЪреАрдЬрд╝реЗрдВ рд╕рдЪреНрдЪреА рд╣реЛрдВ: рдЖрдЗрдбрдореНрдкреЛрдЯреЗрдиреНрд╕реА рдФрд░ рдСрдбрд┐рдЯ рдЯреНрд░реЗрд▓ред рдЖрдЗрдбрдореНрдкреЛрдЯреЗрдиреНрд╕реА рдбрдмрд▓ рдЪрд╛рд░реНрдЬрд┐рдВрдЧ, рдбрдмрд▓ рд╢рд┐рдкрд┐рдВрдЧ, рдпрд╛ рдбрдмрд▓ рдИрдореЗрд▓рд┐рдВрдЧ рд░реЛрдХрддреА рд╣реИред рдСрдбрд┐рдЯ рдЯреНрд░реЗрд▓ рджрд┐рдЦрд╛рддреА рд╣реИ рдХреНрдпрд╛ рд░реАрдкреНрд▓реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛, рдХрд┐рд╕рдиреЗ рдХрд┐рдпрд╛, рдФрд░ рдХреНрдпрд╛ рд╣реБрдЖред

рд╕рд┐рдВрдЧрд▓-рдЗрд╡реЗрдВрдЯ рд░реАрдкреНрд▓реЗ рдмрдирд╛рдо рдЯрд╛рдЗрдо-рд░реЗрдВрдЬ рд░реАрдкреНрд▓реЗ

рд╕рд┐рдВрдЧрд▓-рдЗрд╡реЗрдВрдЯ рд░реАрдкреНрд▓реЗ рд╕рд╛рдорд╛рдиреНрдп рд╕рдкреЛрд░реНрдЯ рдХреЗрд╕ рд╣реИ: рдПрдХ рдЧреНрд░рд╛рд╣рдХ, рдПрдХ рдлреЗрд▓реНрдб рдЗрд╡реЗрдВрдЯ, рдлрд┐рдХреНрд╕ рдХреЗ рдмрд╛рдж рдЙрд╕реЗ рдлрд┐рд░ рднреЗрдЬреЗрдВред рдЯрд╛рдЗрдо-рд░реЗрдВрдЬ рд░реАрдкреНрд▓реЗ incidents рдХреЗ рд▓рд┐рдП рд╣реИ: рдПрдХ рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рдЖрдЙрдЯреЗрдЬ рдПрдХ рдЦрд╛рд╕ рд╡рд┐рдВрдбреЛ рдореЗрдВ рд╣реБрдЖ рдФрд░ рдЖрдкрдХреЛ рдЙрд╕ рд╡рд┐рдВрдбреЛ рдХреЗ рд╕рднреА рдлреЗрд▓реНрдб рдЗрд╡реЗрдВрдЯреНрд╕ рдлрд┐рд░ рд╕реЗ рднреЗрдЬрдиреЗ рд╣реИрдВред

рд╕реЗрд▓реЗрдХреНрд╢рди рдХреЛ рд╕рд░рд▓ рд░рдЦреЗрдВ: рдЗрд╡реЗрдВрдЯ рдЯрд╛рдЗрдк, рдЯрд╛рдЗрдо рд░реЗрдВрдЬ, рдФрд░ рд╕реНрдЯреЗрдЯрд╕ (failed, timed out, рдпрд╛ delivered рд▓реЗрдХрд┐рди unacknowledged) рд╕реЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░реЗрдВ, рдлрд┐рд░ рдПрдХ рдЗрд╡реЗрдВрдЯ рдпрд╛ рдПрдХ рдмреИрдЪ рд░реАрдкреНрд▓реЗ рдХрд░реЗрдВред

рджреБрд░реНрдШрдЯрдирд╛рдУрдВ рдХреЛ рд░реЛрдХрдиреЗ рд╡рд╛рд▓реЗ рдЧрд╛рд░реНрдбрд░реЗрдЗрд▓реНрд╕

рд░реАрдкреНрд▓реЗ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдкрд░ рдЦрд╝рддрд░рдирд╛рдХ рдирд╣реАрдВред рдХреБрдЫ рдЧрд╛рд░реНрдбрд░реЗрдЗрд▓реНрд╕ рдорджрдж рдХрд░рддреЗ рд╣реИрдВ:

  • рднреВрдорд┐рдХрд╛-рдЖрдзрд╛рд░рд┐рдд рдПрдХреНрд╕реЗрд╕
  • рдкреНрд░рддрд┐ рдбреЗрд╕реНрдЯрд┐рдиреЗрд╢рди рд░реЗрдЯ рд▓рд┐рдорд┐рдЯ
  • рдСрдбрд┐рдЯ рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд╕рд╛рде рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░рдг рдиреЛрдЯ рд╕реНрдЯреЛрд░ рдХрд░рдирд╛
  • рдмрдбрд╝реЗ рдмреИрдЪ рд░реАрдкреНрд▓реЗ рдХреЗ рд▓рд┐рдП рд╡реИрдХрд▓реНрдкрд┐рдХ рдЕрдкреНрд░реВрд╡рд▓
  • рдбреНрд░рд╛рдп-рд░рди рдореЛрдб рдЬреЛ рднреЗрдЬреЗ рдмрд┐рдирд╛ рд╡реИрд▓рд┐рдбреЗрдЯ рдХрд░рддрд╛ рд╣реИ

рд░реАрдкреНрд▓реЗ рдХреЗ рдмрд╛рдж, рдореВрд▓ рдЗрд╡реЗрдВрдЯ рдХреЗ рдкрд╛рд╕ рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛рдПрдБ: success, рдЕрднреА рднреА рдлреЗрд▓ (рдирд╡реАрдирддрдо рдПрд░рд░ рдХреЗ рд╕рд╛рде), рдпрд╛ ignored (рдЖрдЗрдбрдореНрдкреЛрдЯреЗрдиреНрд╕реА рдХреЗ рдЬрд╝рд░рд┐рдП рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдкрд╛рдпрд╛ рдЧрдпрд╛)ред

рдШрдЯрдирд╛рдУрдВ (рдЗрд╡реЗрдВрдЯ) рдХреЗ рд▓реЙрдЧ рдЬреЛ incidents рдХреЗ рджреМрд░рд╛рди рдЙрдкрдпреЛрдЧреА рд╣реЛрдВ

Deploy or Export Source Code
Deploy to your cloud or export real source code when you need full control.
Deploy App

рдЬрдм рд╡реЗрдмрд╣реБрдХ рдХрд┐рд╕реА incident рдХреЗ рджреМрд░рд╛рди рдЯреВрдЯрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдорд┐рдирдЯреЛрдВ рдореЗрдВ рдЬрд╡рд╛рдм рдЪрд╛рд╣рд┐рдПред рдПрдХ рдЕрдЪреНрдЫрд╛ рд▓реЙрдЧ рдПрдХ рд╕рд╛рдлрд╝ рдХрд╣рд╛рдиреА рдмрддрд╛рддрд╛ рд╣реИ: рдХреНрдпрд╛ рдЖрдпрд╛, рдЖрдкрдиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛, рдФрд░ рдХрд╣рд╛рдБ рдЕрдЯрдХрд╛ред

raw request рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рд╡реИрд╕реЗ рд╕рд╣реЗрдЬреЗрдВ рдЬреИрд╕реЗ рдорд┐рд▓рд╛: timestamp, path, method, headers, рдФрд░ raw bodyред рд╡рд╣ raw payload рдЖрдкрдХрд╛ рдЧреНрд░рд╛рдЙрдВрдб рдЯреНрд░реВрде рд╣реИ рдЬрдм vendors рдлреАрд▓реНрдб рдмрджрд▓рддреЗ рд╣реИрдВ рдпрд╛ рдЖрдкрдХрд╛ рдкрд╛рд░реНрд╕рд░ рдбреЗрдЯрд╛ рдЧрд▓рдд рдкрдврд╝рддрд╛ рд╣реИред рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╡реИрд▓реНрдпреВрдЬрд╝ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдорд╛рд╕реНрдХ рдХрд░реЗрдВ (authorization headers, tokens, рдФрд░ рдХреЛрдИ рднреА рдкрд░реНрд╕рдирд▓ рдпрд╛ рдкреЗрдореЗрдВрдЯ рдбреЗрдЯрд╛ рдЬреЛ рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ)ред

рд╕рд┐рд░реНрдл raw data рд╣реА рдХрд╛рдлреА рдирд╣реАрдВ рд╣реИред рдПрдХ рдкрд╛рд░реНрд╕ рдХреА рд╣реБрдИ, рд╕рд░реНрдЪреЗрдмрд▓ view рднреА рд░рдЦреЗрдВ: рдЗрд╡реЗрдВрдЯ рдЯрд╛рдЗрдк, рдмрд╛рд╣рд░реА рдЗрд╡реЗрдВрдЯ ID, рдХрд╕реНрдЯрдорд░/рдЕрдХрд╛рдЙрдВрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛, рд╕рдВрдмрдВрдзрд┐рдд рдСрдмреНрдЬреЗрдХреНрдЯ IDs (invoice_id, order_id), рдФрд░ рдЖрдкрдХреА рдЖрдВрддрд░рд┐рдХ correlation IDред рдпрд╣реА рд╕рдкреЛрд░реНрдЯ рдХреЛ тАЬрдХрд╕реНрдЯрдорд░ 8142 рдХреЗ рд╕рднреА рдЗрд╡реЗрдВрдЯтАЭ рдЦреЛрдЬрдиреЗ рджреЗрддрд╛ рд╣реИ рдмрд┐рдирд╛ рд╣рд░ рдкреЗayload рдЦреЛрд▓рдиреЗ рдХреЗред

рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди, рдПрдХ рдЫреЛрдЯрд╛ рд╕реНрдЯреЗрдк рдЯрд╛рдЗрдорд▓рд╛рдЗрди рд░рдЦреЗрдВ рд╕рдорд╛рди рд╢рдмреНрджреЛрдВ рдХреЗ рд╕рд╛рде, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: тАЬvalidated signatureтАЭ, тАЬmapped fieldsтАЭ, тАЬchecked idempotencyтАЭ, тАЬupdated recordsтАЭ, тАЬqueued follow-upsтАЭред

рд░рд┐рдЯреЗрдВрд╢рди рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред рдкрд░реНрдпрд╛рдкреНрдд рд╣рд┐рд╕реНрдЯреНрд░реА рд░рдЦреЗрдВ рддрд╛рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреЗрд░реА рдФрд░ рд╡рд┐рд╡рд╛рдж рдХрд╡рд░ рд╣реЛ рд╕рдХреЗрдВ, рд▓реЗрдХрд┐рди рдЕрдирдВрддрдХрд╛рд▓ рддрдХ рдбреЗрдЯрд╛ рди рдЬрдорд╛рдПрдБред рдкрд╣рд▓реЗ raw payloads рдХреЛ рд╣рдЯрд╛рдиреЗ рдпрд╛ рдЕрдиреЙрдирд┐рдорд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬрдмрдХрд┐ рд╣рд▓реНрдХрд╛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд░рдЦреЗрдВред

рдХрджрдо-рджрд░-рдХрджрдо: рдПрдХ рдбрд┐рдмрдЧ-рдпреЛрдЧреНрдп рд╡реЗрдмрд╣реБрдХ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдмрдирд╛рдПрдВ

Standardize Events Across Providers
Define one event envelope with types, versions, and correlation fields you can support long term.
Build Today

рд░рд┐рд╕реАрд╡рд░ рдХреЛ рдПрдХ рдЫреЛрдЯреЗ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреА рддрд░рд╣ рдмрдирд╛рдПрдВ рдЬрд┐рд╕рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рдЪреЗрдХрдкреЙрдЗрдВрдЯ рд╣реЛрдВред рд╣рд░ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдПрдХ рд╕реНрдЯреЛрд░реНрдб рдЗрд╡реЗрдВрдЯ рдмрди рдЬрд╛рддреА рд╣реИ, рд╣рд░ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд░рди рдПрдХ рдкреНрд░рдпрд╛рд╕ рдмрди рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╣рд░ рд╡рд┐рдлрд▓рддрд╛ рд╕рд░реНрдЪреЗрдмрд▓ рдмрди рдЬрд╛рддреА рд╣реИред

рд░рд┐рд╕реАрд╡рд░ рдкрд╛рдЗрдкрд▓рд╛рдЗрди

HTTP рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХреЛ рд╕рд┐рд░реНрдл intake рдорд╛рдиреЗрдВред рд╢реБрд░реБрдЖрдд рдореЗрдВ рдиреНрдпреВрдирддрдо рдХрд╛рдо рдХрд░реЗрдВ, рдлрд┐рд░ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЛ рд╡рд░реНрдХрд░ рдореЗрдВ рднреЗрдЬреЗрдВ рддрд╛рдХрд┐ рдЯрд╛рдЗрдордЖрдЙрдЯреНрд╕ рд░рд╣рд╕реНрдпрдордпреА рд╡реНрдпрд╡рд╣рд╛рд░ рди рдмрдиреЗрдВред

  1. рд╣реЗрдбрд░реНрд╕, raw body, receipt timestamp, рдФрд░ рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рдХреИрдкреНрдЪрд░ рдХрд░реЗрдВред
  2. рд╕рд┐рдЧреНрдиреЗрдЪрд░ рд╡реЗрд░рд┐рдлрд╛рдИ рдХрд░реЗрдВ (рдпрд╛ рд╕рд╛рдлрд╝ тАЬfailed verificationтАЭ рд╕реНрдЯреЗрдЯрд╕ рд╕реНрдЯреЛрд░ рдХрд░реЗрдВ)ред
  3. рд╕реНрдерд┐рд░ рдЗрд╡реЗрдВрдЯ ID рдкрд░ рдХреАрд╡рд░реНрдб рдХрд░рдХреЗ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ enqueue рдХрд░реЗрдВред
  4. рд╡рд░реНрдХрд░ рдореЗрдВ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░реЗрдВ рд╕рд╛рде рдореЗрдВ рдЖрдЗрдбрдореНрдкреЛрдЯреЗрдиреНрд╕реА рдЪреЗрдХ рдФрд░ рдмрд┐рдЬрдиреЗрд╕ рдПрдХреНрд╢рдиреНрд╕ред
  5. рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо рд░рд┐рдХреЙрд░реНрдб рдХрд░реЗрдВ (success/failure) рдФрд░ рдПрдХ рдЙрдкрдпреЛрдЧреА рдПрд░рд░ рдореИрд╕реЗрдЬред

рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдЖрдк рджреЛ рдХреЛрд░ рд░рд┐рдХреЙрд░реНрдб рдЪрд╛рд╣реЗрдВрдЧреЗ: рд╣рд░ рд╡реЗрдмрд╣реБрдХ рдЗрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реЛ, рдФрд░ рд╣рд░ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдкреНрд░рдпрд╛рд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реЛред

рдПрдХ рдареЛрд╕ рдЗрд╡реЗрдВрдЯ рдореЙрдбрд▓ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ: event_id, provider, received_at, signature_status, payload_hash, payload_json (рдпрд╛ raw payload), current_status, last_error, next_retry_atред Attempt рд░рд┐рдХреЙрд░реНрдбреНрд╕ рд╕реНрдЯреЛрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: attempt_number, started_at, finished_at, http_status (рдЕрдЧрд░ рд▓рд╛рдЧреВ рд╣реЛ), error_code, error_textред

рдПрдХ рдмрд╛рд░ рдбреЗрдЯрд╛ рдореМрдЬреВрдж рд╣реЛ, рдПрдХ рдЫреЛрдЯрд╛ рдПрдбрдорд┐рди рдкреЗрдЬ рдЬреЛрдбрд╝реЗрдВ рддрд╛рдХрд┐ рд╕рдкреЛрд░реНрдЯ event ID, customer ID, рдпрд╛ рдЯрд╛рдЗрдо рд░реЗрдВрдЬ рд╕реЗ рдЦреЛрдЬ рд╕рдХреЗ, рдФрд░ рд╕реНрдЯреЗрдЯрд╕ рджреНрд╡рд╛рд░рд╛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░ рд╕рдХреЗред рдЗрд╕реЗ рдЙрдмрд╛рдК рдФрд░ рддреЗрдЬрд╝ рд░рдЦреЗрдВред

рдкреИрдЯрд░реНрдиреНрд╕ рдкрд░ рдЕрд▓рд░реНрдЯ рд╕реЗрдЯ рдХрд░реЗрдВ, рди рдХрд┐ рд╡рди-рдСрдл рдлреЗрд▓рд┐рдпрд░реНрд╕ рдкрд░ред рдЙрджрд╛рд╣рд░рдг: тАЬрдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рдиреЗ 5 рдорд┐рдирдЯ рдореЗрдВ 10 рдмрд╛рд░ рдлреЗрд▓ рдХрд┐рдпрд╛тАЭ рдпрд╛ тАЬрдЗрд╡реЗрдВрдЯ рдлреЗрд▓реНрдб рдореЗрдВ рдлрдВрд╕рд╛ рд╣реБрдЖ рд╣реИтАЭред

рднреЗрдЬрдиреЗ рд╡рд╛рд▓реЛрдВ (Sender) рдХреА рдЕрдкреЗрдХреНрд╖рд╛рдПрдБ

рдЕрдЧрд░ рдЖрдк рднреЗрдЬрдиреЗ рдХреА рд╕рд╛рдЗрдб рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рддреАрди рдЪреАрдЬрд╝реЗрдВ рд╕реНрдЯреИрдгреНрдбрд░реНрдбрд╛рдЗрдЬрд╝ рдХрд░реЗрдВ: рд╣рдореЗрд╢рд╛ рдПрдХ рдЗрд╡реЗрдВрдЯ ID рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ, рд╣рдореЗрд╢рд╛ payload рдХреЛ рдПрдХ рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕рд╛рдЗрди рдХрд░реЗрдВ, рдФрд░ рд╕реНрдкрд╖реНрдЯ рднрд╛рд╖рд╛ рдореЗрдВ рдПрдХ retry policy рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВред рдпрд╣ рддрдм рдЕрдВрддрд╣реАрди рдмреИрдХ-рдПрдВрдб-рдлреЛрд░реНрде рд░реЛрдХрддрд╛ рд╣реИ рдЬрдм рдПрдХ рдкрд╛рд░реНрдЯрдирд░ рдХрд╣реЗ тАЬрд╣рдордиреЗ рднреЗрдЬрд╛тАЭ рдФрд░ рдЖрдкрдХреА рд╕рд┐рд╕реНрдЯрдо рдХреБрдЫ рдирд╣реАрдВ рджрд┐рдЦрд╛рддреАред

рдЙрджрд╛рд╣рд░рдг: рдкреЗрдореЗрдВрдЯреНрд╕ рд╡реЗрдмрд╣реБрдХ 'failed' рд╕реЗ 'fixed' рддрдХ рд░реАрдкреНрд▓реЗ рдХреЗ рд╕рд╛рде

рдПрдХ рдЖрдо рдкреИрдЯрд░реНрди рдПрдХ Stripe рд╡реЗрдмрд╣реБрдХ рдХрд╛ рд╣реИ рдЬреЛ рджреЛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: рдПрдХ Order рд░рд┐рдХреЙрд░реНрдб рдмрдирд╛рдирд╛, рдлрд┐рд░ рдПрдХ рд░рд╕реАрдж рдИрдореЗрд▓/SMS рдХреЗ рдЬрд░рд┐рдП рднреЗрдЬрдирд╛ред рдпрд╣ рддрдм рддрдХ рд╕рд░рд▓ рд▓рдЧрддрд╛ рд╣реИ рдЬрдм рддрдХ рдПрдХ рдЗрд╡реЗрдВрдЯ рдлреЗрд▓ рди рд╣реЛ рдФрд░ рдХреЛрдИ рди рдЬрд╛рдиреЗ рдХрд┐ рдЧреНрд░рд╛рд╣рдХ рдЪрд╛рд░реНрдЬ рд╣реБрдЖ рдерд╛ рдпрд╛ рдирд╣реАрдВ, рдСрд░реНрдбрд░ рдореМрдЬреВрдж рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдпрд╛ рд░рд╕реАрдж рдЬрд╛рдпреЗрдЧреА рдпрд╛ рдирд╣реАрдВред

рдпрд╣рд╛рдБ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рдлрд▓рддрд╛ рд╣реИ: рдЖрдк рдЕрдкрдирд╛ Stripe рд╕рд╛рдЗрдирд┐рдВрдЧ рд╕реАрдХреНрд░реЗрдЯ рд░реЛрдЯреЗрдЯ рдХрд░рддреЗ рд╣реИрдВред рдХреБрдЫ рдорд┐рдирдЯреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдкреБрд░рд╛рдиреЗ рд╕реАрдХреНрд░реЗрдЯ рд╕реЗ рд╡реЗрд░рд┐рдлрд╝рд╛рдИ рдХрд░рддрд╛ рд░рд╣рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП Stripe рдЗрд╡реЗрдВрдЯ рдбрд┐рд▓реАрд╡рд░ рдХрд░рддрд╛ рд╣реИ рдкрд░ рдЖрдкрдХрд╛ рд╕рд░реНрд╡рд░ рдЙрдиреНрд╣реЗрдВ 401/400 рд╕реЗ рд░рд┐рдЬреЗрдХреНрдЯ рдХрд░ рджреЗрддрд╛ рд╣реИред рдбреИрд╢рдмреЛрд░реНрдб рдкрд░ тАЬwebhook failedтАЭ рджрд┐рдЦрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдЖрдкрдХреЗ рдРрдк рд▓реЙрдЧ рдХреЗрд╡рд▓ рдХрд╣рддреЗ рд╣реИрдВ тАЬinvalid signatureтАЭуАВ

рдЕрдЪреНрдЫреЗ рд▓реЙрдЧ рдХрд╛рд░рдг рд╕реНрдкрд╖реНрдЯ рдХрд░ рджреЗрддреЗ рд╣реИрдВред рдлреЗрд▓реНрдб рдЗрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП рд░рд┐рдХреЙрд░реНрдб рдореЗрдВ рд╕реНрдерд┐рд░ рдЗрд╡реЗрдВрдЯ ID рдФрд░ рдЗрддрдиреА рд╡реЗрд░рд┐рдлрд┐рдХреЗрд╢рди рдбрд┐рдЯреЗрд▓ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдХрд┐ рдорд┐рд╕рдореИрдЪ рдХрд╛ рдкрддрд╛ рдЪрд▓ рд╕рдХреЗ: рд╕рд┐рдЧреНрдиреЗрдЪрд░ рд╡рд░реНрдЬрди, рд╕рд┐рдЧреНрдиреЗрдЪрд░ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк, рд╡реЗрд░рд┐рдлрд┐рдХреЗрд╢рди рд░рд┐рдЬрд╝рд▓реНрдЯ, рдФрд░ рд╕реНрдкрд╖реНрдЯ рд░рд┐рдЬреЗрдХреНрдЯ рдХрд╛рд░рдг (рдЧрд▓рдд рд╕реАрдХреНрд░реЗрдЯ рдмрдирд╛рдо timestamp drift)ред рд░реЛрдЯреЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдпрд╣ рдпрд╣ рднреА рдорджрдж рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛ рд╕реАрдХреНрд░реЗрдЯ рдЖрдЬрд╝рдорд╛рдпрд╛ рдЧрдпрд╛ рд▓реЙрдЧ рд╣реЛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП тАЬcurrentтАЭ рдмрдирд╛рдо тАЬpreviousтАЭ), рди рдХрд┐ рдХрдЪреНрдЪрд╛ рд╕реАрдХреНрд░реЗрдЯред

рдПрдХ рдмрд╛рд░ рд╕реАрдХреНрд░реЗрдЯ рдареАрдХ рд╣реЛ рдЬрд╛рдиреЗ рдФрд░ рдереЛрдбрд╝реЗ рд╡рд┐рдВрдбреЛ рдХреЗ рд▓рд┐рдП рджреЛрдиреЛрдВ тАЬcurrentтАЭ рдФрд░ тАЬpreviousтАЭ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реЛрдиреЗ рдкрд░, рдЖрдкрдХреЛ рдмреИрдХрд▓реЙрдЧ рдХреЛ рднреА рд╕рдВрднрд╛рд▓рдирд╛ рд╣реЛрдЧрд╛ред рд░реАрдкреНрд▓реЗ рдЯреВрд▓ рдЗрд╕реЗ рдПрдХ рддреНрд╡рд░рд┐рдд рдХрд╛рд░реНрдп рдмрдирд╛ рджреЗрддрд╛ рд╣реИ:

  1. рдЗрд╡реЗрдВрдЯ рдХреЛ event_id рд╕реЗ рдвреВрдБрдвреЗрдВред
  2. рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ рдХрд┐ рдлреЗрд▓ рд╣реЛрдиреЗ рдХрд╛ рдХрд╛рд░рдг рд╣рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИред
  3. рдЗрд╡реЗрдВрдЯ рдХреЛ рд░реАрдкреНрд▓реЗ рдХрд░реЗрдВред
  4. рдЖрдЗрдбрдореНрдкреЛрдЯреЗрдиреНрд╕реА рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ: Order рдПрдХ рдмрд╛рд░ рдмрдиреЗ, рд░рд╕реАрдж рдПрдХ рдмрд╛рд░ рднреЗрдЬреА рдЧрдпреАред
  5. рд░реАрдкреНрд▓реЗ рдкрд░рд┐рдгрд╛рдо рдФрд░ timestamps рдЯрд┐рдХрдЯ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред

рдЖрдо рдЧрд▓рддрд┐рдпрд╛рдБ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рдЯрд╛рд▓рд╛ рдЬрд╛рдП

Build a Webhook Event Ledger
Model events, statuses, and raw payloads in AppMaster so every delivery is searchable.
Start Building

рдЬрд╝реНрдпрд╛рджрд╛рддрд░ рд╡реЗрдмрд╣реБрдХ рд╕рдорд╕реНрдпрд╛рдПрдБ рдЗрд╕рд▓рд┐рдП рд░рд╣рд╕реНрдпрдордпреА рд▓рдЧрддреА рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдХреЗрд╡рд▓ рдЕрдВрддрд┐рдо рддреНрд░реБрдЯрд┐ рд░рд┐рдХреЙрд░реНрдб рдХрд░рддреЗ рд╣реИрдВред рд╣рд░ рдбрд┐рд▓реАрд╡рд░реА рдХреЛ рдПрдХ рдЫреЛрдЯреЗ incident рд░рд┐рдкреЛрд░реНрдЯ рдХреА рддрд░рд╣ рдЯреНрд░реАрдЯ рдХрд░реЗрдВ: рдХреНрдпрд╛ рдЖрдпрд╛, рдЖрдкрдиреЗ рдХреНрдпрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдФрд░ рдЖрдЧреЗ рдХреНрдпрд╛ рд╣реБрдЖред

рдХреБрдЫ рдмрд╛рд░-рдмрд╛рд░ рджрд┐рдЦрдиреЗ рд╡рд╛рд▓реА рдЧрд▓рддрд┐рдпрд╛рдБ:

  • рдХреЗрд╡рд▓ exceptions рд▓реЙрдЧ рдХрд░рдирд╛ рдмрдЬрд╛рдп рдкреВрд░реЗ рд▓рд╛рдЗрдлрд╝рд╕рд╛рдЗрдХрд▓ рдХреЗ (received, verified, queued, processed, failed, retried)
  • рдмрд┐рдирд╛ рдорд╛рд╕реНрдХ рдХрд┐рдП рдкреВрд░рд╛ payload рдФрд░ headers рд╕реЗрд╡ рдХрд░рдирд╛, рдлрд┐рд░ рдкрд╛рддрд╛ рдЪрд▓рдирд╛ рдХрд┐ рдЖрдкрдиреЗ рд╕реАрдХреНрд░реЗрдЯреНрд╕ рдпрд╛ рдкрд░реНрд╕рдирд▓ рдбреЗрдЯрд╛ рдХреИрдкреНрдЪрд░ рдХрд░ рд▓рд┐рдпрд╛
  • рд░рд┐рдЯреНрд░рд╛рдИ рдХреЛ рдирдП рдЗрд╡реЗрдВрдЯ рдХреА рддрд░рд╣ рд╣реИрдВрдбрд▓ рдХрд░рдирд╛, рдЬрд┐рд╕рд╕реЗ рдбрдмрд▓ рдЪрд╛рд░реНрдЬ рдпрд╛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдореИрд╕реЗрдЬреЗрд╕ рд╣реЛрдВ
  • рдЗрд╡реЗрдВрдЯ рдХреЛ durable рддрд░реАрдХреЗ рд╕реЗ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ 200 OK рд▓реМрдЯрд╛рдирд╛, рдЬрд┐рд╕рд╕реЗ рдбреИрд╢рдмреЛрд░реНрдб рдЧреНрд░реАрди рджрд┐рдЦреЗ рдкрд░ рдХрд╛рдо рдмрд╛рдж рдореЗрдВ рдорд░ рдЬрд╛рдП

рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╕реБрдзрд╛рд░:

  • рдПрдХ рдорд┐рдирд┐рдорд▓, рд╕рд░реНрдЪреЗрдмрд▓ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рд░рд┐рдХреЙрд░реНрдб рдФрд░ рд╕реНрдЯреЗрдЯрд╕ рдкрд░рд┐рд╡рд░реНрддрди рд╕реНрдЯреЛрд░ рдХрд░реЗрдВред
  • рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдлреАрд▓реНрдб рдорд╛рд╕реНрдХ рдХрд░реЗрдВ рдФрд░ raw payloads рдХреА рдкрд╣реБрдБрдЪ рд╕реАрдорд┐рдд рд░рдЦреЗрдВред
  • рдЖрдЗрдбрдореНрдкреЛрдЯреЗрдиреНрд╕реА рдХреЛ рдХреЗрд╡рд▓ рдХреЛрдб рдореЗрдВ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрддрд░ рдкрд░ рд▓рд╛рдЧреВ рдХрд░реЗрдВред
  • рдХреЗрд╡рд▓ рддрдм acknowledge рдХрд░реЗрдВ рдЬрдм рдЗрд╡реЗрдВрдЯ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдЯреЛрд░ рд╣реЛ рдЧрдпрд╛ рд╣реЛред
  • рд░реАрдкреНрд▓реЗ рдХреЛ рдПрдХ рд╕рдорд░реНрдерд┐рдд рдлрд╝реНрд▓реЛ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдПрдВ, рди рдХрд┐ рдПрдХ рдПрдХрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВред

рдЕрдЧрд░ рдЖрдк AppMaster рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпреЗ рдЯреБрдХрдбрд╝реЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдореЗрдВ рд╕рд╣рдЬрддрд╛ рд╕реЗ рдлрд┐рдЯ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ: Data Designer рдореЗрдВ рдПрдХ рдЗрд╡реЗрдВрдЯ рдЯреЗрдмрд▓, рд╕рддреНрдпрд╛рдкрди рдФрд░ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЗрдЯрд╕-рдбреНрд░рд┐рд╡рди Business Process, рдФрд░ рдЦреЛрдЬ рд╡ рд░реАрдкреНрд▓реЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдбрдорд┐рди UIред

рддреНрд╡рд░рд┐рдд рдЪреЗрдХрд▓рд┐рд╕реНрдЯ рдФрд░ рдЕрдЧрд▓реЗ рдХрджрдо

рд╣рд░ рдмрд╛рд░ рдХреЗ рд▓рд┐рдП рд╡рд╣реА рдмреЗрд╕рд┐рдХреНрд╕ рд▓рдХреНрд╖реНрдп рдмрдирд╛рдПрдВ:

  • рд╣рд░ рдЗрд╡реЗрдВрдЯ рдХрд╛ рдПрдХ рдпреВрдирд┐рдХ event_id рд╣реЛ, рдФрд░ рдЖрдк raw payload рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рд╡реИрд╕реЗ рд╕реНрдЯреЛрд░ рдХрд░реЗрдВред
  • рд╣рд░ рдЕрдиреБрд░реЛрдз рдкрд░ рд╕рд┐рдЧреНрдиреЗрдЪрд░ рд╕рддреНрдпрд╛рдкрди рдЪрд▓реЗ, рдФрд░ рдлреЗрд▓реНрдпрд░ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рдХрд╛рд░рдг рд╣реЛред
  • рд░рд┐рдЯреНрд░рд╛рдИ рдЕрдиреБрдорд╛рдирд┐рдд рд╣реЛрдВ, рдФрд░ рд╣реИрдВрдбрд▓рд░реНрд╕ рдЖрдЗрдбрдореНрдкреЛрдЯреЗрдВрдЯ рд╣реЛрдВред
  • рд░реАрдкреНрд▓реЗ рдХреЗрд╡рд▓ рдЕрдзрд┐рдХреГрдд рднреВрдорд┐рдХрд╛рдУрдВ рддрдХ рд╕реАрдорд┐рдд рд╣реЛ рдФрд░ рдЙрд╕рдХрд╛ рдСрдбрд┐рдЯ рдЯреНрд░реЗрд▓ рд░рд╣реЗред
  • рд▓реЙрдЧ event_id, provider id, status, рдФрд░ time рд╕реЗ рд╕рд░реНрдЪреЗрдмрд▓ рд╣реЛрдВ, рд╕рд╛рде рдореЗрдВ рдПрдХ рдЫреЛрдЯрд╛ тАЬрдХреНрдпрд╛ рд╣реБрдЖтАЭ рд╕рд╛рд░рд╛рдВрд╢ред

рдЗрдирдореЗрдВ рд╕реЗ рдПрдХ рднреА рдорд┐рд╕ рд╣реЛрдиреЗ рдкрд░ рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди рдлрд┐рд░ рднреА рдХрд╛рд▓рд╛ рдбрд┐рдмреНрдмрд╛ рдмрди рд╕рдХрддрд╛ рд╣реИред рдЕрдЧрд░ рдЖрдк raw payload рд╕реНрдЯреЛрд░ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдкреНрд░рдорд╛рдг рдирд╣реАрдВ рджреЗ рдкрд╛рдПрдВрдЧреЗ рдХрд┐ рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рдиреЗ рдХреНрдпрд╛ рднреЗрдЬрд╛ рдерд╛ред рдЕрдЧрд░ рд╕рд┐рдЧреНрдиреЗрдЪрд░ рдлреЗрд▓реНрдпрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЖрдк рдШрдВрдЯреЛрдВ рдмрд░реНрдмрд╛рдж рдХрд░ рд░рд╣реЗ рд╣реЛрдВрдЧреЗ рдХрд┐рд╕рдХреА рдЧрд▓рддреА рд╣реИ рдХреЗ рддрд░реНрдХ рдореЗрдВред

рдпрджрд┐ рдЖрдк рд╣рд░ рдХреЙрдореНрдкреЛрдиреЗрдВрдЯ рдХреЛ рд╣рд╛рде рд╕реЗ рдХреЛрдб рдХрд┐рдП рдмрд┐рдирд╛ рдЬрд▓реНрджреА рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ AppMaster (appmaster.io) рдЖрдкрдХреА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдбреЗрдЯрд╛ рдореЙрдбрд▓, рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдлреНрд▓реЛ, рдФрд░ рдПрдбрдорд┐рди UI рдПрдХ рд╣реА рдЬрдЧрд╣ рдмрдирд╛ рд╕рдХреЗрдВ, рдЬрдмрдХрд┐ рдЕрдВрддрд┐рдо рдРрдк рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реНрд░реЛрдд рдХреЛрдб рднреА рдЬрдирд░реЗрдЯ рд╣реЛрддрд╛ рд╣реИред

рд╢реБрд░реВ рдХрд░рдирд╛ рдЖрд╕рд╛рди
рдХреБрдЫ рдмрдирд╛рдПрдВ рдЕрджреНрднреБрдд

рдлреНрд░реА рдкреНрд▓рд╛рди рдХреЗ рд╕рд╛рде рдРрдкрдорд╛рд╕реНрдЯрд░ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВред
рдЬрдм рдЖрдк рддреИрдпрд╛рд░ рд╣реЛрдВрдЧреЗ рддрдм рдЖрдк рдЙрдЪрд┐рдд рд╕рджрд╕реНрдпрддрд╛ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВред

рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдУ
рд╡реЗрдмрд╣реБрдХ рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди рдбрд┐рдмрдЧ рдХрд░реЗрдВ: рд╕рд┐рдЧреНрдиреЗрдЪрд░, рд░рд┐рдЯреНрд░рд╛рдИ, рд░реАрдкреНрд▓реЗ, рдЗрд╡реЗрдВрдЯ рд▓реЙрдЧ | AppMaster