Language
Geostore Guide
  1. Tasking
    1. Steps 1 to 4: Set Up Your Variables
    2. Step 5: Get the Tasking Product Options
    3. Step A: Check Feasibility
    4. Step 6: Get Attempts
    5. Step 7: Form the OrderRequest
    6. Example Code
    7. Overview of the Requests

Tasking

The Order API features archive images ordering, but also satellites tasking for new acquisitions from your own portal. This guide will show step by step how to order a tasked image. For more technical information refer to the online reference documentation.


In this scenario, a new image of Toulouse (France) will be ordered between December the 1st of 2018 and December the 5th. To do so, we will request a Pleiades Tasking OneNow image.

Note: Image tasking requests always refer to dates in the future.

Steps 1 to 4: Set Up Your Variables

Steps 1 to 4 are the same as in the previous Order images chapter:

The product type that is chosen indicates the mission (SPOT or PLEIADES). The product type also states it is a “tasking” order, and determines the programming type:


  • ONENOW will acquire up to 3 images of your area of interest and send the first one which will match your chosen options.
  • ONEDAY will acquire the first available image of your area of interest for the day you choose.
  • ONEPLAN will let you choose multiple options to acquire an image.

This example deals with a PleiadesTaskingOneNow image.

Step 5: Get the Tasking Product Options

Here starts the tasking specific code. Get the available options for the expected order product:

curl -X POST \
  https://order.proxy.geoapi-airbusds.com/api/v1/tasking/options \
  -H "Authorization: Bearer $MY_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Referer: $MY_REFERER" \
  -H "cache-control: no-cache" \
  -d '{
    "progTypeNames": ["ONENOW"],
    "missions": ["PLEIADES"],
    "aoi": {
        "type": "Polygon",
        "coordinates":
        ]
            [
                [
                    1.0640925898256037, 49.41709204052634
                ],
                [
                    1.0640925898256037, 49.46201159099621
                ],
                [
                    1.133173035174395, 49.46201159099621
                ],
                [
                    1.133173035174395, 49.41709204052634
                ],
                [
                    1.0640925898256037, 49.41709204052634
                ]
            ]
        ]
    }
}' > 05_TaskingProductOptions.json
Not available
Not available

To form this request, one or several missions have to be chosen (SPOT and PLEIADES are accepted). They are the different available constellations of satellites. Then, a programming type has to be set (progTypeName), among “ONEDAY”, “ONENOW” or “ONEPLAN”, as explained in Step 4.


Expected response will look like this:

{
  "progCapacityOptions": [
    {
      "mission": "PLEIADES",
      "progTypes": [
        {
          "progTypeName": "ONENOW"
        }
      ]
    }
  ]
}

A typical ONEDAY response looks like this:

{"progCapacityOptions": [{
   "mission": "PLEIADES",
   "progTypes": [   {
      "progTypeName": "ONEDAY",
      "progOptionsOptical":       {
         "maxIncidenceAngleExtended": 50,
         "maxIncidenceAngleNotExtended": 30
      }
   }]
}]}

It mentions the possible incidence angle that can be used while ordering. The property maxIncidenceAngle can be up to the value of maxIncidenceAngleExtended (50°) if you accept the image to be distorted or up to the value of maxIncidenceAngleNotExtended (30°) otherwise.

Step A: Check Feasibility

Note: This is only mandatory for ONEPLAN

Calling the following request checks if the tasking can be done or if it is challenging due to a certain mix of options in the case of a ONEPLAN tasking. In the case of a ONEDAY or ONENOW tasking, this request checks whether attempts are available for the provided request parameters:

