# ผลลบหรือข้อผิดพลาด API: แยกแยะอย่างไร?

> แยกแยะผลลบ ตอบกลับบางส่วน และข้อผิดพลาด API ROOTE ตรวจสอบพิกัด ตัวกรอง ขอบเขต และข้อจำกัดเพื่อแสดงข้อความที่ถูกต้อง

Source: https://www.roote.ai/th/guides/%E0%B8%9C%E0%B8%A5%E0%B8%A5%E0%B8%9A-api-%E0%B8%AB%E0%B8%A3%E0%B8%B7%E0%B8%AD-%E0%B8%82%E0%B9%89%E0%B8%AD%E0%B8%9C%E0%B8%B4%E0%B8%94%E0%B8%9E%E0%B8%A5%E0%B8%B2%E0%B8%94-%E0%B9%81%E0%B8%A2%E0%B8%81%E0%B9%81%E0%B8%A2%E0%B8%B0%E0%B8%AD%E0%B8%A2%E0%B9%88%E0%B8%B2%E0%B8%87%E0%B9%84%E0%B8%A3/
Language: th
Author: ROOTE

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

สำหรับ ROOTE ควบคุมการตอบกลับ HTTP จากนั้นตรวจสอบสถานะทางธุรกิจ คอลเลคชันที่คาดหวัง และขอบเขต วิธีนี้ช่วยป้องกันการแสดงข้อความว่า 'ไม่มีห้องน้ำ' เมื่อเรียกใช้บริการล้มเหลว หรือ 'ไม่มีป้ายหยุด' เมื่อหมดเวลาในการรอ

## อ่านสามระดับของคำตอบ

| ระดับ | ที่ต้องควบคุม | ข้อสรุปที่เป็นไปได้ |
| --- | --- | --- |
| การขนส่ง | การเชื่อมต่อ เวลา และสถานะ HTTP | คำขอสำเร็จหรือไม่? |
| สัญญา | JSON ที่ถูกต้อง รุ่น และฟิลด์ที่คาดหวัง | คำตอบสามารถนำไปใช้ได้หรือไม่? |
| ผลลัพธ์ทางธุรกิจ | สถานะ, คอลเลคชัน, ขอบเขต, คำเตือน และเมต้า | เราทราบอะไรในขอบเขตที่ร้องขอ? |

รหัส HTTP 200 ไม่เพียงพอสำหรับการตรวจสอบการค้นหา คำตอบอาจแจ้งการดำเนินการบางส่วนหรือสถานะข้อผิดพลาด ในทางกลับกัน รหัส 404 สำหรับเส้นทางไม่ใช่วิธีปกติในการแสดงคอลเลคชันว่าง: โปรดตรวจสอบ URL และสัญญา

## ทำความเข้าใจ success, empty, partial และ error

| สถานะ | คำแนะนำการจัดการ |
| --- | --- |
| success | แสดงเอนทิตีหลังการตรวจสอบและรักษาข้อจำกัดไว้ |
| empty | แจ้งว่าไม่มีผลลัพธ์ที่คืนมาสำหรับการค้นหานี้ |
| partial | แสดงข้อมูลที่ใช้ได้พร้อมคำเตือน |
| error | แสดงว่าการค้นหาไม่พร้อมใช้งาน; อย่าสรุปว่าไม่มีสถานที่ |

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

## ต้นไม้การตัดสินใจสำหรับส่วนติดต่อของคุณ

```
1. La requête a-t-elle abouti ?
   Non → indisponibilité réseau ou délai dépassé.
2. Le statut HTTP est-il acceptable selon le contrat ?
   Non → traiter le code et le message d'erreur.
3. Le JSON respecte-t-il le schéma attendu ?
   Non → réponse inexploitable, jamais "aucun résultat".
4. Le statut métier est-il error ?
   Oui → recherche indisponible.
5. Le statut est-il partial ou la couverture limitée ?
   Oui → résultats utilisables + avertissement.
6. La collection attendue est-elle vide ?
   Oui → aucun résultat retourné dans ce périmètre.
   Non → afficher les résultats et leurs limites.
```

## ตรวจสอบพารามิเตอร์ตามลำดับที่ถูกต้อง

ตรวจสอบละติจูดและลองจิจูดก่อน ลำดับของพวกมัน และเมืองที่ได้รับ จากนั้นตรวจสอบหน่วยของรัศมีและคำศัพท์ของตัวกรอง API บริการใช้ types=toilets ส่วน URL แผนที่ใช้ modes=toilets พารามิเตอร์เหล่านี้อยู่ภายใต้สัญญาที่ต่างกัน

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

