15 рдорд╛рд░реНрдЪ 2025┬╖8 рдорд┐рдирдЯ рдкрдврд╝рдиреЗ рдореЗрдВ

API рдХреБрдВрдЬреА рд░реЛрдЯреЗрд╢рди UX: рд╕реНрдХреЛрдк, рд╕реНрд╡рдпрдВ-рд╕реЗрд╡рд╛ рдХреБрдВрдЬреА рдФрд░ рд▓реЙрдЧреНрд╕

API рдХреБрдВрдЬреА рд░реЛрдЯреЗрд╢рди рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ: рдХрдотАСрдкреНрд░рд┐рд╡рд┐рд▓реЗрдЬ рд╕реНрдХреЛрдкреНрд╕, рдЙрдкрдпреЛрдЧ рд▓реЙрдЧ рдФрд░ рд╕реБрд░рдХреНрд╖рд┐рдд UX рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░реЗрдВ рдЬреЛ рд╕рдкреЛрд░реНрдЯ рдЯрд┐рдХрдЯ рдШрдЯрд╛рдПред

API рдХреБрдВрдЬреА рд░реЛрдЯреЗрд╢рди UX: рд╕реНрдХреЛрдк, рд╕реНрд╡рдпрдВ-рд╕реЗрд╡рд╛ рдХреБрдВрдЬреА рдФрд░ рд▓реЙрдЧреНрд╕

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрддреНрдкрд╛рджреЛрдВ рдореЗрдВ API рдХреБрдВрдЬрд┐рдпрд╛рдБ рдХрдм рд╕рдорд╕реНрдпрд╛ рдмрди рдЬрд╛рддреА рд╣реИрдВ

API рдХреБрдВрдЬрд┐рдпрд╛рдБ рд╢реБрд░реВ рдореЗрдВ рд╕рд░рд▓ рд╣реЛрддреА рд╣реИрдВ: рдПрдХ рдХреБрдВрдЬреА, рдПрдХ рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди, рдХрд╛рдо рдЦрддреНрдоред рд╕рдорд╕реНрдпрд╛ рдмрд╛рдж рдореЗрдВ рдЖрддреА рд╣реИ, рдЬрдм рд╡рд╣реА рдХреБрдВрдЬреА рдХрд┐рд╕реА рд╕рд╛рдЭрд╛ рд╕реНрдкреНрд░реЗрдбрд╢реАрдЯ, Slack рд╕рдВрджреЗрд╢ рдпрд╛ рдХрд┐рд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╣рд╛рд░реНрдбтАСрдХреЛрдб рд╣реЛ рдЬрд╛рддреА рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЕрдм рдХреЛрдИ рдорд╛рд▓рд┐рдХ рдирд╣реАрдВ рд╣реИред рдПрдХ рдмрд╛рд░ рдХреБрдВрдЬреА рдлреИрд▓ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдЖрдк рдмреБрдирд┐рдпрд╛рджреА рд╕рд╡рд╛рд▓реЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджреЗ рдкрд╛рддреЗ: рдХреМрди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдХреНрдпреЛрдВред

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

рдЕрдЪреНрдЫрд╛ рдХреА рдкреНрд░рдмрдВрдзрди рд╕рд┐рд░реНрдл рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдШрдЯрдирд╛рдУрдВ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рдкреЛрд░реНрдЯ рдХрд╛рдо рдШрдЯрд╛рддрд╛ рд╣реИред рдЬрдм рдЧреНрд░рд╛рд╣рдХ рдЕрдкрдиреА рдХреБрдВрдЬрд┐рдпрд╛рдБ рджреЗрдЦ рд╕рдХреЗрдВ, рдЙрдиреНрд╣реЗрдВ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░ рд╕рдХреЗрдВ рдФрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдмрджрд▓ рд╕рдХреЗрдВ, рддреЛ рдЖрдкрдХреА рдЯреАрдо рдореИрдиреБрдЕрд▓ рд░рд┐рд╕реЗрдЯ рдФрд░ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рд╕реЗ рдмрдЪрддреА рд╣реИред

"рд╕реНрд╡рдпрдВ-рд╕реЗрд╡рд╛" рдХрд╛ рдорддрд▓рдм рднреВрдорд┐рдХрд╛ рдХреЗ рд╣рд┐рд╕рд╛рдм рд╕реЗ рдЕрд▓рдЧ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрдбрдорд┐рдиреНрд╕ рдХреЛ рдЖрдорддреМрд░ рдкрд░ рдкреВрд░реЗ рд╡рд░реНрдХрд╕реНрдкреЗрд╕ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдЪрд╛рд╣рд┐рдП, рдЬрдмрдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗрд╡рд▓ рд╡рд╣реА рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВ рдЬреЛ рдЙрдирдХрд╛ рд╣реИ рдпрд╛ рдЬрд┐рд╕реЗ рдПрдбрдорд┐рди рдиреЗ рд╕реМрдВрдкрд╛ рд╣реЛред рд▓рдХреНрд╖реНрдп рд╕реНрдкрд╖реНрдЯ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдФрд░ рд╕реАрдорд╛рдПрдБ рд╣реИрдВ, рдмрд┐рдирд╛ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рднреВрд▓рднреБрд▓реИрдпрд╛ рдмрдирд╛рдпреЗред

рд╕реБрд░рдХреНрд╖рд╛ рдФрд░ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╕рд╛рде рдЪрд▓рдиреА рдЪрд╛рд╣рд┐рдПред рдЕрдЧрд░ UX рдХрд╖реНрдЯрджрд╛рдпрдХ рд╣реЛрдЧрд╛ рддреЛ рд▓реЛрдЧ рд╡реНрдпрд░реНрде рдПрдХ "рдорд╛рд╕реНрдЯрд░ рдХреА" рд╣рд░ рдЬрдЧрд╣ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░ рд▓реЗрдВрдЧреЗред рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕рдмрд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рд╛рд╕реНрддрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

  • рдРрдк рдпрд╛ рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди рдХреЗ рд╣рд┐рд╕рд╛рдм рд╕реЗ рдХреБрдВрдЬрд┐рдпрд╛рдБ рдмрдирд╛рдПрдВ, рдХрдВрдкрдиреА рдХреЗ рд╣рд┐рд╕рд╛рдм рд╕реЗ рдирд╣реАрдВред
  • рд╣рд░ рдХреБрдВрдЬреА рдХреЛ рдЬреЛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ рдЙрд╕реЗ рд╕реАрдорд┐рдд рдХрд░реЗрдВ (рдФрд░ рдХрд╣рд╛рдБ рдЗрд╕реНрддреЗрдорд╛рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИ)ред
  • рджрд┐рдЦрд╛рдПрдВ рдХрд┐ рдХрд┐рд╕рдиреЗ рдмрдирд╛рдИ рдФрд░ рдХрдм рдЖрдЦрд╝рд┐рд░реА рдмрд╛рд░ рдЙрдкрдпреЛрдЧ рд╣реБрдИ рдереАред
  • рд░реЛрдЯреЗрд╢рди рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдФрд░ рдХрдотАСрддрдирд╛рд╡ рд╡рд╛рд▓реА рдХреНрд░рд┐рдпрд╛ рдмрдирд╛рдПрдБред

рдЙрджрд╛рд╣рд░рдг: рдПрдХ рдкрд╛рд░реНрдЯрдирд░ "API рдПрдХреНрд╕реЗрд╕" рдорд╛рдБрдЧрддрд╛ рд╣реИред рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдлреБрд▓тАСрдПрдХреНрд╕реЗрд╕ рдХреБрдВрдЬреА рдХрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИ, рддреЛ рдЖрдк рдЕрдирдЬрд╛рдиреЗ рдореЗрдВ рдЬрд╝реНрдпрд╛рджрд╛ рджреЗ рджреЗрдВрдЧреЗред рдПрдХ рд╕реНрд╡рдпрдВтАСрд╕реЗрд╡рд╛ рдлреНрд▓реЛ рдЖрдкрдХреЛ рдПрдХ рд╕рдВрдХреБрдЪрд┐рдд рдХреБрдВрдЬреА рдЬрд╛рд░реА рдХрд░рдиреЗ рджреЗрдЧрд╛ рдЬреЛ рдкрд╛рд░реНрдЯрдирд░ рдХреЗ рдХрд╛рдо рдХреЗ рдЕрдиреБрд░реВрдк рд╕рд┐рд░реНрдл рд╡рд╣реА рдЕрдиреБрдорддрд┐ рджреЗрдЧреАред

рдмреБрдирд┐рдпрд╛рджреА рдмрд╛рддреЗрдВ: рдХреБрдВрдЬреА, рд╕реНрдХреЛрдк, рдУрдирд░ рдФрд░ рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ

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

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