curl -X POST \
  https://order.proxy.geoapi-airbusds.com/api/v1/tasking/feasibility \
  -H "Authorization: Bearer $MY_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Referer: $MY_REFERER" \
  -H "cache-control: no-cache" \
  -d '{ \
    "missions": ["PLEIADES"], \
    "progTypeNames": ["ONEDAY"], \
    "acquisitionDate": { \
        "startDate": "2018-01-01T01:00:00Z", \
        "endDate": "2018-01-05T01:00:00Z" \
    }, \
    "aoi": { \
        "type": "Polygon", \
        "coordinates": [ \
            [
                [1.359239801370935, 43.63393795330642], \
                [1.517113694237654, 43.65393795330642], \
                [1.517113694237654, 43.548565338986835], \
                [1.359239801370935, 43.548565338986835], \
                [1.359239801370935, 43.63393795330642] \
            ] \
        ] \
    }, \
}'
Not available
Not available

To form this request, ‘Step 5: Get the tasking product options’ request can be reused. Just add extra information:

  • aoi field: This is the area of interest, using GeoJSON format (only polygons are accepted).
  • acquisitionDate field: for a ONEDAY tasking, only the startDate is mandatory. Start date indicates the first possible date of acquisition for the image. A range of accepted dates can be set by adding an endDate.
{
  "progCapacities": [{
   "mission": "PLEIADES",
   "progTypes": [   {
      "name": "ONEDAY",
      "mission": "PLEIADES",
      "available": true
   }]
}]}

Here is a ONEPLAN typical response:

{
  "progCapacities": [
    {
      "mission": "PLEIADES",
      "progTypes": [
        {
          "name": "ONEPLAN",
          "mission": "PLEIADES",
          "feasibility": {
            "classification": "CHALLENGING",
            "automation": "MANUAL"
          }
        }
      ]
    }
  ]
}

This response classifies the request as CHALLENGING, which means it cannot be ordered through our Order API because it requires a human intervention. In that case, this image should be ordered on GeoStore.

Step 6: Get Attempts

Note: This is only mandatory for ONEDAY and ONENOW

Once feasibility/availability has been checked in the previous step, this request retrieves the tasking possibilities (called attempts). Usually, several attempts are available, at various dates, with different properties. It is then possible to choose among these matches, according to your requirements/criteria:

curl -X POST \
  https://order.proxy.geoapi-airbusds.com/api/v1/tasking/attempts \
  -H "Authorization: Bearer $MY_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Referer: $MY_REFERER" \
  -H "cache-control: no-cache" \
  -d "{
        \"contractId\": \"$FIRST_CONTRACT_ID\",
        \"progTypeNames\": [\"ONENOW\"],
        \"missions\": [\"PLEIADES\"],
        \"aoi\": {
                \"type\": \"Polygon\",
                \"coordinates\": [[
                        [
                    1.0640925898256037, 49.41709204052634
                ],
                [
                    1.0640925898256037, 49.46201159099621
                ],
                [
                    1.133173035174395, 49.46201159099621
                ],
                [
                    1.133173035174395, 49.41709204052634
                ],
                [
                    1.0640925898256037, 49.41709204052634
                ]
                ]]
        },
        \"acquisitionDate\": {
                \"startDate\" : \"2018-12-01T01:00:00Z\",
                \"endDate\": \"2018-12-05T01:00:00Z\"
        },
        \"optical\": {
                \"acquisitionMode\": \"MONO\",
                \"maxCloudCover\": 20.0,
                \"maxIncidenceAngle\": 50.0
        }
}" > 06_getTaskingAttemps.json
Not available
Not available

Example:

{
  "progCapacities": [
    {
      "mission": "PLEIADES",
      "progTypes": [
        {
          "name": "ONENOW",
          "mission": "PLEIADES",
          "segments": [
            {
              "id": "PHR1",
              "footprint": {
                "geometry": "POLYGON((0.849514 49.466131, 0.850186 49.412287, 1.340678 49.412151, 1.341318 49.466151, 0.849514 49.466131, 0.849514 49.466131))",
                "center": "POINT(1.095542 49.439192)"
              },
              "instrumentMode": "PAN+XS",
              "orderDeadline": "2018-12-01T02:55:00.999Z",
              "extendedAngle": true,
              "acquisitionStartDate": "2018-12-01T10:34:36.999Z",
              "acquisitionEndDate": "2018-12-01T10:34:37.887Z",
              "incidenceAngle": 46.68,
              "segmentKey": "fc8a50952d222df3d61cede726fedf316962b1bf02b32b3d44797f1b333023fb3d2f01cf0d10211b2928c63bc4d1ecb5255ced01dfbf3152155404a20714855b::[{\"key\":\"acqPeriods\", \"value\":\"2018-12-01T10:34:36.999Z 2018-12-01T10:34:37.887Z,2018-12-02T11:15:25.599Z 2018-12-02T11:15:26.487Z,2018-12-03T11:07:50.999Z 2018-12-03T11:07:51.599Z\"},{\"key\":\"extendedAngle\", \"value\":true},{\"key\":\"orderDeadLine\", \"value\":\"2018-12-01T02:55:00.999Z\"},{\"key\":\"geometryWkt\", \"value\":\"POLYGON((0.849514 49.466131, 0.850186 49.412287, 1.340678 49.412151, 1.341318 49.466151, 0.849514 49.466131, 0.849514 49.466131))\"},{\"key\":\"maxCloudCover\", \"value\":\"20.0\"},{\"key\":\"maxIncidenceAngle\", \"value\":\"50.0\"}]",
              "acrossTrackIncidenceAngle": -39.17417511727762
            },
            {
              "id": "PHR2",
              "footprint": {
                "geometry": "POLYGON((0.908666 49.466212, 0.908817 49.41259, 1.288683 49.411982, 1.288816 49.466211, 0.908666 49.466212, 0.908666 49.466212))",
                "center": "POINT(1.099102 49.439252)"
              },
              "instrumentMode": "PAN+XS",
              "orderDeadline": "2018-12-02T02:55:00.599Z",
              "extendedAngle": false,
              "acquisitionStartDate": "2018-12-02T11:15:25.599Z",
              "acquisitionEndDate": "2018-12-02T11:15:26.487Z",
              "incidenceAngle": 47.41,
              "segmentKey": "0bd113a6788dc5ea26aead32604a9b3e8727609f07f6f2162fb30131bed378f60a855f90239196bacb317fa273f3d86f80932b0f25047efdad36cfcaa9e83e41::[{\"key\":\"acqPeriods\", \"value\":\"2018-12-01T10:34:36.999Z 2018-12-01T10:34:37.887Z,2018-12-02T11:15:25.599Z 2018-12-02T11:15:26.487Z,2018-12-03T11:07:50.999Z 2018-12-03T11:07:51.599Z\"},{\"key\":\"extendedAngle\", \"value\":true},{\"key\":\"orderDeadLine\", \"value\":\"2018-12-02T02:55:00.599Z\"},{\"key\":\"geometryWkt\", \"value\":\"POLYGON((0.908666 49.466212, 0.908817 49.41259, 1.288683 49.411982, 1.288816 49.466211, 0.908666 49.466212, 0.908666 49.466212))\"},{\"key\":\"maxCloudCover\", \"value\":\"20.0\"},{\"key\":\"maxIncidenceAngle\", \"value\":\"50.0\"}]",
              "acrossTrackIncidenceAngle": 18.630531372904947
            },
            {
              "id": "PHR3",
              "footprint": {
                "geometry": "POLYGON((0.90795 49.466211, 0.907954 49.41255, 1.288751 49.412023, 1.28874 49.466213, 0.90795 49.466211, 0.90795 49.466211))",
                "center": "POINT(1.09866 49.439249)"
              },
              "instrumentMode": "THR",
              "orderDeadline": "2018-12-03T02:55:00.999Z",
              "extendedAngle": false,
              "acquisitionStartDate": "2018-12-03T11:07:50.999Z",
              "acquisitionEndDate": "2018-12-03T11:07:51.599Z",
              "incidenceAngle": 47.25,
              "segmentKey": "8d4ad49318e556edb08af621eeafe0ea79b34c2ae227b4d614fe5e026ae330093562a5a86d887d93f695ccef7b61c7f23516c6cab6017b5c04532c0822b516f3::[{\"key\":\"acqPeriods\", \"value\":\"2018-12-01T10:34:36.999Z 2018-12-01T10:34:37.887Z,2018-12-02T11:15:25.599Z 2018-12-02T11:15:26.487Z,2018-12-03T11:07:50.999Z 2018-12-03T11:07:51.599Z\"},{\"key\":\"extendedAngle\", \"value\":true},{\"key\":\"orderDeadLine\", \"value\":\"2018-12-03T02:55:00.999Z\"},{\"key\":\"geometryWkt\", \"value\":\"POLYGON((0.90795 49.466211, 0.907954 49.41255, 1.288751 49.412023, 1.28874 49.466213, 0.90795 49.466211, 0.90795 49.466211))\"},{\"key\":\"maxCloudCover\", \"value\":\"20.0\"},{\"key\":\"maxIncidenceAngle\", \"value\":\"50.0\"}]",
              "acrossTrackIncidenceAngle": 7.708398799942616
            }
          ],
          "available": true
        }
      ]
    }
  ]
}

