8base рдлреАрдЪрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕реНрд▓реИрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдирд╛

рдЫрд╡рд┐

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

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдПрдХ рд╕реНрд▓реИрдХ рдмреЙрдЯ рдмрдирд╛рдПрдВрдЧреЗ рдЬреЛ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдмрдВрдзрд┐рдд рдИ-рдХреЙрдорд░реНрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдПрдХ рдСрд░реНрдбрд░ рдмрдирд╛рддреЗ рд╕рдордп рдЕрдкрдбреЗрдЯ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред

рдИ-рдХреЙрдорд░реНрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо 8base рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдПрдХ рд╕рд░реНрд╡рд░ рд░рд╣рд┐рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдЯреНрд░рд┐рдЧрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛ рдореЙрдбрд▓ рдореЗрдВ рдИрд╡реЗрдВрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП 8base рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред

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

рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА



8base рдкрд░реНрдпрд╛рд╡рд░рдг рддреИрдпрд╛рд░ рдХрд░рдирд╛


рдПрдХ рдЦрд╛рддрд╛ рдмрдирд╛рдПрдБ рдпрд╛ 8base рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВред рдирдП рдЦрд╛рддреЛрдВ рдХреЗ рд▓рд┐рдП, 8base 30 рджрд┐рди рдХреА рдореБрдлреНрдд рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

рдЫрд╡рд┐
2ред рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдбреЗрдЯрд╛ рдкреЗрдЬ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдмреИрдХрдПрдВрдб рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рдирдИ рддрд╛рд▓рд┐рдХрд╛" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рдЫрд╡рд┐
3ред рдирдИ рддрд╛рд▓рд┐рдХрд╛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдПрдХ рдЖрд░реЗрдЦ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ рдФрд░ рдЖрдк рдЦреЗрддреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдЧрд▓рд╛, рдЖрджреЗрд╢ рдирд╛рдордХ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдПрдВ, рдЬрд┐рд╕рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝реАрд▓реНрдб рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ : рдлрд╝реАрд▓реНрдб рдкреНрд░рдХрд╛рд░ рддрд╛рд▓рд┐рдХрд╛ рд╣реИред рд╕рд╣реА рдЕрдиреБрднрд╛рдЧ рдореЗрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рд╕рдВрдмрдВрдз рдлрд╝реАрд▓реНрдб рдирд╛рдо рдлрд╝реАрд▓реНрдб рдореЗрдВ "рдЖрджреЗрд╢" рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред рдлрд┐рд░ " рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рддрд┐ рдПрдХрд╛рдзрд┐рдХ рдСрд░реНрдбрд░ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВ" рдмреЙрдХреНрд╕ рдХреЛ рдЪреЗрдХ рдХрд░реЗрдВред
рдЫрд╡рд┐
- рдЖрдЗрдЯрдо: рдлрд╝реАрд▓реНрдб рдкреНрд░рдХрд╛рд░ JSON рд╣реИред рдЗрд╕ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдЙрди рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦрд░реАрджрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореВрд▓реНрдп, рдирд╛рдо рдФрд░ рдЫрд╡рд┐ред
рд╣рдорд╛рд░реА рдпреЛрдЬрдирд╛ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдп рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рдЕрдЧрд▓рд╛, рдЪрд▓реЛ рд╕реНрд▓реИрдХ рдРрдк рд╕реЗрдЯ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВред

рдПрдХ рд╕реБрд╕реНрдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдмрдирд╛рдПрдБ


рдЕрдкрдиреЗ рд╕реНрд▓реИрдХ рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░рдХреЗ рд╢реБрд░реВ рдХрд░реЗрдВ рдпрд╛ рдЗрд╕ рдЧрд╛рдЗрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдмрдирд╛рдПрдВред рдПрдХ рдирдпрд╛ рд╕реНрд▓реИрдХ рдРрдк рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд▓реИрдХ рдПрдкреАрдЖрдИ рдХрдВрд╕реЛрд▓ рдкрд░ рдЬрд╛рдПрдВред