рд╢реБрд░реВ рдореЗрдВ рдХреБрдЫ рдореБрдЦреНрдп рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ:

  • Key: рд╕реАрдХреНрд░реЗрдЯ рд╡реИрд▓реНрдпреВ рдкреНрд▓рд╕ рдореЗрдЯрд╛рдбреЗрдЯрд╛ (рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж рдХрдЪреНрдЪрд╛ рд╕реАрдХреНрд░реЗрдЯ рд╕реНрдЯреЛрд░ рди рдХрд░реЗрдВ)ред
  • Scope: рдЕрдиреБрдорддрд┐ рджрд┐рдП рдЧрдП рдПрдХ рд╕реЗрдЯ рдХрд╛ рдирд╛рдо (рдЬреИрд╕реЗ read orders, write invoices)ред
  • Owner: рдЙрд╕ рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╡рд┐рд╢реЗрд╖ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпрд╛ рд╕рд░реНрд╡рд┐рд╕ рдЕрдХрд╛рдЙрдВрдЯред
  • Environment: рдЬрд╣рд╛рдБ рдХреБрдВрдЬреА рдХрд╛рдо рдХрд░рддреА рд╣реИ (dev, staging, production)ред
  • Expiration: рдХрдм рдпрд╣ рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░реЗрдЧреА, рдпрд╛ рдХрдм рдЗрд╕реЗ рд░реЛрдЯреЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

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

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

рдРрд╕реЗ least-privilege рд╕реНрдХреЛрдк рдбрд┐рдЬрд╛рдЗрди рдХрд░реЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд▓реЛрдЧ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВрдЧреЗ

LeastтАСprivilege рддрднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм рд▓реЛрдЧ рдХреБрдЫ рд╕реЗрдХрдВрдб рдореЗрдВ рд╕рд╣реА рд╕реНрдХреЛрдк рдЪреБрди рд╕рдХреЗрдВред рдЕрдЧрд░ рдЗрд╕реЗ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд╛ рдПрдХреНрд╕рдкрд░реНрдЯ рдЪрд╛рд╣рд┐рдП рд╣реЛрдЧрд╛, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ "full access" рдЪреБрди рдХрд░ рдЖрдЧреЗ рдмрдврд╝ рдЬрд╛рдПрдВрдЧреЗред

рд╢реБрд░реВ рдХрд░реЗрдВ рдЙрди рдПрдХреНрд╢рдиреНрд╕ рдХреА рд╕реВрдЪреА рдмрдирд╛рдХрд░ рдЬрд┐рдиреНрд╣реЗрдВ рдПрдХ рдЗрдВрд╕рд╛рди рд╕рд╛рдорд╛рдиреНрдп рднрд╛рд╖рд╛ рдореЗрдВ рдмрддрд╛рдПрдЧрд╛, рди рдХрд┐ рдЖрдВрддрд░рд┐рдХ рд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдХреЗ рдирд╛рдоред "Read invoices" рд╕реНрдкрд╖реНрдЯ рд╣реИред "billing.read" рдареАрдХ рд╣реИ рдмрд╢рд░реНрддреЗ UI рдЗрд╕реЗ рд╕рд╛рджреЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рднреА рд╕рдордЭрд╛рдпреЗред рдпрд╣ рд░реЛрдЯреЗрд╢рди рдХреЗ рд╕рдордп рдФрд░ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдирдпрд╛ рдХреА рдкреБрд░рд╛рдиреА рдХреБрдВрдЬреА рдХреЗ рд╕рдорд╛рди рд╣реИред

рдЕрдкрдиреЗ рд╕реНрдХреЛрдк рд╕реЗрдЯ рдХреЛ рдЫреЛрдЯрд╛, рд╕реНрдерд┐рд░ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рдотАСрд╕реЗтАСрдЬреБрдбрд╝реЗ рд╕рдореВрд╣реЛрдВ рдореЗрдВ рд░рдЦреЗрдВред рдЙрджрд╛рд╣рд░рдг:

  • Reporting (invoices, customers, payouts рджреЗрдЦрдирд╛)
  • Customer support (рдЧреНрд░рд╛рд╣рдХ рджреЗрдЦрдирд╛, refund рдЬрд╛рд░реА рдХрд░рдирд╛)
  • Order management (order рдмрдирд╛рдирд╛, status рдЕрдкрдбреЗрдЯ, cancel)
  • Webhooks (endpoint рдмрдирд╛рдирд╛, secret рд░реЛрдЯреЗрдЯ рдХрд░рдирд╛)
  • Admin (users рдФрд░ API keys рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛)

50 рдЫреЛрдЯреЗтАСрдЫреЛрдЯреЗ рдЯреЙрдЧрд▓реНрд╕ рд╕реЗ рдмрдЪреЗрдВред рд▓рдВрдмреА рд╕реВрдЪреА рдХрд╛ рдорддрд▓рдм рдЕрдХреНрд╕рд░ рдпрд╣ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдХреЛрдкреНрд╕ рдЖрдкрдХреЗ рдХреЛрдб рдХреЛ рдорд┐рд░рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рди рдХрд┐ рд▓реЛрдЧреЛрдВ рдХреЗ рдХрд╛рдо рдХреЛред

рд╕реБрд░рдХреНрд╖рд┐рдд рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорджрдж рдХрд░рддреЗ рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП "recommended bundles" рджреЗрдВ рдФрд░ рд╕реНрдкрд╖реНрдЯ рджрд┐рдЦрд╛рдПрдБ рдХрд┐ рд╣рд░ рдмрдВрдбрд▓ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "Accounting integration" рдмрдВрдбрд▓ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ readтАСonly invoices рдФрд░ payouts рджреЗ рд╕рдХрддрд╛ рд╣реИ, refunds рдмрдВрдж рд░рдЦреЗрдВ, рдФрд░ рдЙрдиреНрдирдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдХрд╕реНрдЯрдорд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рджреЗрдВред

рдЙрдЪреНрдЪтАСрдЬреЛрдЦрд┐рдо рд╡рд╛рд▓реЗ рд╕реНрдХреЛрдкреНрд╕ рдХреЗ рд▓рд┐рдП рдЬрд╛рдирдмреВрдЭрдХрд░ рдШрд░реНрд╖рдг рдЬреЛрдбрд╝реЗрдВред рдпрд╣ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрдиреНрдлрд░реНрдореЗрд╢рди, рдПрдбрдорд┐рдитАСрдУрдирд▓реА рдЕрдиреБрдорддрд┐, рд╕рдордптАСрд╕реАрдорд┐рдд рдЙрдиреНрдирдпрди, рдпрд╛ рдСрдбрд┐рдЯ рд▓реЙрдЧ рдореЗрдВ рдХрд╛рд░рдг рд╕реЗрд╡ рдХрд░рдиреЗ рдЬреИрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг: рдПрдХ рдкрд╛рд░реНрдЯрдирд░ рдХреЛ рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЗрдирд╡реЙрдЗрд╕ рд╕рд┐рдВрдХ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдЙрдиреНрд╣реЗрдВ "read invoices" рдФрд░ "read customers" рдорд┐рд▓рдирд╛ рдЪрд╛рд╣рд┐рдП, рди рдХрд┐ "manage billing"ред рдмрд╛рдж рдореЗрдВ рдЕрдЧрд░ рдЙрдиреНрд╣реЗрдВ refunds рдХреА рдЬрд░реВрд░рдд рд╣реЛ рддреЛ рдПрдХ рдЕрд▓рдЧ рдЕрдиреБрд░реЛрдз рдХрд░рдХреЗ рд╕рд┐рд░реНрдл рд╡реЛ рдмрджрд▓рд╡рд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗред

рдХреБрдВрдЬреА рдкреНрд░рдмрдВрдзрди UX: рд╕реНрдХреНрд░реАрди рдФрд░ рд╢рдмреНрджрд╛рд╡рд▓реА рдЬреЛ рдЧрд▓рддрд┐рдпрд╛рдБ рд░реЛрдХреЗрдВ

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреЗрдЬ рдХреЛ рдПрдХ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рддреЗрдЬрд╝реА рд╕реЗ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП: "рдЕрднреА рдХреМрдитАСрд╕реА рдХреБрдВрдЬрд┐рдпрд╛рдБ рдореМрдЬреВрдж рд╣реИрдВ, рдФрд░ рдХреНрдпрд╛ рд╡реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИрдВ?" рдПрдХ рд╕рд░рд▓ рддрд╛рд▓рд┐рдХрд╛ рдЕрдХреНрд╕рд░ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддреА рд╣реИ: рдХреБрдВрдЬреА рдХрд╛ рдирд╛рдо, рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ, рд╕реНрдерд┐рддрд┐ (active, expired, revoked), рдЖрдЦрд╝рд┐рд░реА рдЙрдкрдпреЛрдЧ рд╕рдордп, рдФрд░ рд╕реНрдХреЛрдк рдХрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕рд╛рд░ред рдЦрд╛рд▓реА рд╕реНрдерд┐рддрд┐ рд╕рд┐рдЦрд╛рдпреЗ, рд╢рд░реНрдорд┐рдВрджрд╛ рди рдХрд░реЗ: "рдЕрднреА рдХреЛрдИ рдХреБрдВрдЬреА рдирд╣реАрдВред рдХрд┐рд╕реА рдРрдк рдпрд╛ рдкрд╛рд░реНрдЯрдирд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдирд╛рдпреЗрдВ, рд╕рд┐рд░реНрдл рдЙрдиреНрд╣реАрдВ рд╕реНрдХреЛрдкреНрд╕ рдХреЗ рд╕рд╛рде рдЬрд┐рдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред"

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

