place_order

Create an order for one of Sentera's FieldInsight products. Go here for a general explanation of Orders and their statuses. For examples of the place_order mutation check here.

Input fields

deal_sentera_id (ID)

The Sentera ID of a deal to which the cost of this order should be charged.

external_id (ExternalID)

The ID of the order in an external system.

organization_sentera_id (ID)

The ID of the Organization to which this Order belongs. If not provided the Order will be placed within the calling user's default organization.

product_key (ProductKey!)

The product being ordered.

product_variant_key (ProductVariantKey)

The specific variant of this product you would like.

sensor_types ([SensorType!])
Deprecation notice

Deprecated in favor of using product variant key. This allows for greater specificity in the deliverables requested for a given product.

The sensor types that will be used to capture data for this order.

settings (ProductSettingsInput)

The settings needed to process the Order. If the settings are incomplete but the Order has a processable Survey, the Order will move to the "Needs Settings" status. The settings are passed as JSON object in which each key corresponds to an input_type. An example demonstrating the settings for each product can be found in the Catalog and you can introspect on the settings input_types to determine their structure.

survey_sentera_id (ID)

A survey containing the images necessary to process this order. Cannot be combined with the task input.

task (OrderTaskInput)

The details of the task that will provide FieldCapture for the order. If not provided one will be created without a specified Field.

Return fields

analytics ([Analytic!]!)

The set of analytics that comprise the product that was ordered.

completed_at (ISO8601DateTime)

Date and time when the order was completed, in ISO 8601 format.

content_hash (String!)

The current content hash for this item.

created_at (ISO8601DateTime!)

The timestamp of when the item was created in the system.

created_by (User!)

The user who created this item.

deal (Deal)

The deal for the order, if any.

external_id (ExternalID)

The unique identifier of this order in a customer's system.

field (Field)

The field associated with this order.

missing_settings (Boolean!)
Deprecation notice

Replaced with needs_settings

Is this order missing the settings necessary to begin processing an order?

needs_settings (Boolean!)

Does this order need settings that are required to begin processing?

organization (Organization!)

The organization in which this order was placed.

organization_sentera_id (ID)
Deprecation notice

Use organization instead

The ID of the organization in which this order was placed.

product (Product!)

The product that this order will fulfill.

product_variant_key (ProductVariantKey)

The specific variant of the product that was ordered.

sentera_id (ID!)

A system-generated key identifying a specific instance of an order.

settings (ProductSettings)

The product settings for this order.

status (OrderStatus!)

The status of the order.

survey (Survey)

The survey containing the images to fulfill this order.

task (FlightTask)

A task to capture the images for this order.

updated_at (ISO8601DateTime!)

The timestamp of when the item was last updated in the system.

updated_by (User)

The user who last updated this item.

Examples

Place Partial Order

You can place an order before you know the settings (such as row spacing), or you have the images (from FieldCapture). In which case the order will be in the PENDING status until both those things are provided through `update_order`

Try this example in GraphiQL
mutation PlaceOrder {
  place_order(product_key: FIELD_SCALE_STAND_COUNT, product_variant_key: "STANDARD") {
  sentera_id
  organization_sentera_id
  status
  product {
    sku
    name
  }
  settings {
    row_spacing {
      unit
      value
    }
    row_fill
    seeding_rate {
      unit
      value
    }
  }
  analytics {
    sku
    name
  }
  }
}

{
  "data": {
  "place_order": {
    "sentera_id": "7qhgc8l_OD_phgrAcme_CV_deve_5ab6a8995_221219_142757",
    "organization_sentera_id": "121amqh_OR_phgrAcme_CV_deve_a7f4fbad8_221216_115034",
    "status": "PENDING",
    "product": {
      "sku": "71301-00",
      "name": "Field Scale Stand Count"
    },
    "settings": null,
    "analytics": [
      {
        "sku": "84001-00",
        "name": "Spot Scout Stand Count"
      }
    ]
  }
  }
}

Place Order and create a Flight Task

You can place an order for a specific field and the API will automatically create a Flight Task for either you or Sentera Flight Services to fulfill.