рдЫрд╡рд┐

рд╢реЙрдк рдХреНрд╡рд┐рдХ рдирд╛рдордХ рд╣рдорд╛рд░реЗ рдХрд╛рд▓реНрдкрдирд┐рдХ рдИ-рдХреЙрдорд░реНрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рдмрд╛рдж рдЗрд╕ рд╕реНрд▓реИрдХ рдРрдк рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВред

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

рдПрдХ 8base рдлрдВрдХреНрд╢рди рдмрдирд╛рдПрдВ


8base рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЙрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╕рд░реНрд╡рд░ рд░рд╣рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИрдВред рдЗрд╕ рд╕реНрд▓реИрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдХрд╕реНрдЯрдо рддрд░реНрдХ рдФрд░ рдПрдХреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдХреЗрд╡рд▓ CRUD рдХреЗ рд╕рд╛рде рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдПрдХ рдирдпрд╛ рдСрд░реНрдбрд░ рдмрдирд╛рддреЗ рд╕рдордп рд╕реНрд▓реИрдХ рдХреЛ рд╕рдВрджреЗрд╢ рднреЗрдЬрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╣рдо 8base рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрд░рд┐рдПрдЯ, рдЕрдкрдбреЗрдЯ рдФрд░ рдбрд┐рд▓реАрдЯ рдЗрд╡реЗрдВрдЯреНрд╕ рдХреЛ рд╕реБрдирдХрд░ рд╣рдо рдЯреНрд░рд┐рдЧрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред

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

рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдСрд░реНрдбрд░ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж рдЕрдкрдиреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВрдЧреЗред рдЗрд╕рд▓рд┐рдП, рд╣рдореЗрдВ Orders.create рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдбреЗрдЯрд╛ рдИрд╡реЗрдВрдЯ рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рдорд╛рди рдмрдирд╛рдПрдВ, рдЕрдкрдбреЗрдЯ рдФрд░ рд╣рдЯрд╛рдПрдВ рд╣реИрдВред

8base рд╕реАрдПрд▓рдЖрдИ


CLI 8base рдЖрдкрдХреЛ рдмрд╛рдпрд▓рд░рдкреНрд▓реЗрдЯ рдХреЛрдб рд╕реЗ рдкрд░рд╣реЗрдЬ рдХрд░рддреЗ рд╣реБрдП рдХреЗрд╡рд▓ рддрд░реНрдХ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рддрд░реНрдХ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╕реНрдЯрдо рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

8base рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЗрдВрдЯрд░рдлреЗрд╕ (CLI) рдЯрд░реНрдорд┐рдирд▓ рд╕реЗ рд╕рд╣реА рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХрд╕реНрдЯрдо рд╕рд░реНрд╡рд░ рд▓реЙрдЬрд┐рдХ рдЬреЛрдбрд╝рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред рдПрдХ рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдЪрд▓рд╛рдХрд░ рд╕реАрдПрд▓рдЖрдИ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:

npm install -g 8base 

рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ CLI рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЕрдкрдиреЗ 8base рдЦрд╛рддреЗ рдореЗрдВ CLI рдХреА рд╕реБрд╡рд┐рдзрд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧ рдЗрди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:

 8base login 

рдЬрдм рдЖрдк рдЗрд╕ рдЖрджреЗрд╢ рдХреЛ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ CLI рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред рд▓реЙрдЧ рдЗрди рдХрд░рдХреЗ рдЖрдкрдХреЗ 8base рдЦрд╛рддреЗ рдореЗрдВ CLI рдХреА рд╕реБрд╡рд┐рдзрд╛ рдорд┐рд▓рддреА рд╣реИред рдЖрдк CLI рджреНрд╡рд╛рд░рд╛ рджреА рдЧрдИ рдЕрдиреНрдп рдХрдорд╛рдВрдб рдХреЛ рд╣реЗрд▓реНрдк рдХрдорд╛рдВрдб рдЪрд▓рд╛рдХрд░ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ:

 8base help 

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

 8base init shop-quick-functions 

рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдПрдХ рдирдпрд╛ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдлрд╝реЛрд▓реНрдбрд░ рдХреА рд╕рдВрд░рдЪрдирд╛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдиреА рдЪрд╛рд╣рд┐рдП:

 тФЬтФАтФА src/ | тФЬтФАтФА function1.ts | тФФтФАтФА function2.js тФЬтФАтФА 8base.yml тФФтФАтФА package.json 

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

рд╣рдо 8base.yml рдореЗрдВ рдХрд╕реНрдЯрдо рдлреАрдЪрд░реНрд╕ рдФрд░ рдЕрдиреБрдорддрд┐рдпрд╛рдВ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ 8base.yml рдлрд╝рд╛рдЗрд▓ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реЗрдЯрд┐рдВрдЧ рдмрджрд▓рддреЗ рд╣реИрдВред рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рдХрд░реЗрдВ:

 functions: notifySlack: handler: code: src/notifySlack.js type: trigger.after operation: Orders.create 

рдлрд╝рд╛рдЗрд▓ рд╕рдВрд░рдЪрдирд╛ рдХрд┐рд╕реА рднреА YAML рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рдорд╛рди рд╣реИред рдкрд╣рд▓рд╛ рдмреНрд▓реЙрдХ рдЬрд┐рд╕реЗ рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рд╡рд╣ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдмреНрд▓реЙрдХ рд╣реИ; рд╣рдо рдЗрд╕ рдмреНрд▓реЙрдХ рдореЗрдВ рдмрдирд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдлрдВрдХреНрд╢рди рдХреА рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рд░рдЦреЗрдВрдЧреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ InformSlack рдлрд╝рдВрдХреНрд╢рди; рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдирд┐рдореНрди рдЧреБрдг рд╣реИрдВ:

  • рд╣реИрдВрдбрд▓рд░ : рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рдлрд╝рдВрдХреНрд╢рди рд╣реИрдВрдбрд▓рд░ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдлрд╝рд╛рдЗрд▓ рдкрдеред
  • рдСрдкрд░реЗрд╢рди : рдкреИрд░рд╛рдореАрдЯрд░ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдФрд░ рдШрдЯрдирд╛ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХреЛ рд╕реБрдирдирд╛ рдЪрд╛рд╣рд┐рдПред
  • рдкреНрд░рдХрд╛рд░ : рдЪрд╛рд╣реЗ рд╡реЗ рдбреЗрдЯрд╛ рдкрд░рд┐рд╡рд░реНрддрди рд╕реЗ рдкрд╣рд▓реЗ рдпрд╛ рдмрд╛рдж рдореЗрдВ рд╢реБрд░реВ рдХрд┐рдП рдЧрдП рд╣реЛрдВред рдЗрд╕рдХреЗ рджреЛ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ: рдЯреНрд░рд┐рдЧрд░.рдмреЗрдлрд╝рд░ рдФрд░ рдЯреНрд░рд┐рдЧрд░ред рдЖрдлреНрдЯрд░ред

рдЕрдЧрд▓рд╛ рдХрджрдо рдЯреНрд░рд┐рдЧрд░ рдХреЗ рдмрд╛рдж рдШрдЯрдирд╛рдУрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реИрдВрдбрд▓рд░ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдирд╛ рд╣реИред рд╕реНрд▓реИрдХ рдХреЛ рдЕрдкрдбреЗрдЯ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо chat.postMessage рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред HTTP рдкреЛрд╕реНрдЯ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрджреЗрд╢ рднреЗрдЬреЗ рдЬрд╛рдПрдВрдЧреЗ - рдЪреИрдЯ.рдкреЛрд╕реНрдЯрдореИрд╕реЗрдЬ рдкрджреНрдзрддрд┐ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдкрд░ рдЖрдкрдХреЗ рдмреЙрдЯ рдХреЗ OAuth рдПрдХреНрд╕реЗрд╕ рдЯреЛрдХрди рджреНрд╡рд╛рд░рд╛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рд╡рд┐рд╡рд░рдг рдкреГрд╖реНрда рдкрд░ рдЬрд╛рдПрдВ, рд╕рд╛рдЗрдбрдмрд╛рд░ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдореЗрдВ OAuth рдФрд░ рдЕрдиреБрдорддрд┐рдпрд╛рдВ рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред

рдЫрд╡рд┐

тАН рдЯреЛрдХрди рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВ рдФрд░ 8base рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкреЗрдЬ рдкрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВред рдЖрдкрдХреЗ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдореЗрдВ рд╕рднреА рдирд┐рд░реНрдорд┐рдд рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рддрдХ рдкрд╣реБрдВрдЪ рд╣реИред рд╣рдореЗрд╢рд╛ рдЕрдкрдиреЗ рдЧреЛрдкрдиреАрдп рдореВрд▓реНрдпреЛрдВ рдФрд░ рдкреНрд░рдорд╛рдгреЛрдВ рдХреЛ рдпрд╣рд╛рдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдВ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕реАрдзреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рди рд░рдЦреЗрдВред SLACK_ACCESS_TOKEN рдирд╛рдордХ рдПрдХ рдирдпрд╛ рдЪрд░ рдмрдирд╛рдПрдВ, рдХреЙрдкреА рдХрд┐рдП рдЧрдП рдЯреЛрдХрди рдХреЛ рдЪрд┐рдкрдХрд╛рдПрдВ рдФрд░ рдЗрд╕реЗ рд╕рд╣реЗрдЬреЗрдВред

рдЫрд╡рд┐

рдЕрдм рдПрдбрд┐рдЯрд░ рдореЗрдВ рдХреЛрдб рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ рдЬрд┐рд╕реЗ src рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ utils.js рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ рдФрд░ рдЙрд╕рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЙрдкреА рдХрд░реЗрдВ:

 /* src/utils.js */export const sendMessage = (order) => { const message = `A new order was just created`; const messageBody = dataBuilder(order); const body = { channel: 'general', attachments: messageBody, text: message }; тАН console.log('Message body', { body }); console.log('Sending message request'); return makeRequest(body); };тАН 

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

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

рдЪрд▓рд┐рдП рдбреЗрдЯрд╛рдмреНрдпреВрд▓рд░ рдлрдВрдХреНрд╢рди рдмрдирд╛рддреЗ рд╣реИрдВ, рдиреАрдЪреЗ рдХреЗ рдЯреБрдХрдбрд╝реЗ рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВ рдФрд░ utils.js рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ:

 /* src/utils.js */ export const sendMessage = (order) => { ...}; const dataBuilder = (order) => { const { items } = order; const itemSections = items.map((item) => { return { type: 'section', text: item.name, color: '#3AA3E3', accessory: { type: 'image', image_url: item.image, alt_text: item.name, }, }; }); const data = [ { type: 'section', text: { type: 'mrkdwn', text: `*There are ${items.length} items in the order*`, }, }, ...itemSections, ]; return data; }; 

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

рдЕрдЧрд▓рд╛, рд╣рдо рдореЗрдХ рд░реЗрдпрд░ рдлрд╝рдВрдХреНрд╢рди рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдЬреЛ рдореИрд╕реЗрдЬ рдмреЙрдбреА рдХреЛ рд╕реНрд▓реИрдХ рдХрд╛рд░реНрдпрд╢рд╛рд▓рд╛ рдореЗрдВ рднреЗрдЬрддрд╛ рд╣реИред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрдирд┐рдкреЗрдЯ рдХреЛ utils.js рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВ:

 /* src/utils.js */ import fetch from 'node-fetch'; export const sendMessage = (order) => { ... }; const dataBuilder = (order) => { ... }; const makeRequest = (data) => { const url = 'https://slack.com/api/chat.postMessage'; const headers = { Authorization: `Bearer ${process.env.SLACK_ACCESS_TOKEN}`, 'Content-type': 'application/json', }; return fetch(url, { method: 'post', body: JSON.stringify(data), headers, }); }; 

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХреЛ рдЪрд▓рд╛рдХрд░ рдкрд╣рд▓реЗ рдиреЛрдб-рднреНрд░реВрдг рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:

 npm install node-fetch 

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

рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдмреЙрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрд▓реИрдХ рд╡рд╛рд░рд╕реНрдкреЗрд╕ рдХреЛ рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИрдВрдбрд▓рд░ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдКрдкрд░ 8base.yml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рд╣реИред

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

 /* src/notifySlack.js */ import { sendMessage } from './utils'; module.exports = async (event) => { try { console.log('Sending notification to slack'); const res = await sendMessage(event.data); console.log('Notification sent successfully'); } catch (error) { console.log(error); } return { data: event.data, }; }; 

рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рд╣рдо SendMessage рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╣рдордиреЗ рдмрдирд╛рдпрд╛ рдерд╛ред 8base рдлрд╝рдВрдХреНрд╢рди рд╣реИрдВрдбрд▓рд░ рджреЛ рддрд░реНрдХ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ: рдПрдХ рдШрдЯрдирд╛ рдФрд░ рдПрдХ рд╕рдВрджрд░реНрднред рдИрд╡реЗрдВрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рд╕рдВрд░рдЪрдирд╛ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкреНрд░рдХрд╛рд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ, рдФрд░ рд╕рдВрджрд░реНрдн рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рдЧреБрдг рдФрд░ рд╡рд┐рдзрд┐рдпрд╛рдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдпрд╣рд╛рдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдИрд╡реЗрдВрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдмрдирд╛рдП рдЧрдП рдСрд░реНрдбрд░ рд╣реЛрдВрдЧреЗ, рдЬрд┐рд╕рдореЗрдВ рджреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рдЖрдЗрдЯрдо рдлрд╝реАрд▓реНрдб рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдСрд░реНрдбрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдИрд╡реЗрдВрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдбреЗрдЯрд╛ рдХреА рдПрдХ рд╕рдВрдкрддреНрддрд┐ рд╣реИ, рдФрд░ рд╣рдо рдЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕реНрд▓реИрдХ рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП sendMessage рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред

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

 # deploy while in project root directory 8base deploy 

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

 тЮЬ 8base deploy deploy done. Time: 15,553 ms. 

рдбрд┐рдмрдЧрд┐рдВрдЧ рд╕реБрд╡рд┐рдзрд╛рдПрдБ


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

8base рдбреИрд╢рдмреЛрд░реНрдб рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рд╕рд╛рдЗрдб рдореЗрдиреВ рдореЗрдВ рд▓реЙрдЬрд┐рдХ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рддрд░реНрдХ рдкреГрд╖реНрда рдкрд░, рдЖрдк рд╕рднреА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдЫрд╡рд┐
рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП, рд╕рднреА рд▓реЙрдЧ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧ рд▓реЙрдЧ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдЕрдЧрд▓рд╛, рд╣рдо рд╕реНрд▓реИрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВред

рд╕реНрд▓реИрдХ рдРрдк рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рдФрд░ рдЙрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛


рдЪрд▓реЛ рдЕрдВрддрд┐рдо рдЪрд░рдг рд╕рдорд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╕реНрд▓реИрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реНрд▓реИрдХ рдРрдк рдХрдВрд╕реЛрд▓ рдкрд░ рд▓реМрдЯреЗрдВ рдФрд░ рд╕рд╛рдЗрдб рдиреЗрд╡рд┐рдЧреЗрд╢рди рдмрд╛рд░ рдкрд░ рдРрдк рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ ред