рдПрдХ рдареЛрд╕ рдХреНрд░рд┐рдПрдЯ рдлреЙрд░реНрдо рдореЗрдВ рдЖрдорддреМрд░ рдкрд░ рдпреЗ рдЪрд╛рд╣рд┐рдП:

  • Name (рдЖрд╡рд╢реНрдпрдХ): "Payroll dashboard (prod)" "Key 1" рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИред
  • Environment (рдЖрд╡рд╢реНрдпрдХ): рдЯреЗрд╕реНрдЯ рдмрдирд╛рдо рдкреНрд░реЛрдбрдХреНрд╢рди рд╕реНрдкрд╖реНрдЯ рджрд┐рдЦреЗред
  • Scopes (рдЖрд╡рд╢реНрдпрдХ): рд╕реБрд░рдХреНрд╖рд┐рдд рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдзрд┐рдХ рдЬреЛрдбрд╝ рд╕рдХреЗрдВред
  • Expiry (рд╡реИрдХрд▓реНрдкрд┐рдХ рдкрд░ рд╕реБрдЭрд╛рдИ рдЧрдИ): "90 days" рдПрдХ рдЖрд╕рд╛рди рдкреНрд░реАрд╕реЗрдЯ рд╣реИред
  • Created by / owner (рд╕реНрд╡рдЪрд╛рд▓рд┐рдд): рдмрд╛рдж рдореЗрдВ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджрд┐рдЦрд╛рдПрдБред

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

Revoke рдФрд░ Rotate рдХреЛ рдвреВрдБрдврдирд╛ рдЖрд╕рд╛рди рд░рдЦреЗрдВ, рдкрд░ рдЧрд▓рддреА рд╕реЗ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдирд╛ рдХрдард┐рдиред рдЙрдиреНрд╣реЗрдВ "Manage" рдореЗрдиреНрдпреВ рдХреЗ рдкреАрдЫреЗ рд░рдЦреЗрдВ рдФрд░ рдкреНрд░рднрд╛рд╡ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдмрддрд╛рдПрдВ:

  • Revoke: "рддреБрд░рдВрдд рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИред рдЗрд╕рдХреЛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдПрдкреНрд╕ рдлреЗрд▓ рд╣реЛрдВрдЧреАред"
  • Rotate: "рдирдИ рдХреБрдВрдЬреА рдмрдирд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рд╕реБрд░рдХреНрд╖рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░ рд╕рдХреЗрдВ, рдлрд┐рд░ рдкреБрд░рд╛рдиреА рдХреЛ revoke рдХрд░ рджреЗрдВред"

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

рдЙрдкрдпреЛрдЧ рд▓реЙрдЧреНрд╕ рдЬреЛ рд╕рдкреЛрд░реНрдЯ рдХреЗ рдмрд╛рд░тАСрдмрд╛рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рд╡рд╛рд▓реЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдВ

рдЕрдкрдирд╛ рдбрд┐рд▓рд┐рд╡рд░реЗрдмрд▓ рдирд┐рдпрдВрддреНрд░рд┐рдд рд░рдЦреЗрдВ
Self-hosting рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рдПрдХреНрд╕рдкреЛрд░реНрдЯ рдХрд░реЗрдВ рдЬрдм рдЖрдкрдХреЛ рдкреВрд░реНрдг рдирд┐рдпрдВрддреНрд░рдг рдЪрд╛рд╣рд┐рдПред
рд╕реНрд░реЛрдд рдПрдХреНрд╕рдкреЛрд░реНрдЯ рдХрд░реЗрдВ

рдЬрдм рдХреБрдЫ рдЯреВрдЯрддрд╛ рд╣реИ, рддреЛ рд╕рдкреЛрд░реНрдЯ рдЕрдХреНрд╕рд░ рд╡рд╣реА рд╕рд╡рд╛рд▓ рдкреВрдЫрддрд╛ рд╣реИ: рдХреМрдитАСрд╕реА рдХреБрдВрдЬреА рдЗрд╕реНрддреЗрдорд╛рд▓ рд╣реБрдИ, рдЙрд╕рдиреЗ рдХреНрдпрд╛ рдХреЛрд╢рд┐рд╢ рдХреА, рдФрд░ рдХреНрдпрд╛ рдмрджрд▓ рдЧрдпрд╛ред рдЕрдЪреНрдЫреЗ API рдЙрдкрдпреЛрдЧ рд▓реЙрдЧреНрд╕ рдЗрди рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рдмрдЧреИрд░ рд╕рд░реНрд╡рд░ рд▓реЙрдЧреНрд╕ рдЦреЛрджреЗрдВ рд╕реНрдкрд╖реНрдЯ рдХрд░ рджреЗрддреЗ рд╣реИрдВред

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

  • Timestamp (рдЯрд╛рдЗрдордЬрд╝реЛрди рдХреЗ рд╕рд╛рде)
  • Key ID (рдХрднреА рднреА рдкреВрд░рд╛ рд╕реАрдХреНрд░реЗрдЯ рдирд╣реАрдВ) рдФрд░ key owner
  • Endpoint рдпрд╛ action рдирд╛рдо (рдЬрд╣рд╛рдБ рд╕рдВрднрд╡ рд╣реЛ рдорд╛рдирд╡тАСрдЕрдиреБрдХреВрд▓)
  • Source IP рдФрд░ user agent (рдпрджрд┐ рдЙрдкрд▓рдмреНрдз)
  • рдкрд░рд┐рдгрд╛рдо (success, blocked by scope, auth failed, rate limited, server error) рдФрд░ response code

рд▓реЙрдЧреНрд╕ рдХреЛ рдХреБрдВрдЬреА рдХреЗ рдбрд┐рдЯреЗрд▓ рдкреЗрдЬ рд╕реЗ рдЬреЛрдбрд╝реЗрдВред рджреЛ рдЫреЛрдЯреЗ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЯрд┐рдХрдЯ рдмрдЪрд╛рддреЗ рд╣реИрдВ: First seen (рдХрднреА рдкрд╣рд▓реА рдмрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрдм рд╣реБрдЖ) рдФрд░ Last used (рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ)ред рдЕрдЧрд░ рдХрд┐рд╕реА рдХреБрдВрдЬреА рдкрд░ "never used" рджрд┐рдЦреЗ рддреЛ рд╡рд╣ рд╣рдЯрд╛рдиреЗ рд▓рд╛рдпрдХ рд╣реИред рдЕрдЧрд░ "last used" рджреЛ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рд╣реИ рддреЛ рд╡рд╣ рдЕрдЧрд▓реА рд░реЛрдЯреЗрд╢рди рдореЗрдВ рдирд╣реАрдВ рдмрдЪрдиреА рдЪрд╛рд╣рд┐рдПред

v1 рдореЗрдВ exporting рд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ filtering рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред рдлрд┐рд▓реНрдЯрд░ рд╕рд░рд▓ рдФрд░ рдЕрдиреБрдорд╛рдирдиреАрдп рд░рдЦреЗрдВ: рд╕рдордп рд╕реАрдорд╛, рд╕реНрдерд┐рддрд┐ (success vs blocked vs failed), action/scope, рдФрд░ environmentред