[สร้างการค้นหา API รอบพิกัด GPS](https://www.roote.ai/th/guides/%E0%B8%A7%E0%B8%B4%E0%B8%98%E0%B8%B5%E0%B8%84%E0%B9%89%E0%B8%99%E0%B8%AB%E0%B8%B2%E0%B8%88%E0%B8%B8%E0%B8%94%E0%B8%88%E0%B8%AD%E0%B8%94%E0%B8%A2%E0%B8%B2%E0%B8%99%E0%B8%9E%E0%B8%B2%E0%B8%AB%E0%B8%99%E0%B8%B0%E0%B9%83%E0%B8%81%E0%B8%A5%E0%B9%89%E0%B9%80%E0%B8%84%E0%B8%B5%E0%B8%A2%E0%B8%87%E0%B8%94%E0%B9%89%E0%B8%A7%E0%B8%A2api/)

## จัดการแหล่งข้อมูลไม่พร้อมโดยไม่เสียข้อมูลอื่น

คำตอบบางส่วนอาจมีสถานที่จากแหล่งข้อมูลที่ตอบกลับในขณะที่แหล่งข้อมูลอื่นล้มเหลว เก็บผลลัพธ์เหล่านี้ ข้อกำหนดการอ้างอิง และคำเตือนที่เกี่ยวข้อง อย่านำเสนอรายการว่าครบถ้วน และอย่าแทนที่ฟิลด์ที่ขาดหายด้วยค่าดีฟอลต์ที่ทำให้เข้าใจผิด

ข้อมูลเก่าที่เก็บในแคชก็อาจมีประโยชน์หากนโยบายของคุณอนุญาตให้สำรองข้อมูล ควรระบุว่ายังเป็นข้อมูลเก่า เวลารับคำขอของคุณไม่ทำให้ข้อมูลต้นทางทันสมัยขึ้น

## ปรับข้อความและวิธีการแก้ไข

| สถานการณ์ | ข้อความที่ควรปรับให้เหมาะกับอินเทอร์เฟซของคุณ | การกระทำ |
| --- | --- | --- |
| empty | ไม่มีผลลัพธ์ในพื้นที่นี้กับตัวกรองดังกล่าว | ปรับเปลี่ยนพื้นที่หรือตัวกรอง |
| partial | มีผลลัพธ์บางส่วน; การค้นหายังไม่สมบูรณ์ | แสดงผลลัพธ์และคำเตือน |
| ข้อผิดพลาดในการตรวจสอบ | การค้นหามีพารามิเตอร์ที่ไม่ถูกต้อง | แก้ไขคำขอ |
| การตรวจสอบสิทธิ์หรือสิทธิ์ | การเข้าถึงนี้ไม่อนุญาตให้ทำการค้นหานี้ | ตรวจสอบบัญชีหรือโทเค็น |
| ข้อจำกัดหรือการไม่พร้อมใช้งาน | การค้นหาชั่วคราวไม่พร้อมใช้งาน | ปฏิบัติตามคำแนะนำการทำซ้ำ |

สำหรับรหัส 429 โปรดดูคำแนะนำของบริการและ Retry-After ที่อาจมี ข้อผิดพลาด 400 ต้องแก้ไขอาร์กิวเมนต์ การส่งคำขอเดิมซ้ำไม่ช่วยแก้ไข อย่าเปลี่ยนรหัส 401 เป็นการเรียกแบบไม่ระบุชื่อโดยอัตโนมัติหากผู้ใช้มีโทเค็น

[การอ้างอิงข้อผิดพลาด API ROOTE](https://doc.roote.ai/roote-api/errors)

[สถานะบริการ ROOTE](https://status.roote.ai/)

## ทดสอบสี่สถานะก่อนเผยแพร่

เตรียมคำตอบทดสอบครบถ้วน ว่างเปล่า บางส่วน ข้อผิดพลาด JSON ไม่ถูกต้อง และหมดเวลา ตรวจสอบข้อความที่แสดง ผลลัพธ์ที่เก็บ และจำนวนการทำซ้ำ การทดสอบสำคัญคือ อย่าปล่อยให้ความผิดพลาดแสดงผลว่าไม่มีบริการ

[ใช้กฎเหล่านี้กับผู้ช่วย AI](https://www.roote.ai/th/guides/%E0%B8%AA%E0%B8%A3%E0%B9%89%E0%B8%B2%E0%B8%87%E0%B8%9C%E0%B8%B9%E0%B9%89%E0%B8%8A%E0%B9%88%E0%B8%A7%E0%B8%A2%E0%B8%84%E0%B9%89%E0%B8%99%E0%B8%AB%E0%B8%B2%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%80%E0%B8%94%E0%B8%B4%E0%B8%99%E0%B8%97%E0%B8%B2%E0%B8%87%E0%B8%A3%E0%B8%AD%E0%B8%9A%E0%B8%97%E0%B8%B5%E0%B9%88%E0%B8%AD%E0%B8%A2%E0%B8%B9%E0%B9%88/)

[ทำความเข้าใจรูปแบบข้อมูลการเคลื่อนที่](https://www.roote.ai/th/guides/gtfs-gtfs-rt-et-gbfs-%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1%E0%B9%81%E0%B8%95%E0%B8%81%E0%B8%95%E0%B9%88%E0%B8%B2%E0%B8%87%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3/)

## คำถามที่พบบ่อย

### รายการว่างพิสูจน์ว่าห้องน้ำไม่มีหรือไม่?

ไม่ใช่ แค่แสดงว่าไม่มีผลลัพธ์ที่คืนมาสำหรับการค้นหาและแหล่งข้อมูลที่ตรวจสอบ

### สามารถแสดงผลลัพธ์บางส่วนได้หรือไม่?

ได้ ถ้าเอนทิตีที่ใช้ถูกต้องและรักษาคำเตือนพร้อมข้อจำกัดไว้

### ควรลองใหม่ทุกข้อผิดพลาดไหม?

ไม่ ใช้แก้ไขข้อผิดพลาดพารามิเตอร์หรือสิทธิ์ จำกัดการทำซ้ำสำหรับเหตุการณ์ชั่วคราว และปฏิบัติตามคำแนะนำของบริการ
