Cards

MapaKalamidad report cards for disaster events. Note: authentication is required to make updates to cards.

Request Format

URL ParameterDescriptionFormatRequired

cardId

Unique identifier of the card we wish to work with, this is generated by the system when the initial card is created (required)

String (7 to 14 characters)

Yes

AttributeDescriptionFormatRequired

card_data

User data collected in card interface

JSON

Yes

text

Description of the disaster event

String

No

image_id

Identifier of the associated card image

String

No

created_at

Date and time the card was created

Date (ISO 8601)

Yes

location

Geographic location of the disaster event

Lat/Long in ESPG:4326

Yes

Note on card_data

Card data requires the object report_type to exist. Where disaster_type is set to 'flood' then the object flood_depth should also exist adjacent to report_type. Where the disaster_type is 'prep' then report_type should be one of the types as specified in server config.js.

Disaster Typereport_typeAttribute details

Flood

flood

flood_depth: flood severity based on depth in cm

< 70 cm : Minor

70 - 150 cm : Moderate

150 cm : Severe

Earthquake

road

accessabilityFailure: the level of road damage affected by earthquake 0 : < 0,5 m (No Vehicle Access) 1 : 0,6 - 1 m (2 and 3-Wheel Vehicle) 2 or 3 : 1.1 - 1.8 m (4-Wheel Vehicle) 4 : >1,9 m Large Vehicles (Large SUVs and Trucks)

Earthquake

structure

structureFailure: the level of structure damage affected by earthquake

0 : Observed Shaking 1 : Minor Damage 2 : Major Damage 3 : Fully Collapsed

Volcano

volcanic

volcanicSigns: Volcano Observations

0 : Water Sources are drying up/Contaminated 1 : Declining plant health 2 : Unusual Animal Behaviour 3 : Frequent Earthquake Tremors 4 : Frequent Rumbling Sounds

Volcano

ashfall

smogImpact: the level of ashfall situation

0 : Fine/Dry 1 : Granulated 2 : Dense/Wet

Typhoon

wind

impact: level of disruption caused by extreme wind

0 : Low Disruption 1 : Medium Disruption 2 : High Disruption

Typhoon

flood

flood_depth: flood severity based on depth in cm

< 70 cm : Minor

70 - 150 cm : Moderate

150 cm : Severe

Typhoon

storm

impact: Disruption Levels

Low

Medium

High

For example a card with flood data including flood_depth:

  "disaster_type": "flood",
  "card_data":{
    "report_type": "flood",
    "flood_depth": 50
  }

GET /cards/:cardId

Retrieve details of a card:

Here is a simple call to GET a card:

curl -X GET -H "X-Api-Key: API_KEY_GOES_HERE" "https://data.mapakalamidad.ph/cards/abcdefg"

The card was found:

{
  "statusCode": 200,
  "result": {
    "pkey": "2",
    "card_id": "abcdefg",
    "username": "user",
    "network": "test",
    "language": "en",
    "received": true,
    "report_id": "1"
  }
}

The card does not exist:

{
  "statusCode": 404,
  "found": false,
  "result": null
}

PUT /cards/:cardId

Update a card with details a disaster event report:

Here is a simple call to PUT a card:

curl -X PUT -H "X-Api-Key: API_KEY_GOES_HERE" -d '{
    "text": "test card",
    "disaster_type": "flood"
    "card_data":
      {
        "report_type": "flood",
        "flood_depth": 101
      },
    "created_at":"2016-12-09T11:32:52.011Z",
    "location": {
        "lat": -6.149531,
        "lng": 106.869342
    }
}' "https://data.mapakalamidad.ph/cards/abcdefg"

Card was successfully created:

{
  "statusCode": 200,
  "cardId": "abcdefg",
  "created": true
}

The card does not exist:

{
  "statusCode": 404,
  "cardId": "abcdefg",
  "message": "No card exists with id 'abcdefg'"
}

The report already exists for the card:

{
  "statusCode": 409,
  "cardId": "abcdefg",
  "message": "Report already received for card 'abcdefg'"
}

GET /cards/:cardId/images

GET a signed S3 URL to upload a card report, this must be done after the card report has been created and only one image can exist for a given card.

NOTE: After an image is submitted a server-side process shrinks the image to a standard size and there may be a small time lag of a few seconds before the image goes "live".

Here is a simple call to GET a new signed S3 URL for image upload:

curl -X GET \
  https://api-server-dev.riskmap.in/cards/HJID8CWN-/images

Signed S3 URL successfully generated:

{"signedRequest":"https://riskmap-image-uploads.s3.ap-south-1.amazonaws.com/originals/BJbTHR-Vb.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJFMR3NR7BXZ5X7DA%2F20170629%2Fap-south-1%2Fs3%2Faws4_request&X-Amz-Date=20170629T012002Z&X-Amz-Expires=900&X-Amz-Signature=ad10a53555205fa18ecfa07da52eb0349ed1c8bda66fe2de0fa9c445c61b7c62&X-Amz-SignedHeaders=host","url":"https://s3.ap-south-1.amazonaws.com/riskmap-image-uploads/originals/BJbTHR-Vb.jpg"}

Last updated