This was a typical ONENOW Tasking attempt result that includes a segmentKey.

SEGMENT_KEY=`cat 06_getTaskingAttemps.json | jq '.progCapacities[0].progTypes[0].segments[0].segmentKey' `
echo "SEGMENT_KEY="$SEGMENT_KEY

Here is a ONEDAY Tasking attempt example:

{
    "progCapacities": [{
        "mission": "PLEIADES",
        "progTypes": [{
            "name": "ONEDAY",
            "segments": [{
                    "footprint": {
                       "geometry": "POLYGON((1.302423 43.658314, 1.302452 43.544107, 1.573507 43.543767, 1.573521 43.658315, 1.302423 43.658314, 1.302423 43.658314))",
                       "center": "POINT(1.438043 43.601127)"
                    },
                    "acquisitionStartDate": "2018-01-01T11:55:08.499Z",
                    "acquisitionEndDate": "2018-01-01T11:55:09.770Z",
                    "incidenceAngle": 26.94,
                    "extendedAngle": false,
                    "orderDeadline": "2018-01-01T03:55:00.499Z"
                },
                {
                    "footprint": {
                       "geometry": "POLYGON((1.296866 43.658313, 1.297471 43.544116, 1.57765 43.543762, 1.57823 43.658315, 1.296866 43.658313, 1.296866 43.658313))",
                       "center": "POINT(1.437627 43.601167)"
                    },
                    "acquisitionStartDate": "2018-01-02T11:47:42.799Z",
                    "acquisitionEndDate": "2018-01-02T11:47:44.679Z",
                    "incidenceAngle": 26.82,
                    "extendedAngle": false,
                    "orderDeadline": "2018-01-02T03:55:00.799Z"
                },
                {
                    {
                        "id": "PHR3",
                        "footprint": {
                           "geometry": "POLYGON((1.287255 43.658328, 1.28781 43.543755, 1.586371 43.544149, 1.586905 43.658332, 1.287255 43.658328, 1.287255 43.658328))",
                           "center": "POINT(1.437 43.601176)"
                        },
                    "acquisitionStartDate": "2018-01-03T11:40:36.999Z",
                    "acquisitionEndDate": "2018-01-03T11:40:38.270Z",
                    "incidenceAngle": 26.5,
                    "extendedAngle": false,
                    "orderDeadline": "2018-01-03T03:55:00.999Z"
                },
                {
                    {
                    "id": "PHR4",
                    "footprint": {
                       "geometry": "POLYGON((1.300485 43.658316, 1.300234 43.544221, 1.577107 43.543651, 1.576838 43.658314, 1.300485 43.658316, 1.300485 43.658316))",
                       "center": "POINT(1.438781 43.601108)"
                    },
                    "acquisitionStartDate": "2018-01-06T12:06:38.799Z",
                    "acquisitionEndDate": "2018-01-06T12:06:40.070Z",
                    "incidenceAngle": 26.59,
                    "extendedAngle": false,
                    "orderDeadline": "2018-01-06T03:55:00.799Z"
                },
                {
                    "footprint":             {
                       "geometry": "POLYGON((1.30287 43.658313, 1.303119 43.544179, 1.573248 43.543693, 1.573475 43.658313, 1.30287 43.658313, 1.30287 43.658313))",
                       "center": "POINT(1.438274 43.601141)"
                    },
                    "acquisitionStartDate": "2018-01-07T11:58:54.199Z",
                    "acquisitionEndDate": "2018-01-07T11:58:56.079Z",
                    "incidenceAngle": 27.36,
                    "extendedAngle": false
                    "orderDeadline": "2018-01-07T03:55:00.199Z"
                }
            ]
        }]
    }]
}

Explanation of the Result

The result is formed of programming capacities (progCapacities) which are sorted by mission (PLEIADES or SPOT). Each programming capacity may contain several programming types (ONEDAY, ONENOW, ONEPLAN). These programming types may have several segments (attempts). Then these attempts contain:


  • the footprint which indicates the coordinates of the area that would be covered by the satellite.
  • the acquisitionStartDate and the acquisitionEndDate which is the acquisition date range.
  • the possible incidenceAngle for this attempt.
  • if an extendedAngle is possible, which would allow the acquisition of an image with an incidence angle up to 50° instead of 30°.
  • the orderDeadLine which is the last possible order date for this attempt.

In this ‘ONEDAY’ case, 5 possible attempts are available. The properties given by this response will be used in the ‘Step 7: Form the OrderRequest’ (refer to the Order API documentation, Step 7: Ordering). Choose the best attempt for your needs.

The following Request uses the segmentKey = $SEGMENT_KEY that was obtained by the ONENOW ‘get attempt’ request.

Step 7: Form the OrderRequest

curl -X POST \
  https://order.proxy.geoapi-airbusds.com/api/v1/orders \
  -H "Authorization: Bearer $MY_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Referer: $MY_REFERER" \
  -H "cache-control: no-cache" \
  -d "{
    \"aoi\": [
      {
        \"id\": 1,
        \"geometry\": {
          \"type\": \"Polygon\",
          \"coordinates\": [
            [
                [
                    1.0640925898256037, 49.41709204052634
                ],
                [
                    1.0640925898256037, 49.46201159099621
                ],
                [
                    1.133173035174395, 49.46201159099621
                ],
                [
                    1.133173035174395, 49.41709204052634
                ],
                [
                    1.0640925898256037, 49.41709204052634
                ]
            ]
        ]
        },
        \"name\": \"test\"
      }
    ],
    \"contractId\":  \"$FIRST_CONTRACT_ID\",
    \"items\": [
      {
        \"aoiId\": 1,
        \"productTypeId\": \"$PRODUCT_TYPE_ID\",
        \"segmentKey\": $SEGMENT_KEY
      }
    ],
    \"primaryMarket\": \"AGRI\",
    \"secondaryMarket\": \"AGRI_ENV\",
    \"customerReference\": \"test OneNow\",
    \"optionsPerProductType\": [
      {
        \"productTypeId\": \"PleiadesTaskingOneNow\",
        \"options\": [
            {
                \"key\":\"license\",
                \"value\": \"eula_5\"
            },
            {
                \"key\":\"processing_level\",
                \"value\":\"ortho\"
            },
            {
                \"key\": \"image_format\",
                \"value\": \"dimap_jpeg2000_regular\"
            },
            {
                \"key\": \"pixel_coding\",
                \"value\": \"12bits\"
            },
            {
                \"key\": \"radiometric_processing\",
                \"value\": \"basic\"
            },
            {
                \"key\": \"spectral_processing\",
                \"value\": \"pansharpened\"
            },
            {
                \"key\": \"dem\",
                \"value\": \"best_available\"
            },
            {
                \"key\": \"projection_1\",
                \"value\": \"2154\"
            }]
      }
    ]
  }" > 07_taskSatellite.json