рд░рд┐рдЯреЗрдВрд╢рди рдПрдХ рдкреНрд░реЛрдбрдХреНрдЯ рдирд┐рд░реНрдгрдп рд╣реИ, рд╕рд┐рд░реНрдл рд╕реНрдЯреЛрд░реЗрдЬ рдирд╣реАрдВред рдХрдИ рдЯреАрдореЗрдВ UI рдореЗрдВ 30 рд╕реЗ 90 рджрд┐рдиреЛрдВ рдХрд╛ рд░реЗрдВрдЬ рджрд┐рдЦрд╛рдХрд░ рд╢реБрд░реВ рдХрд░рддреА рд╣реИрдВ рдФрд░ рдПрдбрдорд┐рдиреНрд╕ рдХреЗ рд▓рд┐рдП рд▓рдВрдмреА рд╣рд┐рд╕реНрдЯреНрд░реА рдХреЗрд╡рд▓ рдмреИрдХрдПрдВрдб рдореЗрдВ рд░рдЦрддреА рд╣реИрдВред рдЗрдВрдЯрд░рдлреЗрд╕ рдореЗрдВ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░рдЦреЗрдВ рддрд╛рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд▓реЙрдЧреНрд╕ "рдорд┐рд╕рд┐рдВрдЧ" рди рд╕рдордЭ рд▓реЗрдВред

рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рддреЛрдбрд╝реЗ рдмрд┐рдирд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реЛрдЯреЗрд╢рди рдореЙрдбрд▓

рдбреЗрдЯрд╛ рдореЙрдбрд▓ рддреЗрдЬрд╝реА рд╕реЗ рдбрд┐рдЬрд╛рдЗрди рдХрд░реЗрдВ
PostgreSQL рдореЗрдВ api_keys, scopes, рдФрд░ audit events рдХреЛ AppMaster Data Designer рд╕реЗ рдореЙрдбрд▓ рдХрд░реЗрдВред
рдирд┐рд░реНрдорд╛рдг рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ

рд░реЛрдЯреЗрд╢рди рддрднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм рдпрд╣ рднрд╡рд┐рд╖реНрдпрд╕реВрдЪрдХ рд▓рдЧреЗред рдПрдХ рд╕рд░рд▓ рдиреАрддрд┐ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВ рдЬреЛ рджреЛ рд╕рд╡рд╛рд▓реЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗ: рдХрд┐рддрдиреА рдмрд╛рд░ рдХреБрдВрдЬрд┐рдпрд╛рдБ рд░реЛрдЯреЗрдЯ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП (рд╢реЗрдбреНрдпреВрд▓), рдФрд░ рдХреМрдитАСрд╕реА рдШрдЯрдирд╛рдПрдБ рддрд╛рддреНрдХрд╛рд▓рд┐рдХ рд░реЛрдЯреЗрд╢рди рдХреЛ рдкреНрд░реЗрд░рд┐рдд рдХрд░рддреА рд╣реИрдВ (рдЗрд╡реЗрдВрдЯтАСрдбреНрд░рд┐рд╡рди)ред рд╢реЗрдбреНрдпреВрд▓реНрдб рд░реЛрдЯреЗрд╢рди рд╣рд░ 90 рджрд┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╡реЗрдВрдЯтАСрдбреНрд░рд┐рд╡рди рд░реЛрдЯреЗрд╢рди рдореЗрдВ "рдХрд░реНрдордЪрд╛рд░реА рдХрдВрдкрдиреА рдЫреЛрдбрд╝ рдЧрдпрд╛", "рдХреБрдВрдЬреА рдЯрд┐рдХрдЯ рдореЗрдВ рдкреЗрд╕реНрдЯ рд╣реЛ рдЧрдИ" рдпрд╛ "рдЕрд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧ рд╕реНрдкрд╛рдЗрдХ" рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

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

рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдлреНрд▓реЛ:

  • рдирдИ рдХреБрдВрдЬреА рдмрдирд╛рдПрдВ рдФрд░ рдЙрд╕реЗ "Active" рдорд╛рд░реНрдХ рдХрд░реЗрдВред
  • рдкреБрд░рд╛рдиреА рдХреБрдВрдЬреА рдХреЛ рднреА рд╕рдХреНрд░рд┐рдп рд░рдЦреЗрдВ, рдкрд░ рдЙрд╕реЗ "Rotate soon" рд▓реЗрдмрд▓ рджреЗрдВред
  • рдЧреНрд░рд╛рд╣рдХ рдЕрдкрдиреЗ рдХреНрд▓рд╛рдЗрдВрдЯреНрд╕ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ рдФрд░ рдХреЙрд▓реНрд╕ рдХреА рд╕рдлрд▓рддрд╛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВред
  • рдЧреНрд░рд╛рд╣рдХ "Finish rotation" рдХреНрд▓рд┐рдХ рдХрд░реЗ, рдпрд╛ рдкреБрд░рд╛рдиреА рдХреБрдВрдЬреА рдЕрдкрдиреЗ рдЖрдк рдПрдХреНрд╕рдкрд╛рдпрд░ рд╣реЛ рдЬрд╛рдПред
  • рдкреБрд░рд╛рдиреА рдХреБрдВрдЬреА "Revoked" рд╣реЛ рдЬрд╛рдП рдФрд░ рдлрд┐рд░ рд╕реЗ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдХреА рдЬрд╛ рд╕рдХрддреАред

Grace рдЕрд╡рдзрд┐ рдорд╛рдпрдиреЗ рд░рдЦрддреА рд╣реИ, рдкрд░ рдЙрдиреНрд╣реЗрдВ рд╕реНрдкрд╖реНрдЯ рд░рдЦреЗрдВред рд╕реВрдЪреА рджреГрд╢реНрдп рдореЗрдВ рдХреБрдВрдЬреА рдХреЗ рдкрд╛рд╕ рдПрдХ рдПрдХреНрд╕рдкрд╛рдпрд░реА рддрд╛рд░реАрдЦ рджрд┐рдЦрд╛рдПрдБ, рдФрд░ рдкрд╣рд▓реЗ рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБ рджрд┐рдЦрд╛рдПрдБ (рдЙрджрд╛рд╣рд░рдг: 14 рджрд┐рди, 3 рджрд┐рди, 24 рдШрдВрдЯреЗ)ред "expiring soon" рдЬреИрд╕рд╛ рдЕрд╕реНрдкрд╖реНрдЯ рд╢рдмреНрдж рдкреНрд░рдпреЛрдЧ рди рдХрд░реЗрдВред рдареЛрд╕ рд╢рдмреНрджреЛрдВ рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВ: "This key stops working on Jan 30 at 10:00 UTC."

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

  • рд░реЗрдЯ рд▓рд┐рдорд┐рдЯ рдкреНрд░рддрд┐ рдХреБрдВрдЬреА рдФрд░ рдкреНрд░рддрд┐ IP рд░рдЦреЗрдВ, рд╕рд┐рд░реНрдл рдкреНрд░рддрд┐ рдЕрдХрд╛рдЙрдВрдЯ рдирд╣реАрдВред
  • 401 рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЯрд╛рдЗрдордЖрдЙрдЯ рд╕реЗ рдЕрд▓рдЧ рдЯреНрд░реАрдЯ рдХрд░реЗрдВред
  • рдкрд╣рд▓реЗ рдЪреЗрддрд╛рд╡рдиреА рджреЗрдВ, рдлрд┐рд░ рдЕрд╕реНрдерд╛рдпреА рдереНрд░реЙрдЯрд▓ рдХрд░реЗрдВ, рдлрд┐рд░ рдирдИ рдХреБрдВрдЬреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдмрддрд╛рдПрдВред
  • рд╣рдореЗрд╢рд╛ UI рдореЗрдВ рдХрд╛рд░рдг рджрд┐рдЦрд╛рдПрдБ: "Throttled due to 120 requests/min."

рдЙрджрд╛рд╣рд░рдг: рдПрдХ рдкрд╛рд░реНрдЯрдирд░ рдЖрдкрдХреА API рдХреЛ рджреЛ рдХреНрд╖реЗрддреНрд░ рд╕реЗ рдкреНрд░рдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд░реЛрдЯреЗрд╢рди рдХреЗ рджреМрд░рд╛рди рджреЛрдиреЛрдВ рдХреБрдВрдЬрд┐рдпрд╛рдБ 7 рджрд┐рдиреЛрдВ рддрдХ рдХрд╛рдо рдХрд░реЗрдВ, рддрд╛рдХрд┐ рдЙрдирдХрд╛ рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯ рд╕реБрд░рдХреНрд╖рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рд░реЛрд▓ рдЖрдЙрдЯ рд╣реЛ рд╕рдХреЗ рдмрд┐рдирд╛ рдордзреНрдпрд░рд╛рддреНрд░рд┐ рдХрдЯрдУрд╡рд░ рдпрд╛ рд╕рдкреЛрд░реНрдЯ рдЯрд┐рдХрдЯ рдХреЗред

рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдФрд░ рдЕрд▓рд░реНрдЯ: рдХреНрдпрд╛ рджрд┐рдЦрд╛рдПрдБ, рдХреНрдпрд╛ рдиреЛрдЯрд┐рдлрд╝рд╛рдИ рдХрд░реЗрдВ

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