Try this example in GraphiQL
mutation PlaceOrder {
  place_order(product_key: FIELD_SCALE_STAND_COUNT,
            product_variant_key: "STANDARD",
            task: {
              field_sentera_id: "jzt2lzz_AS_8brhbkSentera_CV_deve_a66dedf98_200410_121407"
           }) {
  sentera_id
  organization_sentera_id
  status
  product {
    sku
    name
  }
  settings {
    row_spacing {
      unit
      value
    }
    row_fill
    seeding_rate {
      unit
      value
    }
  }
  task {
    sentera_id
  }
  analytics {
    sku
    name
  }
  }
}

{
  "data": {
  "place_order": {
    "sentera_id": "7qhgc8l_OD_phgrAcme_CV_deve_5ab6a8995_221219_142757",
    "organization_sentera_id": "121amqh_OR_phgrAcme_CV_deve_a7f4fbad8_221216_115034",
    "status": "PENDING",
    "product": {
      "sku": "71301-00",
      "name": "Field Scale Stand Count"
    },
    "settings": null,
    "task": {
      "sentera_id": "v65zlut_TA_SHORT1_CV_deve_daa3db7bf_230314_081227"
    },
    "analytics": [
      {
        "sku": "84001-00",
        "name": "Spot Scout Stand Count"
      }
    ]
  }
  }
}

Place Order with an existing Survey

If you have already captured the necessary data you can place an order with an existing survey. If you do not provide the necessary settings the order move to the NEEDS_SETTINGS status. You can then initiate processing by providing the settings through `update_order`

Try this example in GraphiQL
mutation PlaceOrder {
  place_order(product_key: FIELD_SCALE_STAND_COUNT,
            product_variant_key: "STANDARD",
            survey_sentera_id: "jzt2lzz_CO_8brhbkSentera_CV_deve_a66dedf98_200410_121407") {
  sentera_id
  organization_sentera_id
  status
  product {
    sku
    name
  }
  settings {
    row_spacing {
      unit
      value
    }
    row_fill
    seeding_rate {
      unit
      value
    }
  }
  task {
    sentera_id
  }
  analytics {
    sku
    name
  }
  }
}

{
  "data": {
  "place_order": {
    "sentera_id": "7qhgc8l_OD_phgrAcme_CV_deve_5ab6a8995_221219_142757",
    "organization_sentera_id": "121amqh_OR_phgrAcme_CV_deve_a7f4fbad8_221216_115034",
    "status": "NEEDS_SETTINGS",
    "product": {
      "sku": "71301-00",
      "name": "Field Scale Stand Count"
    },
    "settings": null,
    "task": null,
    "analytics": [
      {
        "sku": "84001-00",
        "name": "Spot Scout Stand Count"
      }
    ]
  }
  }
}

Place an order against a deal

You can place an order against a deal.

Try this example in GraphiQL
mutation PlaceOrder {
  place_order(product_key: FIELD_SCALE_STAND_COUNT,
            product_variant_key: "STANDARD",
            deal_sentera_id: "z75czjd_DL__CV_deve_2d01a0aea_231213_102354",
            task: {
              field_sentera_id: "jzt2lzz_AS_8brhbkSentera_CV_deve_a66dedf98_200410_121407"
           }) {
  sentera_id
  organization_sentera_id
  status
  product {
    sku
    name
  }
  deal {
    deal_number
  }
  settings {
    row_spacing {
      unit
      value
    }
    row_fill
    seeding_rate {
      unit
      value
    }
  }
  task {
    sentera_id
  }
  analytics {
    sku
    name
  }
  }
}

{
  "data": {
  "place_order": {
    "sentera_id": "7qhgc8l_OD_phgrAcme_CV_deve_5ab6a8995_221219_142757",
    "organization_sentera_id": "121amqh_OR_phgrAcme_CV_deve_a7f4fbad8_221216_115034",
    "status": "PENDING",
    "product": {
      "sku": "71301-00",
      "name": "Field Scale Stand Count"
    },
    "deal": {
      "deal_number": "231213001"
    },
    "settings": null,
    "task": null,
    "analytics": [
      {
        "sku": "84001-00",
        "name": "Spot Scout Stand Count"
      }
    ]
  }
  }
}