Not available
Not available

To form this OrderRequest, coordinates were set, as well as productTypeId (“PleiadesTaskingOneNow”) and the required properties:


  • acquisitionStartDate: set it with the acqusitionStartDatefrom the get attempts response.
  • acquisitionEndDate: set it with the acquisitionEndDate from the get attempts response.
  • extendedAngle: set it as “true” if you want the incidence angle to be up to 50° (the image may be distorted), set it as “false” otherwise.
  • maxIncidenceAngle: set the maximum incidence angle you would accept for your image. You would get an error if this value is above 30° (or 50° if you set extendedAngle as “true”).
  • maxCloudCover: set the maximum cloud coverage percentage you would accept. This value must be between 0 and 100.

To form the rest of the OrderRequest, please refer to the Order API documentation. A typical response looks like:

{
    "salesOrderId" : "ORDER_UNIQUE_IDENTIFIER",
    "currency": "EUR",
    "discountPercentage": 0,
    "discountValue": 0,
    "totalAmount": 4914
}


Example Code

This example code runs through every step described in this chapter. Every request creates a JSON file as a result. The last /orders endpoint was commented in this script to avoid unwanted order. Uncomment it only when you feel comfortable with the idea of ordering a Tasking.

#!/bin/sh

if [ "$#" -ne 2 ]; then
  echo "Usage: $0 YOUR_API_KEY YOUR_REFERER" >&2
  exit 1