рдХреБрдВрдЬреА рд╕реВрдЪреА рдореЗрдВ рд╕реНрдерд┐рддрд┐ рдЪрд┐рдкреНрд╕ рджрд┐рдЦрд╛рдПрдБ рдЬрд┐рдиреНрд╣реЗрдВ рд▓реЛрдЧ рдЬрд▓реНрджреА рд╕реНрдХреИрди рдХрд░ рд╕рдХреЗрдВред "Active" рдФрд░ "Revoked" рд╕реНрдкрд╖реНрдЯ рд╣реИрдВ, рдкрд░ "Expiring soon" рдЕрдирдкреЗрдХреНрд╖рд┐рдд рдбрд╛рдЙрдирдЯрд╛рдЗрдо рд░реЛрдХрддрд╛ рд╣реИред "Last used" рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдФрд░ "Never used" рдЬреЛрдбрд╝реЗрдВ рддрд╛рдХрд┐ рдЯреАрдореЗрдВ рдкреБрд░рд╛рдиреА рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдореЗрдВ рдирд┐рдГрд╕рдВрджреЗрд╣ рд╣реЛрдВред

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

  • рд░рд┐рдХреНрд╡реЗрд╕реНрдЯреНрд╕ рдпрд╛ рдлреЗрд▓рд┐рдпрд░реНрд╕ рдореЗрдВ рдЕрдЪрд╛рдирдХ рд╕реНрдкрд╛рдЗрдХ (рдЦрд╛рд╕рдХрд░ рдХрдИ 401s)
  • рдкрд╣рд▓реА рдмрд╛рд░ рдирдП IP рд░реЗрдВрдЬ рдпрд╛ рджреЗрд╢ рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛рдирд╛ (рдпрджрд┐ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рдкрддрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)
  • рдПрдХ рдХреБрдВрдЬреА рдЬреЛ рд╣рдлрд╝реНрддреЛрдВ рд╕реЗ рд╢рд╛рдВрдд рдереА рдФрд░ рдЕрдЪрд╛рдирдХ рдХреЙрд▓ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддреА рд╣реИ

рдиреЛрдЯрд┐рдлрд╝рд┐рдХреЗрд╢рди рджреБрд░реНрд▓рдн рдФрд░ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рдпрди рдпреЛрдЧреНрдп рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рд╣рд░ рдЪреАрдЬ рдкрд░ рдЕрд▓рд░реНрдЯ рдХрд░рдиреЗ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореНрдпреВрдЯ рдХрд░ рджреЗрдВрдЧреЗ рдФрд░ рдЕрд╕рд▓ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдВрджреЗрд╢ рдЫреВрдЯ рд╕рдХрддрд╛ рд╣реИред рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ v1 рд╕реЗрдЯ:

  • рдХреБрдВрдЬреА рдЬрд▓реНрдж рд╣реА рдПрдХреНрд╕рдкрд╛рдпрд░ рд╣реЛ рд░рд╣реА рд╣реИ (рдЙрджрд╛., 7 рджрд┐рди рдФрд░ 1 рджрд┐рди)
  • рд▓рдВрдмреЗ рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдХреЗ рдмрд╛рдж рдкрд╣рд▓реА рдмрд╛рд░ рдЙрдкрдпреЛрдЧ
  • рдХрдо рд╕рдордп рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА 401s

рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╕реНрдХреЛрдкреНрд╕ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрдд рдЧреЗрдЯ (рдЬреИрд╕реЗ MFA рдпрд╛ рдЕрдкреНрд░реВрд╡рд▓ рд╕реНрдЯреЗрдк) рдЬреЛрдбрд╝рдирд╛ рдареАрдХ рд╣реИред рдЬрд╣рд╛рдБ рдкреНрд░рднрд╛рд╡ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реЛ рд╡рд╣рд╛рдБ рдЗрд╕рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВ, рд╣рд░ рдЬрдЧрд╣ рдирд╣реАрдВред

рдмреИрдХрдПрдВрдб рдФрд░ рдбреЗрдЯрд╛ рдореЙрдбрд▓: рдХреНрдпрд╛ рд╕реНрдЯреЛрд░ рдХрд░рдирд╛ рд╣реИ (рдФрд░ рдХреНрдпрд╛ рдирд╣реАрдВ)

рд╕реНрдХреЛрдкреНрд╕ рдХреЛ рдЙрдкрдпреЛрдЧреА рд░рдЦреЗрдВ
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗрдХрдВрдбреЛрдВ рдореЗрдВ рдЪреБрди рд╕рдХреЗрдВ рдРрд╕реЗ least-privilege scope рдмрдВрдбрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХрд░реЗрдВред
рдЕрднреА рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХрд░реЗрдВ

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

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

рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрд░ рдЯреЗрдмрд▓реНрд╕

рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдиреНрдпреВрдирддрдо:

  • api_keys: id, owner_id, environment, status (active/revoked), created_at, last_used_at, expires_at (optional), key_prefix, secret_hash, rotated_from_key_id (optional)
  • scopes: id, name, description, risk_level (optional)
  • api_key_scopes: api_key_id, scope_id
  • audit_events: actor_id, action, target_type, target_id, metadata, created_at

рдЕрдкрдирд╛ рд╕реНрдХреЛрдк рдореЙрдбрд▓ рд╕реНрдерд┐рд░ рд░рдЦреЗрдВред рд╕реНрдХреЛрдкреНрд╕ рдХрд╛ рдмрд╛рдж рдореЗрдВ рдирд╛рдо рдмрджрд▓рдирд╛ рдпрд╛ рд╣рдЯрд╛рдирд╛ рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди рддреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд▓реЙрдЧреНрд╕ рдХреЛ рднреНрд░рдорд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдХрднреА рднреА рдХрдЪреНрдЪрд╛ рд╕реАрдХреНрд░реЗрдЯ рд╕реНрдЯреЛрд░ рди рдХрд░реЗрдВ

API рдХреБрдВрдЬреА рдХреЛ рдкрд╛рд╕рд╡рд░реНрдб рдХреА рддрд░рд╣ рдорд╛рдиреЗрдВред рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рд╕рд┐рд░реНрдл рдПрдХтАСрддрд░рдлрд╛ рд╣реИрд╢ рдХреЗ рд░реВрдк рдореЗрдВ рд░рдЦреЗрдВ (рдкреНрд░рддрд┐тАСрдХреА рд╕реЙрд▓реНрдЯ рдХреЗ рд╕рд╛рде)ред рд╕рдкреЛрд░реНрдЯ рдФрд░ UX рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛, рдЧреИрд░тАСрд╕реАрдХреНрд░реЗрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЬреИрд╕реЗ рдкреНрд░реАрдлрд╝рд┐рдХреНрд╕ рд░рдЦреЗрдВ (рдЙрджрд╛рд╣рд░рдг: "live_2F9KтАж") рддрд╛рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рдЕрд▓рдЧ рдмрддрд╛ рд╕рдХреЗрдВред

рд░реЛрдЯреЗрд╢рди рдХреЗ рд▓рд┐рдП рдирдИ рдФрд░ рдкреБрд░рд╛рдиреА рдХреБрдВрдЬреА рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз (rotated_from_key_id) рд╕реНрдЯреЛрд░ рдХрд░реЗрдВред рдЗрд╕рд╕реЗ рдЖрдкрдХреЛ рдкреБрд░рд╛рдиреЗ рд╕реАрдХреНрд░реЗрдЯреНрд╕ рд░рдЦреЗ рдмрд┐рдирд╛ рд╕рд╛рдлрд╝ рдЗрддрд┐рд╣рд╛рд╕ рдорд┐рд▓рддрд╛ рд╣реИред

рдСрдбрд┐рдЯ рдЯреНрд░реЗрд▓ рдФрд░ рдПрдХреНрд╕реЗрд╕ рдХрдВрдЯреНрд░реЛрд▓

рд╣рд░ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдмрджрд▓рд╛рд╡ рдПрдХ рдСрдбрд┐рдЯ рдЗрд╡реЗрдВрдЯ рдкреИрджрд╛ рдХрд░реЗ: created, scope changed, rotated, revoked, рдФрд░ "viewed logs"ред рд╢реБрд░реВ рдореЗрдВ рддрдп рдХрд░реЗрдВ рдХреМрди рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рдЖрдо рд╕реЗрдЯрдЕрдк: рдПрдбрдорд┐рдиреНрд╕ рдЬреЛ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рдореИрдиреЗрдЬ рдФрд░ рд╕рднреА рд▓реЙрдЧреНрд╕ рджреЗрдЦ рд╕рдХреЗрдВ, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЬреЛ рдЕрдкрдиреА рдХреБрдВрдЬрд┐рдпрд╛рдБ рдореИрдиреЗрдЬ рдФрд░ рдЕрдкрдиреА рд▓реЙрдЧреНрд╕ рджреЗрдЦ рд╕рдХреЗрдВ, рдФрд░ рд╕рдкреЛрд░реНрдЯ/рд░реАрдбтАСрдУрдирд▓реА рд░реЛрд▓ рдЬреЛ рд▓реЙрдЧреНрд╕ рджреЗрдЦ рд╕рдХреЗрдВ рдкрд░ рд╕реАрдХреНрд░реЗрдЯреНрд╕ рди рджреЗрдЦреЗрдВ рдФрд░ рд╕реНрдХреЛрдк рдмрджрд▓ рди рд╕рдХреЗрдВред

