API

From Mission Manager Wiki
Revision as of 04:29, 21 August 2014 by Gwhite (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

API Access

Mission Manager allows access to certain mission features by a REST API. With this API you can do such things as write your own mobile application for GPS Tracking, posting clues (including pictures) back to the current mission. For a member to use the API they must have an email, login into the system, and posess the API Access login permission or have full system access. If the member meets these requirements they will have a new "API Access" area on the Member screen when their name is selected. Opening this "API Access" area will display their API Key, this key can be reset, created or cleared with the buttons next to the API Key display. This API Key is required for all API calls. For an example of the API working in JavaScript see the sample code page: apitester.html.

API keys can be created for each member on the Members screen or at a team level in the Configuration screen. Some API calls are available to both team and member APIs, while other calls may only be available to one or the other. This is noted in each API call type.

Only members who have an API Key, and email address and re active can make API calls with a mobile application.

The following are the different types of API calls that can be done:

Getting a List of Active Missions
Getting a team calendar ICS file
Getting a Time Keeping CSV files
Create a New Mission
Getting Mission Information
Getting a Team GUID
Adding Team's GPS Location
Getting Clue Information
Getting Team Information
Getting Subject Information
Setting Subject Information
Adding a Clue
Adding a Radio Log Entry
Getting Member Contact Information

Other Useful sections:

Subject Field Names
REST return Error Codes

The general REST API parameters are as follows (note: all parameters are case sensitive):

Parameters
APIKey The member's API Key. This parameter is required for all API Calls and is case sensitive.
MissionID This is what mission the API is posting to. This parameter is required for any calls that post to a mission
SubjectID Identifies what subject you are getting information for.
Get Tells the GET call to get some information about the current mission.See the examples below for the possible values of this parameter.
Post Tells the POST call you are adding something to the mission, Values can be as follows:
Clue Add a clue - see notes below.
Location Add a GPS Location - see notes below.
OutputFormat Specifies the output format returned for such things as MissionsLists and SubjectLists, etc. The value can be one of the following:
Text Returns the list in pure text format, with the fields separated by commas. Fields containing a comma will have that comma replaced with a \, (backslash comma). This is the default format. Looking at the XML or JSON output can be used to identify the order of the fields.
XML Returns the list in XML format.
JSON Returns the list in JSON fomat.
Latitude A GPS location Latitude, this parameter must be passed when adding clues, adding radio log entries or posting GPS locations.
Longitude A GPS location Longitude, this parameter must be passed when adding clues, adding radio log entries or posting GPS locations.
Altitude A GPS location altitude that can be used when posting GPS locations.
ImageURL A URL to a image that can be posted as a clue picture. The size of an image is limited to 2MB.
Image A posted image, this is an image posted via HTML <input type="file" name="Image"> or its equivalent. The size of an image is limited to 2MB.
AreaFilter This parameter can be used when getting map area information with the parameters MissionAreas or TeamAreas. The value for this parameter can be any of the following words separated by a comma: [Area][,Path][,Marker][,Pie][,Circle]
Time A time the clue was found, a radio log was entered, or a GPS location was collected. If this parameter is omitted the current local time will be used. The format of the time is HH:MM:SS.
Date A date the clue was found, a radio log was entered or a GPS location was collected. If this parameter is omitted the current local date will be used. The format of the date is YYYY-MM-DD.

Parameters

APIKey

The members API Key. This parameter is required for all API Calls and is case sensitive.

MissionID

This is what mission the API is posting to. This parameter is required for any calls that post to a mission.

SubjectID

Identifies what subject you are getting information for.


Get

Tells the GET call to get some information about the current mission. See the examples below for the possible values of this parameter.

Post

Tells the POST call you are adding something to the mission, Values can be as follows:

Clue

Add a clue - see notes below.

Location

Add a GPS Location - see notes below.

OutputFormat

Specifies the output format returned for such things as MissionsLists and SubjectLists, etc. The value can be one of the following:

Text

Returns the list in pure text format, with the fields separated by commas. Fields containing a comma will have that comma replaced with a \, (backslash comma). This is the default format. Looking at the XML or JSON output can be used to identify the order of the fields.

XML

Returns the list in XML format.

JSON

Returns the list in JSON fomat.

Latitude

A GPS location Latitude, this parameter must be passed when adding clues, adding radio log entries or posting GPS locations.

Longitude

A GPS location Longitude, this parameter must be passed when adding clues, adding radio log entries or posting GPS locations.

Altitude

A GPS location altitude that can be used when posting GPS locations.

ImageURL

A URL to a image that can be posted as a clue picture. The size of an image is limited to 2MB.

Image

A posted image, this is an image posted via HTML <input type="file" name="Image"> or its equivalent. The size of an image is limited to 2MB.

AreaFilter

This parameter can be used when getting map area information with the parameters MissionAreas or TeamAreas. The value for this parameter can be any of the following words separated by a comma: [Area][,Path][,Marker][,Pie][,Circle]

Time

A time the clue was found, a radio log was entered, or a GPS location was collected. If this parameter is omitted the current local time will be used. The format of the time is HH:MM:SS.

Date

A date the clue was found, a radio log was entered or a GPS location was collected. If this parameter is omitted the current local date will be used. The format of the date is YYYY-MM-DD.


The REST API Reference is as follows:

Getting a List of Active Missions

Gets a list of active missions the member has access to. The list is returned in a comma separated list, with each mission on a new line. This should be the first API call, and the list of missions should be presented to the user so they can select what mission they are currently on. This call is available to both member and team API keys. Member API Keys will only get a list of Active missions, Team API Keys will get a list of Active, Suspended, and Closed missions, but will not get missions marked as Sensitive on the General Screen.

Type

GET/POST

URL

https://www.missionmanager.net/api.php

Parameters

<APIKey=XXXXXXX>,< Get=MissionsList>, [OutputFormat=format]

Return Value

<mission id>,<mission date>,<mission name> [<mission id>,<mission date>,<mission name>] ...

or an Error Code

Example

https://www.missionmanager.net/api.php?Get=MissionsList&APIKey=aXdnT45856oKtlOyssl3iHOH8257F4OW9


Getting a the team Calendar as an ICS file

Gets your team's calendar as an ICS file. This file can be used to feed into another program. The user making the call must have Calendar Access permission. This call is available to both member and team API keys.

Type

GET/POST

URL

https://www.missionmanager.net/api.php

Parameters

<APIKey=XXXXXXX>,< Get=calICS>

Return Value

Your team's calendar as an ICS file.

or an Error Code

Example

https://www.missionmanager.net/api.php?Get=calICS&APIKey=aXdnT45856oKtlOyssl3iHOH8257F4OW9


Getting team and member Time Keeping data in CSV files

The API can gain access to your team's Time Keeping totals as well as the current member who's making the API call Time Keeping totals. To access your team's data use the Get=TeamTimeKeepingCSV and the member making the API call must have the Time Keeping - Other's login permission. To access the current members timekeeping CSV file use the Get=TimeKeepingCSV parameter. You must include a StartDate and EndDate parameters to specify the dates range to get. The format of the dates are YYYY-MM-DD. This call is only available to member API keys.

Type

GET/POST

URL

https://www.missionmanager.net/api.php

Parameters

<APIKey=XXXXXXX>,< Get=TeamTimeKeepingCSV | TimeKeepingCSV >,<StartDate=YYYY-MM-DD>,<EndDate=YYYY-MM-DD>

Return Value

A CSV (Comma Separated Values) file

or an Error Code

Example

https://www.missionmanager.net/api.php?Get=TeamTimeKeepingCSV&StartDate=2013-01-01&EndDate=2013-04-01&APIKey=aXdnT45856oKtlOyssl3iHOH8257F4OW9


Create a New Mission

Creates a new mission. The member making this call must have Mission - Active Missions permission or an error will be returned. The app should correctly display a proper message and warn the user they do not have the correct permissions. This call is available to both member and team API keys.

Type

GET/POST

URL

https://www.missionmanager.net/api.php

Parameters

<APIKey=XXXXXXX>,< NewMission=mission name>

Return Value

New Mission Number on success or an Error Code

Example

https://www.missionmanager.net/api.php?Post=NewMissions&MissionName=John%20Doe&APIKey=aXdnT45856oKtlOyssl3iHOH8257F4OW9


Getting Mission Information

Gets information about a mission. This call is available to both member and team API keys. member level API Keys can only retrieve information about active missions, Team API Keys can retrieve information about Active, Suspended, and Closed Missions, but not missions marked as Sensitive on the General Screen. The parameter The type get can be one of the the following values:

MissionName

Returns the mission's name.

MissionDescription

Returns the mission description.

CommandPostName

Returns the command post name.

CommandPostLocation

Returns the command post location.

CommandPostGPSLocation

Returns the command post GPS location.

RadioCommandChannel

Returns the current radio command channel.

RadioTacticalChannel

Returns the current radio tactical channel.

MissionAreas

Returns a detailed list of all the mission areas as drawn on the mission map. The parameter AreaFilter can be used to filter the retuned area types.

MissionInformation

Returns a list of all the mission information. Respects the OutputFormat parameter.

Type

GET/POST

URL

https://www.missionmanager.net/api.php

Parameters

<Get=type>, <APIKey=XXXXXXX>, <MissionID=##>

Return Value

The string value requested or an error code.

Example

https://www.missionmanager.net/api.php?Get=MissionName&APIKey=aXdnT45856oKtlOyssl3iHOH8257F4OW9&MissionID=1


Getting a Team GUID

The API allows you to query a team's GUID or Unique Identifier. This value will be unique for every team and will never change. This TeamGUID can be used if the application needs to compare and see if two different application users are part of the same team. The team GUID is a 36 character string. This is an advanced feature and will not be needed by most API developers. This call is available to both member and team API keys. This call is available to both member and team API keys.

Type

GET

URL

https://www.missionmanager.net/api.php

Parameters

<APIKey=XXXXXXX>,< Get=TeamGUID>

Return Value

teamguid on success or an Error Code

Example

https://www.missionmanager.net/api.php?Get=TeamGUID&APIKey=aXdnT45856oKtlOyssl3iHOH8257F4OW9


Adding Team's GPS Location

Posts a GPS Location of a mobile device. The location will be added to a teams track. Only members currently on a team that is "On Assignment" will accept GPS locations. The API will identify what team the posting person is on and add the location to that team's track. A Date and Time can be posted along with the location, if these are not posted the current date and time will be used. Note that you must pass both Date and Time, or the current time will be used. If an application is going to post a date and time, it should do so for all points. An application can continue to collect GPS locations if the mobile phone goes out of service range, then when the phone is back in a service area, post all the collected locations. This call is only available to member API keys.

Type

POST

URL

https://www.missionmanager.net/api.php

Parameters

<Post=Location>, <APIKey=XXXXXXX>, <MissionID=##>, <Latitude=###.###>, <Longitude=###.###>, [Altitude=###], [Date=date], [Time=time]

Return Value

<0> on success or an Error Code

Example

https://www.missionmanager.net/api.php?APIKey=aXdnT45856oKtlOyssl3iHOH8257F4OW9&MissionID=1 &Post=Location&Latitude=32.95500888763828&Longitude=-116.96466252343748


Getting Clue Information

Gets information about the team the member making the API calls is on or information about other teams on the Mission. Presenting this information on a mobile application can lessen the need for a paper team assignment to be given to teams. This call is available to both member and team API keys, although when calling from a Team API Key the TeamGet parameter must be supplied. The type get can be one of the the following values:

CluesList

Returns a list of clues in the following format:

<clue ID>,<name>,<description>,<date found>,

Respects the OutputFormat parameter. Once you have the list of clue IDs you can use those numbers to retrieve more specific information about clues using the ClueID parameter.

ClueID

This is an optional parameter that will specify the clue ID of the clue you want to get the below Get information for.  This parameter must be set to request any of the specific variables below.

ClueName

Returns the clue name. ClueID variable must be set to retrieve this variable.

ClueDescription

Returns the clue description. ClueID variable must be set to retrieve this variable.

ClueFoundDate

Returns the clue found date. ClueID variable must be set to retrieve this variable.

ClueFoundTime

Returns the clue found time. ClueID variable must be set to retrieve this variable.

ClueLocation

Returns the clue location. ClueID variable must be set to retrieve this variable.

ClueGPSLocation

Returns the clue GPS location. ClueID variable must be set to retrieve this variable.

ClueInstructions

Returns the clue instructions given to the team. ClueID variable must be set to retrieve this variable.

Type

GET/POST

URL

https://www.missionmanager.net/api.php

Parameters

<Get=type>, <APIKey=XXXXXXX>, <MissionID=##>, [ClueID=clue ID], [OutputFormat=format]

Return Value

The string, XML, or JSON values requested or an error code.

Example

https://www.missionmanager.net/api.php?Get=ClueList&APIKey=aXdnT45856oKtlOyssl3iHOH8257F4OW9&MissionID=1


Getting Team Information

Gets information about the team the member making the API calls is on or information about other teams on the Mission. Presenting this information on a mobile application can lessen the need for a paper team assignment to be given to teams. This call is available to both member and team API keys, although when calling from a Team API Key the TeamGet parameter must be supplied. The type get can be one of the the following values:

TeamsList

Returns a list of teams in the following format:

<team number>,<team status> [<team number>,<team status>] ...

Respects the OutputFormat parameter. Once you have the list of team numbers you can use those numbers to retrieve more information about other teams using the TeamGet parameter.

TeamGet

This is an optional parameter that will specify the team number of the team you want to get the below Get information for.  If this parameter is omitted the information returned will be for the team the member getting the information is currently assigned to.

TeamMembers

Returns a list of the members teammates. This will be a list of names separated by commas, the first name will be the team leader. Respects the OutputFormat parameter.

TeamInformation

Returns a list of all the team information. Respects the OutputFormat parameter.

TeamObjectives

Returns the test describing the teams current objectives.

TeamNotes

Returns any notes assigned to the team assignment

TeamType

Returns the team type

TeamName

Returns the team type

TeamNumber

Returns the team number

TeamAreas

Returns a detailed list of all the mission areas the members team is assigned to. The parameter AreaFilter can be used to filter the retuned area types.

TeamsGPSLocations

Returns a list GPS locations for the other teams on the current mission. This will return nothing if there are no teams On Assignment, or there are no GPS locations for teams.

Type

GET/POST

URL

https://www.missionmanager.net/api.php

Parameters

<Get=type>, <APIKey=XXXXXXX>, <MissionID=##>, [TeamGet=Team Number], [OutputFormat=format], [AreaFilter=type,type,...]

Return Value

The string, XML, or JSON values requested or an error code.

Example

https://www.missionmanager.net/api.php?Get=TeamMembers&APIKey=aXdnT45856oKtlOyssl3iHOH8257F4OW9&MissionID=1


Getting Subject Information

Gets a list of subjects for a mission. An application should request a list of subjects to retrieve the subject IDs needed when making requests about particular subjects. This call is available to both member and team API keys. The type get can be one of the the following values:

SubjectsList

Returns a list of the subjects and the information about those subjects. Respects the OutputFormat parameter.

SubjectImage

Returns a image of the specified subject. This is returned in the HTML <img> element with the image itself as base64 in place, element may be directly inserted into an HTML page or app. This requires including the SubjectID parameter to identify what subject image you want.

SubjectField

Returns a value for a specific field. This requires including the SubjectID parameter to identify what subject image you want. The member making this call must have Mission - Active Missions permission or an error will be returned. The app should correctly display a proper message and warn the user they do not have the correct permissions. See the Subject Field Names table for valid field names.

Type

GET/POST

URL

https://www.missionmanager.net/api.php

Parameters

<APIKey=XXXXXXX>,< Get=SubjectList>, <MissionID=##>, [OutputFormat=format]

<APIKey=XXXXXXX>,< Get=SubjectImage>, <MissionID=##>, <SubjectID=##>, [OutputFormat=format]

<APIKey=XXXXXXX>,< Get=SubjectField>, <Field=field>, <MissionID=##>, <SubjectID=##>, [OutputFormat=format]

Return Value

The string, XML, or JSON values requested or an error code.

Example

https://www.missionmanager.net/api.php?Get=SubjectList&APIKey=aXdnT45856oKtlOyssl3iHOH8257F4OW9


Setting Subject Information

Allows for the remote setting of subject information. This can be used to collect subject information from a mobile app and then set in Mission Manager. The member making this call must have Mission - Active Missions permission or an error will be returned. This call is available to both member and team API keys.

SubjectField

Returns a value for a specific field. This requires including the SubjectID parameter to identify what subject image you want. The member making this call must have Mission - Active Missions permission or an error will be returned. The app should correctly display a proper message and warn the user they do not have the correct permissions. See the Subject Field Names table for valid field names.

Value

The new value to post into the Subject Field.

Type

POST

URL

https://www.missionmanager.net/api.php

Parameters

<APIKey=XXXXXXX>,< Post=SubjectField>, <Field=field>, <MissionID=##>, <SubjectID=##>, <Value=value>

Return Value

The string, XML, or JSON values requested or an error code.

Example

https://www.missionmanager.net/api.php?Set=SubjectField&APIKey=aXdnT45856oKtlOyssl3iHOH8257F4OW9 &MissionID=1&SubjectID=1&Field=SubNickName&Value=Jane%20Doe


Adding a Clue

Posts a new clue to the current mission. This call is available to both member and team API keys. The following parameters are supported, as well as Latitude, Longitude, Date, Time, or ImageURL.

ClueName

The name of a clue when a clue is added. This parameter is required when posting a clue.

ClueDescription

A description of a clue when a clue is posted. This parameter is optional when posting a clue.

ClueFoundBy

person who found a clue when a clue is posted. This parameter is optional when posting a clue.

ClueLocation

A text description of where a clue was found when a clue is posted. This parameter is optional when posting a clue.

Type

POST

URL

https://www.missionmanager.net/api.php

Parameters

<Post=Clue>, <APIKey=XXXXXXX>, <MissionID=##>, <ClueName=name>, [ClueDescription=desc], [ClueFoundBy=by], [ClueLocation=loc], [ImageURL=url], [Latitude=lat], [Longitude=lon], [Date=date], [Time=time]

Return Value

<0> on success or an Error Code

Example

https://www.missionmanager.net/api.php?APIKey=aXdnT45856oKtlOyssl3iHOH8257F4OW9&MissionID=1&Post=Clue&ClueName=Shoe &ClueDescription=Brown%20and%20dirty&ClueFoundBy=Billy%20Bob&ClueLocation=Under%20the%20big%20tree &ImageURL=http://www.missionmanager.net/HelpImages/HelpIcon_Chrome.jpg&Latitude=33.000752&Longitude=-117.010324


Adding a Radio Log Entry

Posts a new radio log entry to the current mission. Log entries can include the message, who the message is to and from, a latitude and longitude, date and time. A message priority can also be included, the values can be high, normal, or low when setting priority. This call is available to both member and team API keys.

Type

POST

URL

https://www.missionmanager.net/api.php

Parameters

<Post=RadioLog>, <APIKey=XXXXXXX>, <MissionID=##>, <RadioMessage=msg>, [RadioTo=to], [RadioFrom=from], [RadioPriority= high/normal/low], [Latitude=lat], [Longitude=lon], [Date=date], [Time=time]

Return Value

<0> on success or and Error Code

Example

https://www.missionmanager.net/api.php?APIKey=aXdnT45856oKtlOyssl3iHOH8257F4OW9&MissionID=1&Post=RadioLog&RadioMessage=Checking%20In &RadioTo=Command&RadioFrom=Billy&Latitude=33.000752&Longitude=-117.010324


Getting Member Contact Information

Does a search of Members and returns basic contact information for members matching search. If the Search parameter is supplied the first and last name will be searched for a matching string and only those members who match this search will be returned. If the Search perimeter is omitted or blank all the active member contact information for your team will be retuned.

Type

POST

URL

https://www.missionmanager.net/api.php

Parameters

<APIKey=XXXXXXX>,< Get=MemberInfo>, [Search=search val], [OutputFormat=format]

Return Value

A list of Member information in the format:

<FirstName>,<LastName>,<HomePhone>,<WorkPhone>,<MobilePhone>,<OtherPhone>,<Email>,<RadioNum>

or an Error Code

Example

https://www.missionmanager.net/api.php?APIKey=aXdnT45856oKtlOyssl3iHOH8257F4OW9&Get=MemberInfo&Search=Joe


Subject Field Names

Description

SubName

Subject Name

SubDOB

DOB

SubNickName

Nick-Name / Name to Call

SubAddess

Home Address

SubAddess2

Home Address 2

SubCity

Home City

SubState

Home State

SubZip

Home Zip or Postal Code

DateLastSeen

Date Last Seen

TimeLastSeen

Time Last Seen

PLS

PLS/LKP

Latitude

PLS/LKP GPS Latitude

Longitude

PLS/LKP GPS Longitude

FoundLat

Found GPS Latitude

FoundLon

Found GPS Longitude

DateFound

Date Found

TimeFound

Time Found

DirOfTravel

PLS/LKP Direction of Travel

TravelPlans

Travel Plans

SpecialAreas

Special Areas / Locations Of Interest For Subject

RadHanded

Handed

Handicaps

Any Handicaps

SubAge

Age

SubSex

Sex

SubRace

Race

SubBuild

Build

Complexion

Complexion

SubSMT

Scars/Marks/Tattoos

SubWeight

Weight

SubHeight

Height

SubEye

Eye Color

SubHairColor

Hair Color

SubHairStyle

Hair Style

ShirtType

Shirt Type

ShirtSize

Shirt Size

ShirtColor

Shirt Color

PantsType

Pants / Dress Type

PantsSize

Pants / Dress Size

PantsColor

Pants / Dress Color

JacketType

Jacket / Sweater Type

JacketSize

Jacket / Sweater Size

JacketColor

Jacket / Sweater Color

ShoeType

Shoe Type / Brand

ShoeSize

Shoe Size

ShoeColor

Shoe Color

SocksType

Socks Type

SocksSize

Socks Size

SocksColor

Socks Color

GlovesType

Hat / Gloves Type

GlovesSize

Hat / Gloves Size

GlovesColor

Hat / Gloves Color

Glasses

Glasses

Innerwear

Innerwear

Outerwear

Outerwear

OtherClothing

Known Clothing Brands Or Special Markings (Team Logos, Cartoons, Etc)

MedicalHistory

Medical History

Medications

Medications

LastMedsTime

Time Of Last Meds

Allergies

Allergies

LastMealTime

Last Meal Time

LastMeal

Last Meal Consisted Of

Smoker

Does Subject Smoke?

SmokeBrand

Cigarette Brand

ChewGum

Chew Gum?

GumBrand

Gum Brand

Weapon

Does The Subject Have A Weapon

WeaponType

Type and Description of Weapon

StateOfMind

Subject's State of Mind

RunAway

History Of Subject Running Away

FamilyProblems

Recent Family Problems

FriendProblems

Recent Problems With Friends

RespondToStranger

How Would Subject Respond To Stranger Calling Them

DrugsAlcohol

How Often Does The Subject Use Drugs Or Alcohol

RecentIllnesses

Recent Illnesses Or Injuries

PracticalJokes

Does The Subject Often Play Practical Jokes

StrangersOK

How Would Subject Be Around Other People Or Strangers

Hobbies

Any Specific Hobbies Or Skills

Circumstances

Possible Circumstances Caused Subject To Be Lost

Profession

What Is/Was The Subject's Profession

CriminalRecord

Criminal Record

FailureToAppears

Failures To Appear

Warrants

Wants / Warrants Issued For Subject

AfraidDark

Afraid Of Dark

AfraidAnimals

Afraid Of Animals

AfraidOther

Other Fears

FeelingTowardAdults

Feeling Toward Adults

FeelingTowardStrangers

Feeling Toward Strangers

HurtReaction

Reactions When Hurt

LostTraining

Training When Lost

ChildOther

Other: (Pet's Name?, Favorite Toy?, Favorite Food?, Being Disciplined At The Time Of Disappearance?)

KnowArea

Does The Subject Know The Area

LastTripHere

Last Trip Here

HikeAlone

Ever Hike Alone

MapTraining

Formal Map / Compass / GPS Training

LostBefore

Has The Subject Ever Been Lost Before

LostWhen

Lost When

FirstAid

Formal First Aid Training

FirstAidLevel

Level of First Aid

Survival

Survival Training

RadHike

Hiking Experience

HikeTrain

Hiking Training

RadRock

Rock Climbing Experience

RockTrain

Rock Climbing Training

RadCamp

Camping Experience

CampTrain

Camping Training

RadHunt

Hunting Experience

HuntTrain

Hunting Training

RadFish

Fishing Experience

FishTrain

Fishing Training

RadCave

Caving Experience

CaveTrain

Caving Training

BelongTo

Subject Ever Belong To Group: (i.e. Army Navy Marines Air Force Coast Guard Police Fire Dept, etc.)

VehMake1

Vehicles / Vessels 1 - Make

VehModel1

Vehicles / Vessels 1 - Model

VehYear1

Vehicles / Vessels 1 - Year

VehColor1

Vehicles / Vessels 1 - Color

VehLic1

Vehicles / Vessels 1 - License

VehVin1

Vehicles / Vessels 1 - VIN

VehMake2

Vehicles / Vessels 2 - Make

VehModel2

Vehicles / Vessels 2 - Model

VehYear2

Vehicles / Vessels 2 - Year

VehColor2

Vehicles / Vessels 2 - Color

VehLic2

Vehicles / Vessels 2 - License

VehVin2

Vehicles / Vessels 2 - VIN

KinName

Next of Kin Name

KinRelation

Next of Kin Relation

KinAddress

Next of Kin Address

KinAddress2

Next of Kin Address 2

KinCity

Next of Kin

KinState

Next of Kin

KinZip

Next of Kin

KinHomePhone

Next of Kin Home Phone

KinWorkPhone

Next of Kin Work Phone

KinCellPhone

Next of Kin Cell Phone

KinEmail

Next of Kin Email

KinLocation

Next of Kin Location

KinActions

Next of Kin Actions

Wit1Name

Witness 1 - Name

Wit1Relation

Witness 1 - Relation

Wit1Address

Witness 1 - Address

Wit1Address2

Witness 1 - Address 2

Wit1City

Witness 1 - City

Wit1State

Witness 1 - State

Wit1Zip

Witness 1 - Zip or Postal Code

Wit1HomePhone

Witness 1 - Home Phone

Wit1WorkPhone

Witness 1 - Work Phone

Wit1CellPhone

Witness 1 - Cell Phone

Wit1Location

Witness 1 - Location

Wit1Email

Witness 1 - Email

Wit1Actions

Witness 1 - Actions Taken So Far

Wit2Name

Witness 2 - Name

Wit2Relation

Witness 2 - Relation

Wit2Address

Witness 2 - Address

Wit2Address2

Witness 2 - Address 2

Wit2City

Witness 2 - City

Wit2State

Witness 2 - State

Wit2Zip

Witness 2 - Zip or Postal Code

Wit2HomePhone

Witness 2 - Home Phone

Wit2WorkPhone

Witness 2 - Work Phone

Wit2CellPhone

Witness 2 - Cell Phone

Wit2Location

Witness 2 - Location

Wit2Email

Witness 2 - Email

Wit2Actions

Witness 2 - Actions Taken So Far

ConName

Contact Name

ConRelation

Contact Relation

ConAddress

Contact Address

ConAddress2

Contact Address 2

ConCity

Contact City

ConState

Contact State

ConZip

Contact Zip or Postal Code

ConHomePhone

Contact Home Phone

ConWorkPhone

Contact Work Phone

ConCellPhone

Contact Cell Phone

ConEmail

Contact Email

ConLocation

Contact Location

ConReason

Contact Reason

Frnd1Name

Friend 1 - Name

Frnd1Address

Friend 1 - Address

Frnd1Address2

Friend 1 - Address 2

Frnd1City

Friend 1 - City

Frnd1State

Friend 1 - State

Frnd1Zip

Friend 1 - Zip or Postal Code

Frnd1HomePhone

Friend 1 - Home Phone

Frnd1WorkPhone

Friend 1 - Work Phone

Frnd1CellPhone

Friend 1 - Cell Phone

Frnd1Email

Friend 1 - Email

Frnd1Location

Friend 1 - Location

Frnd2Name

Friend 2 - Name

Frnd2Address

Friend 2 - Address

Frnd2Address2

Friend 2 - Address 2

Frnd2City

Friend 2 - City

Frnd2State

Friend 2 - State

Frnd2Zip

Friend 2 - Zip or Postal Code

Frnd2HomePhone

Friend 2 - Home Phone

Frnd2WorkPhone

Friend 2 - Work Phone

Frnd2CellPhone

Friend 2 - Cell Phone

Frnd2Email

Friend 2 - Email

Frnd2Location

Friend 2 - Location

Frnd3Name

Friend 3 - Name

Frnd3Address

Friend 3 - Address

Frnd3Address2

Friend 3 - Address 2

Frnd3City

Friend 3 - City

Frnd3State

Friend 3 - State

Frnd3Zip

Friend 3 - Zip or Postal Code

Frnd3HomePhone

Friend 3 - Home Phone

Frnd3WorkPhone

Friend 3 - Work Phone

Frnd3CellPhone

Friend 3 - Cell Phone

Frnd3Email

Friend 3 - Email

Frnd3Location

Friend 3 - Location

Frnd4Name

Friend 4 - Name

Frnd4Address

Friend 4 - Address

Frnd4Address2

Friend 4 - Address 2

Frnd4City

Friend 4 - City

Frnd4State

Friend 4 - State

Frnd4Zip

Friend 4 - Zip or Postal Code

Frnd4HomePhone

Friend 4 - Home Phone

Frnd4WorkPhone

Friend 4 - Work Phone

Frnd4CellPhone

Friend 4 - Cell Phone

Frnd4Email

Friend 4 - Email

Frnd4Location

Friend 4 - Location

Pic

Is A Picture Available

PicNeedRet

Need To Return Picture

PicToWho

Return Picture to Whom

Scent

Has A Scent Article Been Obtained

ScentWhat

Scent Article Description

ScentWho

Scent Article Obtained By Who

ScentTime

Scent Article Obtained Time

Room

Has The Room / PLS Been Secured With Access Restricted

RoomWho

Room Searched / Secured By Who

RoomTime

Room Searched / Secured Time

Mark

Has The PLS Been Marked

MarkWho

PLS Marked By Who

MarkTime

PLS Marked Time

Print

Have Any Footprints Been Marked

PrintWho

Footprints Marked By Who

PrintTime

Footprints Marked Time

Card

Has A Footprint Card Been Filled Out

CardWho

Footprint Card By Who

CardTime

Footprint Card Time

Digital

Has A Digital Picture Been Taken Of Any Footprint

DigitalWho

Digital Picture By Who

DigitalTime

Digital Picture Time

Notes

Notes

MPNotes

Public Missing Person Notes

Interviewers

Interviewer's

InterviewersRank

Interviewer's Rank

InterviewDate

Interview Date

InterviewTime

Interview Time

SubjectOutcome

Ultimate Outcome For Subject


REST return Error Codes

<0>

Success!

<300>

Missing API Key

<301>

Bad API Key

<302>

No command specified

<303>

Member with API access is missing an email address

<304>

No member permission to use API Access

<305>

No MissionID parameter set

<306>

Member doesn't have access to the specified mission

<307>

Missing Latitude parameter

<308>

Missing Longitude parameter

<309>

No active missions available

<310>

Invalid Latitude Longitude values

<311>

No team assignment - this error will be returned if the member accessing the API is not currently assigned to a team

<312>

Invalid Post add value

<313>

Invalid Get request value

<314>

Missing ClueName parameter

<315>

Posted image is too large, Image size is limited to 2MB.

<316>

Bad or missing SubjectID parameter

<317>

Bad image type, only gif, jpg or png images can be posted

<318>

Team member is on is not "On Assignment", "On Scene", "Reassigned", or "Returning"

<319>

Failed to open passed image URL

<320>

A location point was posted too close in time to another point. Locations can only be posted every 10 seconds.

<321>

Member making the API call doesn't have the correct login permissions

<322>

A bad or out of range TeamGet number was used

<323>

No Radio Log message was supplied

<324>

Bad Field name

<325>

Member isn't active

<326>

Missing Mission Name

<327>

Missing Post Value

<328>

No Calendar Access Permission

<329>

No Time Keeping Access Permission

<330>

Missing Date parameter

<331>

Not available to member API Keys

<332>

Not available to team API Key

<333>

Bad or missing ClueID parameter


A couple example things you can do with a team or member level API Keys:

To you Mission Manager Calendar into Google and display on a webpage:

Copy the calendar URL (https://www.missionmanager.net/api.php?Get=calICS&APIKey=YOUR_API_KEY). Go to your Google calendar (https://www.google.com/calendar/). Click the down arrow to the right of "Other Calendars" and then "Add by URL" Paste the URL and click OK, but do not check the box. Click the down arrow to the right of your calendar and then "Calendar settings" Rename the calendar, then click the "Customize the color, size, and other options" link. Pick the settings you want. Copy the HTML code and paste into our webpage. Be sure to rename the calendar, otherwise you are exposing your API key. If you don't need to embed it, you can stop after step 4 and still get the calendar on your phone, etc.

Note using the method above runs the risk of exposing your API key. You might want to use a little proxy server on your server to further hide it. Here is a little Perl CGI proxy:

  1. !/usr/bin/perl

use strict; use warnings; use LWP::Simple;

print "Content-Type: text/calendar; charset=utf-8\r\n"; print "Pragma: no-cache\r\n"; print "Cache-Control: no-cache, must-revalidate\r\n"; print "Content-Disposition: inline; filename=calendar.ics\r\n"; print "\r\n";

my $apikey = 'YOUR-API-KEY-GOES-HERE'; my $content = get("https://www.missionmanager.net/api.php?Get=calICS&APIKey=$apikey"); print $content;

To Show Your Team's Missions on a webpage:

Use the following PHP code on your server

<?php

   $url = "http://www.missionmanager.net/api.php?Get=MissionsList&APIKey=YOUR_API_KEY&OutputFormat=JSON";
   $fileContents = file_get_contents($url);
   if(!$fileContents) {
       echo "Failed to get mission list";
       return;
   }
   $aJson = json_decode( $fileContents );
   if(!$aJson) {
       echo "Failed to decode JSON";
       return;
   }
echo ""; echo "";
   foreach($aJson as $mission) {
echo ""; echo ""; echo ""; echo ""; } echo "
DateMission
" . $mission->MissionDate . "" . $mission->MissionName . "
";

?>

The sky is the limit for things you can do with the Mission manager API!