fi

# Pass your API KEY as first parameter of the command line and your referer as second parameter
MY_API_KEY=$1
MY_REFERER=$2

# Authentication request that returns the Bearer token. This token will be used for further requests.
echo "Authentication request ---------------------------------------------------------------------------"
curl -X POST \
  https://authenticate.foundation.api.oneatlas.airbus.com/auth/realms/IDP/protocol/openid-connect/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -H "cache-control: no-cache" \
  -d "grant_type=api_key&client_id=IDP&apikey=$MY_API_KEY" \
  > 01_AuthenticationReturn.json

cat 01_AuthenticationReturn.json | jq '.' > 01_AuthenticationReturn_formatted.json
echo "01_AuthenticationReturn.json result file generated"

# Get the IDP Token out of the JSON Result
MY_TOKEN=`cat 01_AuthenticationReturn.json | jq '.access_token' | tr -d \"`
echo "MY_TOKEN = "$MY_TOKEN

# Search for contracts associated to the connected user
echo "My contracts request ------------------------------------------------------------------------------"
curl -X GET \
  https://order.proxy.geoapi-airbusds.com/api/v1/me/contracts \
  -H "Authorization: Bearer $MY_TOKEN" \
  -H "Content-Type: application/json" \
  -H "cache-control: no-cache" \
  -H "Referer: $MY_REFERER" > 02_myContracts.json

cat 02_myContracts.json | jq '.' > 02_myContracts_formatted.json
echo "02_myContracts.json result file generated"


# Search for ProductTypes about the first contract of the previous list
echo "Search for product Types associated with this contract ------------------------------------------"
curl -X GET \
  https://order.proxy.geoapi-airbusds.com/api/v1/contracts/$FIRST_CONTRACT_ID/productTypes \
  -H "Authorization: Bearer $MY_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Referer: $MY_REFERER" \
  -H "cache-control: no-cache" > 03_firstContractProductTypes.json