рд╕рд╛рдорд╛рдиреНрдп рдЧрд▓рддрд┐рдпрд╛рдБ рдЬреЛ рд╕реБрд░рдХреНрд╖рд╛ рдЬреЛрдЦрд┐рдо рдФрд░ рд╕рдкреЛрд░реНрдЯ рд▓реЛрдб рдмрдврд╝рд╛рддреА рд╣реИрдВ

рд░реЛрдЯреЗрд╢рди рдХреЛ рд╕рдкреЛрд░реНрдЯ рджреБрдГрдЦреЛрдВ рдореЗрдВ рдмрджрд▓рдиреЗ рдХрд╛ рддреЗрдЬрд╝ рдорд╛рд░реНрдЧ рдПрдХ рдРрд╕рд╛ UI рдирд┐рдХрд╛рд▓рдирд╛ рд╣реИ рдЬреЛ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдмрдирд╛рдПред рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдорд╕реНрдпрд╛рдПрдБ рдХреБрдЫ рдЕрдиреБрдорд╛рдирд┐рдд рдЬрд╛рд▓реЛрдВ рд╕реЗ рдЖрддреА рд╣реИрдВред

рдЕрддреНрдпрдзрд┐рдХ рдЙрджрд╛рд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ

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

рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдкреИрдЯрд░реНрди рдиреНрдпреВрдирддрдо рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реНрдХреЛрдкреНрд╕ рд╣реИ рдФрд░ рдЬрдм рдХреБрдЫ рдлреЗрд▓ рд╣реЛ рддреЛ рд╕реНрдкрд╖реНрдЯ рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рдПрдБ: "missing scope: invoices.read." рдЕрдЧрд░ "full access" рд╡рд┐рдХрд▓реНрдк рдЪрд╛рд╣рд┐рдП рддреЛ рдЙрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╡рд┐рдХрд▓реНрдк рдФрд░ рдЫреЛрдЯрд╛ рд╡рд╛рд░реНрдирд┐рдВрдЧ рджреЗрдВред

рд░рд╣рд╕реНрдпрдордпреА рдХреБрдВрдЬрд┐рдпрд╛рдБ рдФрд░ рдЕрд╕реНрдкрд╖реНрдЯ рдЖрдЙрдЯреЗрдЬ

рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рдПрдХ рдорд╛рд▓рд┐рдХ рдФрд░ рдЙрджреНрджреЗрд╢реНрдп рдЪрд╛рд╣рд┐рдПред рдЗрди рдлрд╝реАрд▓реНрдбреНрд╕ рдХреЗ рдмрд┐рдирд╛ рдЖрдкрдХреЛ рдпреЗ рдЯрд┐рдХрдЯ рдорд┐рд▓рддреЗ рд╣реИрдВ: "рдХреМрдитАСрд╕реА рдХреБрдВрдЬреА рдмреНрд░реЗрдХ рдХрд░ рд░рд╣реА рд╣реИ?" рдФрд░ "рдХреНрдпрд╛ рд╣рдо рдЗрд╕реЗ рдбрд┐рд▓реАрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?"

рдХреНрд░рд┐рдПрд╢рди рдХреЗ рд╕рдордп рджреЛ рдЫреЛрдЯреЗ рдЗрдирдкреБрдЯ рдорд╛рдБрдЧреЗрдВ:

  • Owner (рд╡реНрдпрдХреНрддрд┐ рдпрд╛ рдЯреАрдо)
  • Purpose (рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЯреИрдЧрд▓рд╛рдЗрди рдЬреИрд╕реЗ "Zapier integration" рдпрд╛ "Partner ABC sandbox")

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

рд▓реЙрдЧреНрд╕ рдЬреЛ рдмреБрдирд┐рдпрд╛рджреА рд╕рд╡рд╛рд▓реЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджреЗрддреЗ

рд▓реЙрдЧреНрд╕ рдЕрдХреНрд╕рд░ рдЗрд╕рд▓рд┐рдП рдЕрд╕рдлрд▓ рд╣реЛрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдореЗрдВ рд╕рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬрд░реВрд░реА рдЪреАрдЬрд╝ рдирд╣реАрдВ рд╣реЛрддреА: рдХреМрдитАСрд╕реА рдХреБрдВрдЬреА рдЗрд╕реНрддреЗрдорд╛рд▓ рд╣реБрдИред рдПрдХ рдЙрдкрдпреЛрдЧреА рдПрдВрдЯреНрд░реА рдореЗрдВ key id (рд╕реАрдХреНрд░реЗрдЯ рдирд╣реАрдВ), timestamp, endpoint/action, environment, рдФрд░ result (status code рдХреЗ рд╕рд╛рде) рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдмрд┐рдирд╛ result codes рдХреЗ рдЖрдк "рдмреБрд░реА рдХреБрдВрдЬреА" рдХреЛ "рдорд┐рд╕рд┐рдВрдЧ рд╕реНрдХреЛрдк" рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред

тАЬрд╕рд╣рд╛рдпрддрд╛ рдХрд░рдиреЗтАЭ рд╡рд╛рд▓реА UX рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реАрдХреНрд░реЗрдЯ рдХрд╛ рд▓реАрдХ рд╣реЛрдирд╛

рдмрдирд╛рддреЗ рд╕рдордп рдХрднреА рднреА рд╕реАрдХреНрд░реЗрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рди рджрд┐рдЦрд╛рдПрдБ, рдФрд░ рдЗрд╕реЗ рдИрдореЗрд▓ рди рдХрд░реЗрдВред рдЗрд╕реЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯреНрд╕, рдПрдХреНрд╕рдкреЛрд░реНрдЯ рдпрд╛ "share with teammate" рдлреНрд▓реЛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рди рдХрд░реЗрдВред рдЕрдЧрд░ рдХрд┐рд╕реА рдиреЗ рдЦреЛ рджрд┐рдпрд╛ рд╣реИ рддреЛ рд╕рдорд╛рдзрд╛рди рд╕рд░рд▓ рд╣реИ: рдирдИ рдХреБрдВрдЬреА рдмрдирд╛рдПрдВ рдФрд░ рд░реЛрдЯреЗрдЯ рдХрд░реЗрдВред

рд╢рд┐рдк рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рддреЗрдЬрд╝ рдЪреЗрдХрд▓рд┐рд╕реНрдЯ

рдЖрдВрддрд░рд┐рдХ рдПрдбрдорд┐рди UI рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ
рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ keys, scopes, рдФрд░ role-based access рдХреЗ рд▓рд┐рдП admin UI рднреЗрдЬреЗрдВред
рдПрдбрдорд┐рди рдкреИрдирд▓ рдмрдирд╛рдПрдВ

