Universal search
ค้นหาขอบเขตของข้อมูลตามพารามิเตอร์ที่ป้อน ใช้เอนด์พอยท์นี้เพื่อดำเนินการค้นหาข้อความแบบเต็มและการสืบค้นที่ผ่านการกรองข้าม charge, customer, dispute, recipient และทรัพยากรอื่นๆ
ข้อมูลยืนยันตัวตน API
พารามิเตอร์คำขอ
จำเป็น - 1 รายการพารามิเตอร์ที่จำเป็น
`scope`STRING(required)
ประเภทข้อมูลที่จะค้นหา กำหนดว่าประเภททรัพยากรใดที่จะถูกค้นหาและตัวกรองใดที่มีให้ใช้
แนะนำ - 4 รายการพารามิเตอร์แนะนำ
`query`STRING(optional)
ข้อความคำค้นหาสำหรับการค้นหาข้อความแบบเต็ม ค้นหาข้าม ID, คำอธิบาย, เมทาดาทา, อีเมล และชื่อขึ้นอยู่กับขอบเขต
`filters`OBJECT(optional)
ตัวกรองการค้นหาเพื่อจำกัดผลลัพธ์ ตัวกรองที่มีให้ใช้ขึ้นอยู่กับขอบเขต ตัวกรองทั่วไปรวมถึงสถานะ, จำนวนเงิน, ช่วงวันที่สร้าง
`order`STRING(optional)
การเรียงลำดับผลลัพธ์ตามเวลาที่สร้าง
`page`INTEGER(optional)
หมายเลขหน้าสำหรับการแบ่งหน้า (เริ่มต้นที่ 1)
เพิ่มเติม - 1 รายการพารามิเตอร์เพิ่มเติม
การตอบกลับ
200
ค้นหาสำเร็จส่งคืนออบเจ็กต์การค้นหาที่มีผลลัพธ์แบบแบ่งหน้าในอาร์เรย์ data
โครงสร้างการตอบกลับ:
object- ค่าสตริง "search"data- อาร์เรย์ของออบเจ็กต์ที่ตรงกับขอบเขต (ลำดับย้อนกลับตามลำดับเวลาโดยค่าเริ่มต้น)page- หมายเลขหน้าปัจจุบันper_page- จำนวนรายการต่อหน้าtotal- จำนวนรายการทั้งหมดที่ตรงกับคำค้นหาtotal_pages- จำนวนหน้าทั้งหมดfilters- ตัวกรองการค้นหาที่ใช้query- คำค้นหาที่ใช้scope- ประเภททรัพยากรที่ค้นหาlocation- เส้นทางเอนด์พอยท์ APIorder- การเรียงลำดับผลลัพธ์ที่ใช้
- ใช้
pageและper_page(แตกต่างจากเอนด์พอยท์รายการมาตรฐาน) - ผลลัพธ์ส่งมอบในลำดับย้อนกลับตามลำดับเวลาโดยค่าเริ่มต้น
- รองรับผลลัพธ์สูงสุด 100 รายการต่อหน้า
400
คำขอไม่ถูกต้องการตรวจสอบคำขอล้มเหลว ตรวจสอบข้อความแสดงข้อผิดพลาดสำหรับรายละเอียด
สาเหตุทั่วไป:
- พารามิเตอร์
scopeที่จำเป็นหายไป - ค่า scope ไม่ถูกต้อง
- ออบเจ็กต์ filters มีรูปแบบผิด
- รูปแบบวันที่ใน filters ไม่ถูกต้อง
401
ไม่ได้รับอนุญาตการยืนยันตัวตนล้มเหลว คีย์ API ไม่ถูกต้องหรือหายไป
สาเหตุทั่วไป:
- ส่วนหัว Authorization หายไป
- คีย์ลับไม่ถูกต้อง
- ใช้คีย์สาธารณะแทนคีย์ลับ
- รูป แบบ HTTP Basic Auth ไม่ถูกต้อง
ตัวอย่างโค้ด
- cURL
- Ruby
- Python
- Node.js
- PHP
- Java
- C#
- Go
curl https://api.omise.co/search \
-X GET \
-u skey_test_5xuy4w91xqz7d1w9u0t: \
-d "scope=charge" \
-d "query=thb" \
-d "filters[created]=2019/01/01..2019/12/31"
require 'omise'
Omise.api_key = 'skey_test_5xuy4w91xqz7d1w9u0t'
search = Omise::Search.execute(
'charge',
query: 'thb',
filters: { created: '2019/01/01..2019/12/31' }
)
import omise
omise.api_secret = 'skey_test_5xuy4w91xqz7d1w9u0t'
search = omise.Search.execute(
'charge',
query='thb',
filters={'amount': '1000..2000', 'captured': 'true'}
)
const omise = require('omise')({
secretKey: 'skey_test_5xuy4w91xqz7d1w9u0t'
});
const search = await omise.search.list({
scope: 'charge',
query: 'thb',
filters: {
created: '2019/01/01..2019/12/31'
}
});
<?php
define('OMISE_SECRET_KEY', 'skey_test_5xuy4w91xqz7d1w9u0t');
$search = OmiseSearch::execute([
'scope' => 'charge',
'query' => 'thb',
'filters' => [
'created' => '2019/01/01..2019/12/31'
]
]);
Client client = new Client.Builder()
.secretKey("skey_test_5xuy4w91xqz7d1w9u0t")
.build();
SearchResult<Charge> search = client.search()
.scope(SearchScope.Charge)
.query("thb")
.filter("created", "2019/01/01..2019/12/31")
.send();
var client = new Client("skey_test_5xuy4w91xqz7d1w9u0t");
var search = await client.Search.Execute(new SearchRequest
{
Scope = "charge",
Query = "thb",
Filters = new Dictionary<string, object>
{
{ "created", "2019/01/01..2019/12/31" }
}
});
client, _ := omise.NewClient(
"pkey_test_5xuy4w91xqz7d1w9u0t",
"skey_test_5xuy4w91xqz7d1w9u0t",
)
search, _ := client.Search(&operations.SearchOptions{
Scope: "charge",
Query: "thb",
Filters: map[string]interface{}{
"created": "2019/01/01..2019/12/31",
},
})
รหัสข้อผิดพลาดและผลลัพธ์
รูปแบบตัวกรองทั่วไป
| ไวยากรณ์ตัวกรอง | คำอธิบาย | ตัวอย่าง |
|---|---|---|
field=value | ตรงกันทุกประการ | status=successful |
field=val1..val2 | ช่วง | amount=1000..5000 |
field=date..date | ช่วงวันที่ | created=2019/01/01..2019/12/31 |
field=true/false | บูลีน | captured=true |
ตัวกรองที่มีให้ใช้ตามขอบเขต
ขอบเขต Charge:
status- successful, failed, pending, expiredamount- จำนวนเงินที่แน่นอนหรือช่วง (1000..5000)captured- true/falsecreated- ช่วงวันที่ (2019/01/01..2019/12/31)
ขอบเขต Customer:
created- ช่วงวันที่
ขอบเขต Dispute:
status- open, pending, won, lostcreated- ช่วงวันที่
ขอบเขต Recipient:
active- true/falseverified- true/false
ลองใช้งาน
จำเป็น - 1 ฟิลด์
แนะนำ - 4 ฟิลด์
เพิ่มเติม - 1 ฟิลด์