cat 03_firstContractProductTypes.json | jq '.' > 03_firstContractProductTypes_formatted.json
echo "03_firstContractProductTypes.json result file generated"


# Choose one productTypeId among the possibilities
PRODUCT_TYPE_ID=`cat 03_firstContractProductTypes.json | jq '.productTypes[0].productTypeId' | tr -d \"`
echo "PRODUCT_TYPE_ID = "$PRODUCT_TYPE_ID

# start of the TASKING specific scenario________________________________________________________________________________________________________
# In this case, PleiadesTaskingOneNow is chosen to show a Tasking scenario:
PRODUCT_TYPE_ID="PleiadesTaskingOneNow"
echo "PRODUCT_TYPE_ID = "$PRODUCT_TYPE_ID


# Get the Production Options
echo "Search for Production options ------------------------------------------------------------------"
curl -X POST \
  https://order.proxy.geoapi-airbusds.com/api/v1/tasking/options \
  -H "Authorization: Bearer $MY_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Referer: $MY_REFERER" \
  -H "cache-control: no-cache" \
  -d '{
    "progTypeNames": ["ONENOW"],
    "missions": ["PLEIADES"],
    "aoi": {
        "type": "Polygon",
        "coordinates":
        ]
            [
                [
                    1.0640925898256037, 49.41709204052634
                ],
                [
                    1.0640925898256037, 49.46201159099621
                ],
                [
                    1.133173035174395, 49.46201159099621
                ],
                [
                    1.133173035174395, 49.41709204052634
                ],
                [
                    1.0640925898256037, 49.41709204052634
                ]
            ]
        ]
    }
}' > 04_productOptions.json

cat 04_productOptions.json | jq '.' > 04_productOptions_formatted.json
echo "04_productOptions.json result file generated"


# Get the Tasking Production Options
echo "Get the Tasking Production Options ------------------------------------------------------------------"

curl -X POST \
  https://order.proxy.geoapi-airbusds.com/api/v1/tasking/options \
  -H "Authorization: Bearer $MY_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Referer: $MY_REFERER" \
  -H "cache-control: no-cache" \
  -d '{
    "progTypeNames": ["ONENOW"],
    "missions": ["PLEIADES"],
    "aoi": {
        "type": "Polygon",
        "coordinates":
        ]
            [
                [
                    1.0640925898256037, 49.41709204052634
                ],
                [
                    1.0640925898256037, 49.46201159099621
                ],
                [
                    1.133173035174395, 49.46201159099621
                ],
                [
                    1.133173035174395, 49.41709204052634
                ],
                [
                    1.0640925898256037, 49.41709204052634
                ]
            ]
        ]
    }
}' > 05_TaskingProductOptions.json

cat 05_TaskingProductOptions.json | jq '.' > 05_TaskingProductOptions_formatted.json
echo "05_TaskingProductOptions.json result file generated"




# Check Feasibility: Not relevant for OneNow option

# Get tasking attempts
echo "Get Tasking Attempts ----------------------------------------------------------------------------"
curl -X POST \
  https://order.proxy.geoapi-airbusds.com/api/v1/tasking/attempts \
  -H "Authorization: Bearer $MY_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Referer: $MY_REFERER" \
  -H "cache-control: no-cache" \
  -d "{
        \"contractId\": \"$FIRST_CONTRACT_ID\",
        \"progTypeNames\": [\"ONENOW\"],
        \"missions\": [\"PLEIADES\"],
        \"aoi\": {
                \"type\": \"Polygon\",
                \"coordinates\": [[
                        [
                    1.0640925898256037, 49.41709204052634
                ],
                [
                    1.0640925898256037, 49.46201159099621
                ],
                [
                    1.133173035174395, 49.46201159099621
                ],
                [
                    1.133173035174395, 49.41709204052634
                ],
                [
                    1.0640925898256037, 49.41709204052634
                ]
                ]]
        },
        \"acquisitionDate\": {
                \"startDate\" : \"2018-12-01T01:00:00Z\",
                \"endDate\": \"2018-12-05T01:00:00Z\"
        },
        \"optical\": {
                \"acquisitionMode\": \"MONO\",
                \"maxCloudCover\": 20.0,
                \"maxIncidenceAngle\": 50.0
        }
}" > 06_getTaskingAttemps.json