рд╢рд┐рдк рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рддреЗрдЬрд╝ рд╕рдкреЛрд░реНрдЯтАСрдФрд░тАСрд╕рд┐рдХреНрдпреЛрд░рд┐рдЯреА рдкрд╛рд╕ рдХрд░реЗрдВред рдПрдХ рдЕрдЪреНрдЫрд╛ рдХреБрдВрдЬреА рд╕реНрдХреНрд░реАрди рд╕рд┐рд░реНрдл рдХреБрдВрдЬрд┐рдпрд╛рдБ рдмрдирд╛рдирд╛ рдирд╣реАрдВ рд╣реИтАФрдпрд╣ рд╕реБрд░рдХреНрд╖рд┐рдд рд╡рд┐рдХрд▓реНрдк рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред

  • рд╣рд░ рдХреБрдВрдЬреА рдХреА рд╕реНрдкрд╖реНрдЯ ownership рдФрд░ purpose рд╣реЛред рдЕрдЧрд░ рдЖрдк рдЬрд╡рд╛рдм рдирд╣реАрдВ рджреЗ рд╕рдХрддреЗ "рдпрд╣ рдХрд┐рд╕рдХрд╛ рд╣реИ рдФрд░ рдХреНрдпреЛрдВ рдореМрдЬреВрдж рд╣реИ?" рддреЛ рдмрд╛рдж рдореЗрдВ рдЖрдкрдХреЛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧреАред
  • рдЖрдк рдПрдХ рдЬрдЧрд╣ рдкрд░ "рдХрд┐рд╕рдиреЗ рдЖрдЦрд╝рд┐рд░реА рдмрд╛рд░ рдЗрд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛?" рдХрд╛ рдЬрд╡рд╛рдм рджреЗ рд╕рдХреЗрдВред рд╣рд░ рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП last used time, environment, рдФрд░ calling app/client рджрд┐рдЦрд╛рдПрдБ (рдЬрд╣рд╛рдБ рддрдХ рдкрд╣рдЪрд╛рдирд╛ рдЬрд╛ рд╕рдХреЗ)ред
  • рд░реЛрдЯреЗрд╢рди рд╡реНрдпрд╕реНрдд рджрд┐рди рдкрд░ рднреА рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реЛред рдЯреНрд░рд╛рдВрдЬрд╝рд┐рд╢рди рдХреЗ рджреМрд░рд╛рди рджреЛ рд╕рдХреНрд░рд┐рдп рдХреБрдВрдЬрд┐рдпрд╛рдБ рд╕рдкреЛрд░реНрдЯ рдХрд░реЗрдВ рдФрд░ рдПрдХ рд╕рд░рд▓ рдпреЛрдЬрдирд╛ рджрд┐рдЦрд╛рдПрдБ: рдирдИ рдХреБрдВрдЬреА рдмрдирд╛рдПрдВ, рдХреНрд▓рд╛рдЗрдВрдЯ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ, рдЯреНрд░реИрдлрд╝рд┐рдХ рдХрдиреНрдлрд░реНрдо рдХрд░реЗрдВ, рдлрд┐рд░ рдкреБрд░рд╛рдиреА рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░реЗрдВред
  • рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╕реНрдХреЛрдкреНрд╕ рд╕реНрдкрд╖реНрдЯ рдФрд░ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╣реЛрдВред рдЙрдЪреНрдЪтАСрдЗрдореНрдкреИрдХреНрдЯ рд╕реНрдХреЛрдкреНрд╕ рдХреЛ рд╕рд╛рджреЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рд▓реЗрдмрд▓ рдХрд░реЗрдВ рдФрд░ рдЬрдм рдХреЛрдИ рдорд╛рдБрдЧреЗ рддреЛ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдЯреЗрдк рдбрд╛рд▓реЗрдВред
  • рд░рд┐рд╡реЛрдХреЗрд╢рди рддреЗрдЬрд╝ рдФрд░ рдкреНрд░рднрд╛рд╡ рдорд╛рдкрдиреЗ рдпреЛрдЧреНрдп рд╣реЛред рд▓реАрдХ рд╣реБрдИ рдХреБрдВрдЬреА рд╕реЗрдХрдВрдбреНрд╕ рдореЗрдВ revoke рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдФрд░ рд▓реЙрдЧреНрд╕ рдХреЛ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХреНрдпрд╛ рд╣реБрдЖред

рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдиреЛтАСрдХреЛрдб рдЯреВрд▓ рдореЗрдВ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдЗрди рдмрд┐рдВрджреБрдУрдВ рдХреЛ UI рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреА рддрд░рд╣ рдорд╛рдиреЗрдВ, "рдмрд╛рдж рдХреА рд╕реБрдзрд╛рд░" рдХреА рддрд░рд╣ рдирд╣реАрдВред рдпреЗ рддрдп рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХреБрдВрдЬреА рдкреНрд░рдмрдВрдзрди рдШрдЯрдирд╛рдУрдВ рдХреЛ рдШрдЯрд╛рдПрдЧрд╛ рдпрд╛ рдкреИрджрд╛ рдХрд░реЗрдЧрд╛ред

рдЙрджрд╛рд╣рд░рдг: рдкрд╛рд░реНрдЯрдирд░ рдХреЛ рдПрдХреНрд╕реЗрд╕ рджреЗрдирд╛ рдмрд┐рдирд╛ рдкреВрд░рд╛ рдЕрдХрд╛рдЙрдВрдЯ рджреЗ рджрд┐рдП

рдЬрд╣рд╛рдБ рдЪрд╛рд╣реЗрдВ рддреИрдирд╛рдд рдХрд░реЗрдВ
AppMaster Cloud рдпрд╛ рдЕрдкрдиреА AWS, Azure, рдпрд╛ Google Cloud рд╕реЗрдЯрдЕрдк рдкрд░ рддреИрдирд╛рдд рдХрд░реЗрдВред
рдРрдк рддреИрдирд╛рдд рдХрд░реЗрдВ

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

рдпрд╣рд╛рдБ рдПрдХ рд╕рд░рд▓, рд╕реБрд░рдХреНрд╖рд┐рдд рдлреНрд▓реЛ рд╣реИ рдЬреЛ рдкрд╛рд░реНрдЯрдирд░ рдХреЗ рд▓рд┐рдП рддреЗрдЬрд╝ рднреА рд▓рдЧреЗред рдбреЗрд╡рд▓рдкрд░ рдкреЛрд░реНрдЯрд▓ рдореЗрдВ рдЦрд╛рддрд╛ рдорд╛рд▓рд┐рдХ "Logistics Partner - Orders Read" рдирд╛рдо рд╕реЗ рдирдИ рдХреБрдВрдЬреА рдмрдирд╛рддрд╛ рд╣реИред рд╡реЗ orders:read рдЬреИрд╕рд╛ readтАСonly рд╕реНрдХреЛрдк рдЪреБрдирддреЗ рд╣реИрдВ (рдФрд░ рдФрд░ рдХреБрдЫ рдирд╣реАрдВ), рдПрдХ рдПрдХреНрд╕рдкрд╛рдпрд░реА рдбреЗрдЯ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ (рдЙрджрд╛., 90 рджрд┐рди), рдФрд░ рдпрджрд┐ рд╡реНрдпрд╡рд╣рд╛рд░рд┐рдХ рд╣реЛ рддреЛ рдЗрд╕реЗ рдПрдХ рдЬрд╛рдиреА рд╣реБрдИ IP рд░реЗрдВрдЬ рддрдХ рд▓реЙрдХ рдХрд░ рджреЗрддреЗ рд╣реИрдВред

рдХреЙрдкреА рд╕реНрдЯреЗрдк рдХреЛ рд╕реНрдкрд╖реНрдЯ рдмрдирд╛рдПрдВ: рдЯреЛрдХрди рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рджрд┐рдЦрд╛рдПрдБ, рдФрд░ рд╕реНрдкрд╖реНрдЯ рдЯреЗрдХреНрд╕реНрдЯ рджреЗрдВ "Copy now. You will not be able to view this key again." рдпрд╣ рдПрдХ рд╡рд╛рдХреНрдп рдХрдИ рд╕рдкреЛрд░реНрдЯ рдЯрд┐рдХрдЯ рдмрдЪрд╛рддрд╛ рд╣реИред

рдХреБрдЫ рджрд┐рди рдмрд╛рдж рдкрд╛рд░реНрдЯрдирд░ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ рдХрд┐ "API рдбрд╛рдЙрди рд╣реИ" рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдПрд░рд░ рджрд┐рдЦ рд░рд╣реА рд╣реИрдВред рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧ рд▓реЙрдЧреНрд╕ рдХреБрдЫ рд╕реЗрдХрдВрдб рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рджреЗ рджреЗрдВрдЧреЗ:

  • рдХрд┐рд╕ endpoint рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛, рдФрд░ рдХрд┐рд╕ рдХреБрдВрдЬреА рдиреЗ рдЗрд╕реЗ рдХрд┐рдпрд╛
  • status code рдФрд░ рд▓реМрдЯрд╛рдИ рд╣реБрдИ error message
  • IP address рдФрд░ user agent (рдпрджрд┐ рд▓рд╛рдЧреВ)
  • рд╕рдкреЛрд░реНрдЯ рдлреЙрд▓реЛтАСрдЕрдк рдХреЗ рд▓рд┐рдП timestamp рдФрд░ request ID

рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ рд▓реЙрдЧ рдЕрдХреНрд╕рд░ рдХреБрдЫ рд╕рд░рд▓ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ: рд╡реЗ /orders/update рдХреЛ orders:read рд╡рд╛рд▓реА рдХреБрдВрдЬреА рд╕реЗ рдХреЙрд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдпрд╛ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯреНрд╕ рдХрд┐рд╕реА рдирдИ IP рд╕реЗ рдЖ рд░рд╣реА рд╣реИрдВ рдЬреЛ allowlist рдореЗрдВ рдирд╣реАрдВ рд╣реИред рдЕрдм рд╕рдкреЛрд░реНрдЯ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдлрд┐рдХреНрд╕ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реИ рдмрдЬрд╛рдп рдЕрдиреБрдорд╛рди рдХреЗред

