แสดงรายการยานพาหนะที่นําส่งสินค้า

เอกสารนี้จะอธิบายวิธีแสดงรายการยานพาหนะที่นำส่งสินค้า

สภาพแวดล้อมและข้อจำกัด

คุณแสดงรายการยานพาหนะสำหรับนำส่งได้จากเซิร์ฟเวอร์หรือสภาพแวดล้อมเบราว์เซอร์ Driver SDK ไม่รองรับการแสดงยานพาหนะนำส่ง

ยานพาหนะสำหรับนำส่งข้อมูลจะขอสิทธิ์เข้าถึงแบบกว้างสำหรับยานพาหนะนำส่งและมีไว้สำหรับผู้ใช้ที่เชื่อถือได้เท่านั้น ใช้โทเค็น Delivery Fleet Reader หรือ Fleet Engine Admin เมื่อส่งคําขอยานพาหนะสำหรับนำส่งรายการ

ยานพาหนะสำหรับนำส่งที่ระบุไว้มีการปกปิดช่องต่อไปนี้เนื่องจากผลกระทบต่อขนาดการตอบกลับ

  • CurrentRouteSegment
  • RemainingVehicleJourneySegments

การใช้งาน

คุณแสดงรายการยานพาหนะตามตัวกรองแอตทริบิวต์และขอบเขตของวิวพอร์ตได้ หากระบุไม่มีตัวกรองหรือวิวพอร์ต การตอบกลับจะรวมยานพาหนะสำหรับนำส่งทั้งหมด

รายการที่มีตัวกรองแอตทริบิวต์

คุณแสดงรายการยานพาหนะสำหรับนำส่งสินค้าได้โดยตัวกรองโดยใช้พร็อพเพอร์ตี้ attributes ตัวอย่างเช่น หากต้องการค้นหาแอตทริบิวต์ที่มีคีย์ my_key และค่า my_value ให้ใช้ attributes.my_key = my_value หากต้องการค้นหาหลายแอตทริบิวต์ ให้ผนวกการค้นหาโดยใช้โอเปอเรเตอร์เชิงตรรกะ AND และ OR ดังเช่นใน attributes.key1 = value1 AND attributes.key2 = value2 ดู AIP-160 สำหรับคำอธิบาย ทั้งหมดของไวยากรณ์การค้นหาตัวกรอง หากคุณรวมตัวกรองกับขอบเขตของวิวพอร์ต ตัวกรองจะทำหน้าที่เป็นโอเปอเรเตอร์ AND ที่เชื่อมโยงกับวิวพอร์ต ดูรายละเอียดได้ที่การค้นหาตัวกรองแอตทริบิวต์ยานพาหนะ

รายการที่มีขอบเขตวิวพอร์ต

คุณกรองยานพาหนะนำส่งที่แสดงตามสถานที่ตั้งได้โดยใช้พารามิเตอร์ viewport request พารามิเตอร์คำขอ viewport กำหนดวิวพอร์ตโดยใช้พิกัดขอบเขต 2 แบบ ได้แก่ คู่พิกัดละติจูดและลองจิจูด high (ตะวันออกเฉียงเหนือ) และ low (ตะวันตกเฉียงใต้) คำขอจะถูกปฏิเสธหากมีละติจูดสูง ซึ่งมีพื้นที่ทางภูมิศาสตร์ต่ำกว่าละติจูดต่ำ

แสดงรายการการตอบกลับ

ระบบจะใส่เลขหน้าให้กับรายการยานพาหนะสำหรับนำส่งโดยค่าเริ่มต้นโดยใช้ขนาดหน้าที่เหมาะสม หากคุณระบุขนาดหน้า คำขอจะแสดงเฉพาะจำนวนยานพาหนะที่ระบุตามขีดจำกัดหรือน้อยกว่านั้น หากขนาดหน้าที่ขอเกินค่าสูงสุดภายใน ระบบจะใช้ขนาดสูงสุดภายใน ขนาดหน้าเริ่มต้นและสูงสุดคือ 100 คัน

รายการยานพาหนะนำส่งอาจมีโทเค็นสําหรับการอ่านผลการค้นหาหน้าถัดไป โทเค็นหน้าจะแสดงในการตอบกลับก็ต่อเมื่อมีพาหนะนำส่งหน้าพร้อมให้ดึงข้อมูลมากขึ้นเท่านั้น หากต้องการเรียกข้อมูลหน้าถัดไปของงาน ให้ใช้โทเค็นหน้าเว็บกับคำขอที่เหมือนกับคำขอก่อนหน้า

แสดงรายการตัวอย่างยานพาหนะ

คุณสามารถใช้ไลบรารี Java gRPC หรือ REST เพื่อแสดงยานพาหนะสำหรับนำส่งสินค้าในภูมิภาคที่มีแอตทริบิวต์บางรายการ การตอบกลับที่สำเร็จอาจยังคงว่างเปล่า เมื่อเกิดกรณีนี้ขึ้น หมายความว่าไม่มียานพาหนะที่มีแอตทริบิวต์ที่ระบุอยู่ในวิวพอร์ตที่ระบุ

Java


  static final String PROJECT_ID = "my-delivery-co-gcp-project";

  DeliveryServiceBlockingStub deliveryService =
    DeliveryServiceGrpc.newBlockingStub(channel);

  // Tasks request
  String parent = "providers/" + PROJECT_ID;
  ListDeliveryVehiclesRequest listDeliveryVehiclesRequest =
    ListDeliveryVehiclesRequest.newBuilder()  // No need for the header
        .setParent(parent)
        .setViewport(
              Viewport.newBuilder()
                .setHigh(LatLng.newBuilder()
                    .setLatitude(37.45)
                    .setLongitude(-122.06)
                    .build())
                .setLow(LatLng.newBuilder()
                    .setLatitude(37.41)
                    .setLongitude(-122.11)
                    .build())
        .setFilter("attributes.my_key = my_value")
        .build();

  try {
    ListDeliveryVehiclesResponse listDeliveryVehiclesResponse =
        deliveryService.listDeliveryVehicles(listDeliveryVehiclesRequest);
  } catch (StatusRuntimeException e) {
    Status s = e.getStatus();
    switch (s.getCode()) {
        case NOT_FOUND:
            break;

        case PERMISSION_DENIED:
            break;
    }
    return;
  }

REST

  # HTTP request
  html GET https://fleetengine.googleapis.com/v1/providers/<project_id>/deliveryVehicles

  # Request with a filter
  # Request sets JWT, PROJECT_ID, and VEHICLE_ID in the local environment
  curl -H "Authorization: Bearer ${JWT}" \
    "https://fleetengine.googleapis.com/v1/providers/${PROJECT_ID}/deliveryVehicles?filter=attributes.my_key%20%3D%20my_value%20&viewport.high.latitude=37.45&viewport.high.longitude=-122.06&viewport.low.latitude=37.41&viewport.low.longitude=-122.11"

หากการค้นหาสําเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้

  // JSON representation
  {
    "deliveryVehicles": [
      {
        object (DeliveryVehicle)
      }
    ],
    "nextPageToken": string,
    "totalSize": integer
  }

ขั้นตอนถัดไป