Passing parameter values to ssrs report

For an existing ssrs 2008 report that is running that will be executing on a ssrs 2012 report server, I believe the call from a .net application that will call the report server will look something like the following:
https://test.sch.org/AL/att/letter.aspx?schoolyear=2017&schoolnum=341&term=9&milestonecode=005&startdate=12/8/2016%2010:03:06%20AM&enddate=12/9/2016%2012:00:00%20AM&language=ALL&studentlink=ALL&UniqueID=999999

Since this is my first time obtaining parameter values from a call from an application, I have the following questions:

  1. Does the name of the parameter need to be exactly like what is passed in the url. For example listed above, there 'schoolyear=2017'. Does the SSRS report name need to be exactly 'schoolnum' or can the name be something else?
  2. How does the ssrs report know that parameter field applies to the values listed above? For example, how does the ssrs report know where 'schoolnum=341' should be applied in the report? Does having the parameter marked as hidden make a difference?
    Does the order of parameters listed make a difference?
  3. There are the first two parameters called admin and userid that are not listed in the url? These 2 parameters have default values. Do I need to pass those 2 parameters in the url? Can you tell me why or why I would not need to pass those parameter values in the url (link)?