рд░реЛрдЯреЗрд╢рди рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рдЕрдЪреНрдЫрд╛ UX рдЦреБрдж рдХреЛ рд╕рд╛рдмрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЕрдЧрд░ рдкрд╛рд░реНрдЯрдирд░ рдХреЗ рдПрдХ рдареЗрдХреЗрджрд╛рд░ рдЪрд▓реА рдЧрдИ, рдЖрдк рдЙрд╕реА orders:read рд╕реНрдХреЛрдк рдХреЗ рд▓рд┐рдП рдирдИ рдХреБрдВрдЬреА рдмрдирд╛рдИрдП, рджреЛрдиреЛрдВ рдХреБрдВрдЬреА рдереЛрдбрд╝реА рдУрд╡рд░рд▓реИрдк рд╡рд┐рдВрдбреЛ рдХреЗ рд▓рд┐рдП рд╡реИрдз рд░рдЦреЗрдВ, рдлрд┐рд░ рдирдИ рдХреБрдВрдЬреА рдкрд░ рдкреБрд╖реНрдЯрд┐ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдкреБрд░рд╛рдиреА рдХреЛ revoke рдХрд░реЗрдВред

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

рдЕрдЧрд▓реЗ рдХрджрдо: v1 рд╢рд┐рдк рдХрд░реЗрдВ, рдлрд┐рд░ рдмрд┐рдирд╛ рд╕рдм рдХреБрдЫ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦреЗ рд╕реБрдзрд╛рд░ рдХрд░реЗрдВ

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

рддреАрди рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдмреНрд▓реЙрдХреНрд╕ рд╕реЗ рд╢реБрд░реБрдЖрдд рдХрд░реЗрдВ: keys, scopes, рдФрд░ logsред рдкрд╣рд▓реЗ рд╕реНрдХреЛрдкреНрд╕ рдХреЛ рдореЛрдЯреЗ рд░рдЦреЗрдВ (read, write, admin) рдФрд░ рджрд░реНрдЬрдиреЛрдВ рдЫреЛрдЯреЗ рдкрд░рдорд┐рд╢рдиреНрд╕ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдкрд░рд╣реЗрдЬрд╝ рдХрд░реЗрдВ рдЬрдм рддрдХ рдХрд┐ рдЙрдирдХреА рдЬрд╝рд░реВрд░рдд рд╕рд╛рдмрд┐рдд рди рд╣реЛред рд░реЛрдЯреЗрд╢рди рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдмрдирд╛рдЗрдП: рджреВрд╕рд░реА рдХреБрдВрдЬреА рдмрдирд╛рдЗрдП, рдЯреЗрд╕реНрдЯ рдХреАрдЬрд┐рдпреЗ, рдлрд┐рд░ рдкреБрд░рд╛рдиреА рдХреЛ revoke рдХреАрдЬрд┐рдпреЗред

рдПрдХ рд╕рд░рд▓ v1 рдЪреЗрдХрд▓рд┐рд╕реНрдЯ рдЬреЛ рдХрд╛рдо рдХрд░рддреА рд╣реИ:

  • 6 рд╕реЗ 12 рд╕реНрдХреЛрдкреНрд╕ рдЕрдзрд┐рдХрддрдо, рд╣рд░ рдПрдХ рдХреЗ рдХреНрдпрд╛ рдЕрдиреБрдорддрд┐ рд╣реИрдВ рдЙрд╕рдХреЗ рд╕реНрдкрд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде
  • рдкреНрд░рддрд┐тАСрдХреА рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ (prod рдмрдирд╛рдо sandbox) рдФрд░ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдУрдирд░
  • рдЙрдкрдпреЛрдЧ рд▓реЙрдЧреНрд╕ рдореЗрдВ рд╕рдордп, endpoint/action, status code, рдФрд░ key label
  • рдПрдХ рд░реЛрдЯреЗрдЯ рдлреНрд▓реЛ рдЬреЛ рдУрд╡рд░рд▓реИрдк (рджреЛ рд╕рдХреНрд░рд┐рдп рдХреБрдВрдЬрд┐рдпрд╛рдБ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ) рд╕рдкреЛрд░реНрдЯ рдХрд░реЗ
  • рдПрдХ revoke рдХреНрд░рд┐рдпрд╛ рдЬреЛ рдЧрд▓рддреА рд╕реЗ рдХреНрд▓рд┐рдХ рдХрд░рдирд╛ рдХрдард┐рди рд╣реЛ

v1 рд▓рд╛рдЗрд╡ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЬрд╣рд╛рдБ рд╕рдкреЛрд░реНрдЯ рдЯрд┐рдХрдЯ рдШрдЯрддреЗ рд╣реИрдВ рд╡рд╣рд╛рдБ рдкреЙрд▓рд┐рд╢ рдЬреЛрдбрд╝реЗрдВред рд▓реЙрдЧ рдлрд╝рд┐рд▓реНрдЯрд░ (рддрд┐рдерд┐ рд░реЗрдВрдЬ, рд╕реНрдерд┐рддрд┐, endpoint/action) рдЖрдорддреМрд░ рдкрд░ рдкрд╣рд▓рд╛ рдЬреАрдд рд╣реИрдВред рдЕрд▓рд░реНрдЯреНрд╕ рдЕрдЧрд▓реЗ: рд╕реНрдкрд╛рдЗрдХреНрд╕, рдмрд╛рд░тАСрдмрд╛рд░ auth рдлреЗрд▓реНрдпрд░реНрд╕, рдпрд╛ рд▓рдВрдмреЗ рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдХреЗ рдмрд╛рдж рдкрд╣рд▓реА рдмрд╛рд░ рдЙрдкрдпреЛрдЧ рдкрд░ рдиреЛрдЯрд┐рдлрд╛рдЗ рдХрд░реЗрдВред рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╕реНрдХреЛрдкреНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдкреНрд░реВрд╡рд▓ рд╕реНрдЯреЗрдк рдЬреЛрдбрд╝реЗрдВ рдмрдЬрд╛рдп рдХрд┐ рд╕рдм рдХреБрдЫ "adminтАСonly" рдХрд░ рджреЗрдВред

рдкреНрд░реЛрдбрдХреНрдЯ рдХреЗ рднреАрддрд░ рд╣реА UX рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд░реЗрдВ, рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рдмрдЧрд▓ рдореЗрдВред рдЫреЛрдЯрд╛ рд╣реЗрд▓реНрдкрд░ рдЯреЗрдХреНрд╕реНрдЯ рд▓рдВрдмреЗ рдбреЙрдХ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИ, рдЬреИрд╕реЗ: "Rotate keys during business hours. Keep both keys active until you confirm traffic has switched."

рдпрджрд┐ рдЖрдк рддреЗрдЬрд╝реА рд╕реЗ рд╕реНрд╡рдпрдВтАСрд╕реЗрд╡рд╛ рдкреЛрд░реНрдЯрд▓ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдиреЛтАСрдХреЛрдб рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЗрд╕реЗ рдЕрдЪреНрдЫрд╛ рдореЙрдбрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ: Keys рдЯреЗрдмрд▓, Scopes рдЯреЗрдмрд▓, KeyтАСScope рдЬреЙрдЗрди, Logs рдЯреЗрдмрд▓, рдФрд░ admins рддрдерд╛ support рдХреЗ рд▓рд┐рдП рд░реЛрд▓реНрд╕ред AppMaster (appmaster.io) рдкрд░, рдЖрдк PostgreSQL Data Designer рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, Business Process Editor рдореЗрдВ рд░реЛрдЯреЗрд╢рди рдФрд░ рдЕрдкреНрд░реВрд╡рд▓реНрд╕ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдПрдХ admin рдкреИрдирд▓ рд╡ рдЧреНрд░рд╛рд╣рдХ рдкреЛрд░реНрдЯрд▓ UI рдЬрд▓реНрджреА рд╕реЗ рддреИрдирд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВтАФрдХреНрд▓рд╛рдЙрдб рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдпрд╛ рд╕реНрд░реЛрдд рдПрдХреНрд╕рдкреЛрд░реНрдЯ рд╡рд┐рдХрд▓реНрдк рджреЛрдиреЛрдВ рдореМрдЬреВрдж рд╣реИрдВред

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

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

рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдУ
API рдХреБрдВрдЬреА рд░реЛрдЯреЗрд╢рди UX: рд╕реНрдХреЛрдк, рд╕реНрд╡рдпрдВ-рд╕реЗрд╡рд╛ рдХреБрдВрдЬреА рдФрд░ рд▓реЙрдЧреНрд╕ | AppMaster