рдЫрд╡рд┐

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

рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдлрд╝рдВрдХреНрд╢рди рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред 8base рдбреЗрдЯрд╛ рдкреГрд╖реНрда рдкрд░ рдЬрд╛рдПрдВ, рд╕рд╛рдЗрдбрдмрд╛рд░ рдореЗрдВ рдЖрджреЗрд╢ рддрд╛рд▓рд┐рдХрд╛ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдСрд░реНрдбрд░ рдЯреЗрдмрд▓ рд╡реНрдпреВрдЕрд░ рдореЗрдВ, рдбреЗрдЯрд╛ рдЯреИрдм рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдпрд╣рд╛рдВ рд╣рдо рдЯреЗрдмрд▓ рдореЗрдВ рдирдИ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдЫрд╡рд┐

рдбреЗрдЯрд╛ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ, {+} рдмрдЯрди рджрдмрд╛рдПрдВ рдФрд░ рдПрдХ рдирдИ рдкрдВрдХреНрддрд┐ рдмрдирд╛рдПрдВред

рдЫрд╡рд┐

рдЖрдк рдирд┐рдореНрди рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдЙрддреНрдкрд╛рдж рдХреНрд╖реЗрддреНрд░ рдХреЛ рднрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 [{ "name": "Food product", "image": "https://static.pexels.com/photos/368893/pexels-photo-368893.jpeg", "price": 4 }, { "name": "The real fruit", "image": "https://static.pexels.com/photos/368893/pexels-photo-368883.jpeg", "price": 20 }] 

рдирдпрд╛ рдСрд░реНрдбрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП Add Row рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдлрд┐рд░ рдХрд╛рд░реНрдпрд╢рд╛рд▓рд╛ рдореЗрдВ рдЬрд╛рдПрдВ рдЬрд╣рд╛рдВ рдЖрдкрдиреЗ рд╕реНрд▓реИрдХ рдРрдк рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рд╣реИ, #general рдЪреИрдирд▓ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдЖрдкрдХреЛ рдмреЙрдЯ рд╕реЗ рдПрдХ рдирдпрд╛ рд╕рдВрджреЗрд╢ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред

рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:

рдЫрд╡рд┐

рд╕реНрд▓реИрдХ рдЪреИрдирд▓ рдкрд░ 8base bot рд╕реЗ рдирдИ рдЕрдзрд┐рд╕реВрдЪрдирд╛

рдЕрдВрддрд┐рдо рд╢рдмреНрдж


рд╕реНрд▓реИрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ; рд╕реБрд╕реНрдд рдЕрдзрд┐рдХрд╛рдВрд╢ рдЯреАрдореЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдЪрд╛рд░ рдХрд╛ рдкреНрд░рд╛рдердорд┐рдХ рд╕рд╛рдзрди рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рджреИрдирд┐рдХ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рд╕рдХрддрд╛ рд╣реИред

рдЗрд╕ рдЖрд▓реЗрдЦ рдХреЗ рд▓рд┐рдП, 8base рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдордиреЗ рдПрдХ рд╕рд░рд▓ рд╕реНрд▓реИрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдпрд╛ рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдирдП рдСрд░реНрдбрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрджреЗрд╢ рднреЗрдЬрддрд╛ рд╣реИред рднреЗрдЬреЗ рдЧрдП рд╕рдВрджреЗрд╢ рдмрд╣реБрдд рд╕рд░рд▓ рдереЗред рд╕реНрд▓реИрдХ рдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдореГрджреНрдз рдкреНрд░рд╛рд░реВрдкрдг рд╣реИ , рдФрд░ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдЬрдЯрд┐рд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЙрдирдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛред рдпрд╣рд╛рдБ 8base рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдкрдврд╝реЗрдВред GitHub рдкрд░ рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рдХреЛрдб рджреЗрдЦреЗрдВред

рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

Source: https://habr.com/ru/post/hi466335/


All Articles