cat 06_getTaskingAttemps.json| jq '.' > 06_getTaskingAttemps_formatted.json
echo "06_getTaskingAttemps.json result file generated"

SEGMENT_KEY=`cat 06_getTaskingAttemps.json | jq '.progCapacities[0].progTypes[0].segments[0].segmentKey' `
echo "SEGMENT_KEY="$SEGMENT_KEY



# Tasking has been disabled to avoid unwanted Ordering.
# If you really want to place an Order, please comment the following line, as well as the second to last line.
: <<'END_COMMENT'

# Tasking the Satellite
echo "Tasking the Satellite ------------------------------------------------------------------------------------"

curl -X POST \
  https://order.proxy.geoapi-airbusds.com/api/v1/orders \
  -H "Authorization: Bearer $MY_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Referer: $MY_REFERER" \
  -H "cache-control: no-cache" \
  -d "{
    \"aoi\": [
      {
        \"id\": 1,
        \"geometry\": {
          \"type\": \"Polygon\",
          \"coordinates\": [
            [
                [
                    1.0640925898256037, 49.41709204052634
                ],
                [
                    1.0640925898256037, 49.46201159099621
                ],
                [
                    1.133173035174395, 49.46201159099621
                ],
                [
                    1.133173035174395, 49.41709204052634
                ],
                [
                    1.0640925898256037, 49.41709204052634
                ]
            ]
        ]
        },
        \"name\": \"test\"
      }
    ],
    \"contractId\":  \"$FIRST_CONTRACT_ID\",
    \"items\": [
      {
        \"aoiId\": 1,
        \"productTypeId\": \"$PRODUCT_TYPE_ID\",
        \"segmentKey\": $SEGMENT_KEY
      }
    ],
    \"primaryMarket\": \"AGRI\",
    \"secondaryMarket\": \"AGRI_ENV\",
    \"customerReference\": \"test OneNow\",
    \"optionsPerProductType\": [
      {
        \"productTypeId\": \"PleiadesTaskingOneNow\",
        \"options\": [
            {
                \"key\":\"license\",
                \"value\": \"eula_5\"
            },
            {
                \"key\":\"processing_level\",
                \"value\":\"ortho\"
            },
            {
                \"key\": \"image_format\",
                \"value\": \"dimap_jpeg2000_regular\"
            },
            {
                \"key\": \"pixel_coding\",
                \"value\": \"12bits\"
            },
            {
                \"key\": \"radiometric_processing\",
                \"value\": \"basic\"
            },
            {
                \"key\": \"spectral_processing\",
                \"value\": \"pansharpened\"
            },
            {
                \"key\": \"dem\",
                \"value\": \"best_available\"
            },
            {
                \"key\": \"projection_1\",
                \"value\": \"2154\"
            }]
      }
    ]
  }" > 07_taskSatellite.json

cat 07_taskSatellite.json | jq '.' > 07_taskSatellite_formatted.json
echo "07_taskSatellite.json result file generated"
cat 07_taskSatellite_formatted.json







# Tasking has been disabled to avoid any unwanted Ordering.
# If you really want to place an Order, please comment the following line.
END_COMMENT

echo "normal ending of the program"
Not yet available
Not yet available

Download in Shell


Overview of the Requests

This Sequence Order Diagram summarises the whole process of requesting a Tasking. Requests in grey return information on options. Therefore, their result can be hardcoded. Requests in black can not be avoided for a Tasking.

quicklook