ค้นหาลูกค้า
ค้นหาและกรองลูกค้าเพื่อค้นหาบันทึกตามอีเมล, คำอธิบาย, metadata และอื่นๆ Search API มีความสามารถในการค้นหาข้อความเต็มรูปแบบทั่วทั้งลูกค้า
พารามิเตอร์คำขอ
แนะนำ - 2 ฟิลด์พารามิเตอร์แนะนำ
`query`STRING(optional)
สตริงคำค้นหา ค้นหาทั่วอีเมล, คำอธิบาย และ metadata ของลูกค้า รองรับหลายคำ (ตรรกะ AND) และการจับคู่บางส่วน
`filters`OBJECT(optional)
เกณฑ์การกรองเพื่อจำกัดผลการค้นหา ตัวกรองทั่วไปรวมถึงอีเมล, คำอธิบาย, ช่วงวันที่สร้าง และฟิลด์ metadata
เพิ่มเติม - 3 ฟิลด์พา รามิเตอร์เพิ่มเติม
การตอบกลับ
200
ค้นหาสำเร็จการค้นหาเสร็จสมบูรณ์ ส่งคืน search result object พร้อมลูกค้าที่ตรงกันใน data array
การตอบกลับประกอบด้วย:
data- Array ของ customer objects ที่ตรงกับเกณฑ์การค้นหาtotal- จำนวนผลลัพธ์ทั้งหมดที่ตรงกับการค้นหาtotal_pages- จำนวนหน้าที่มีpage- หมายเลขหน้าปัจจุบันper_page- จำนวนผลลัพธ์ต่อหน้าorder- ลำดับการเรียงที่ใช้ (chronological หรือ reverse_chronological)
400
คำขอไม่ถูกต้องการตรวจสอบคำขอล้มเหลว ตรวจสอบข้อความข้อผิดพลาดสำหรับรายละเอียด
สาเหตุทั่วไป:
- หมายเลขหน้าไม่ถูกต้อง (ต่ำกว่า 1)
- ค่า per_page ไม่ถูกต้อง (มากกว่า 100 หรือต่ำกว่า 1)
- รูปแบบ filters object ผิด
401
ไม่ได้รับอนุญาตการยืนยันตัวตนล้มเหลว API key ไม่ถูกต้องหรือไม่มี
สาเหตุทั่วไป:
- ไม่มี Authorization header
- Secret key ไม่ถูกต้อง
- ใช้ public key แทน secret key
- รูปแบบ HTTP Basic Auth ไม่ถูกต้อง
404
ไม่พบไม่พบ search endpoint หรือ scope ไม่ถูกต้อง
สาเหตุทั่วไป:
- Search scope ไม่ถูกต้อง
- URL endpoint ไม่ถูกต้อง
5xx
ข้อผิดพลาดเซิร์ฟเวอร์เกิดข้อผิดพลาดฝั่งเซิร์ฟเวอร์ ซึ่งเกิดขึ้นไม่บ่อยแต่ควรจัดการอย่างเหมาะสม
วิธีจัดการ:
- ลองส่ง คำขอใหม่ด้วย exponential backoff
- ตรวจสอบเหตุการณ์บริการที่ status.omise.co
- ดูการจัดการข้อผิดพลาดสำหรับคำแนะนำโดยละเอียด
ตัวอย่างโค้ด
- cURL
- Ruby
- Python
- Node.js
- PHP
- Java
- C#
- Go
curl https://api.omise.co/customers/search \
-u skey_test_5xuy4w91xqz7d1w9u0t: \
-d "scope=customer" \
-d "query=john@example.com" \
-d "filters[email]=john@example.com"
require 'omise'
Omise.api_key = 'skey_test_5xuy4w91xqz7d1w9u0t'
results = Omise::Search.execute({
scope: 'customer',
query: 'john@example.com',
filters: {
email: 'john@example.com'
}
})
import omise
omise.api_secret = 'skey_test_5xuy4w91xqz7d1w9u0t'
results = omise.Search.execute(
scope='customer',
query='john@example.com',
filters={
'email': 'john@example.com'
}
)
const omise = require('omise')({
secretKey: 'skey_test_5xuy4w91xqz7d1w9u0t'
});
const results = await omise.search.execute({
scope: 'customer',
query: 'john@example.com',
filters: {
email: 'john@example.com'
}
});
<?php
define('OMISE_SECRET_KEY', 'skey_test_5xuy4w91xqz7d1w9u0t');
$results = OmiseSearch::execute([
'scope' => 'customer',
'query' => 'john@example.com',
'filters' => [
'email' => 'john@example.com'
]
]);
Client client = new Client.Builder()
.secretKey("skey_test_5xuy4w91xqz7d1w9u0t")
.build();
Map<String, Object> filters = new HashMap<>();
filters.put("email", "john@example.com");
SearchResult<Customer> results = client.search()
.scope("customer")
.query("john@example.com")
.filters(filters)
.send();
var client = new Client("skey_test_5xuy4w91xqz7d1w9u0t");
var results = await client.Search.Execute(new SearchRequest
{
Scope = "customer",
Query = "john@example.com",
Filters = new Dictionary<string, object>
{
{ "email", "john@example.com" }
}
});
client, _ := omise.NewClient(
"pkey_test_5xuy4w91xqz7d1w9u0t",
"skey_test_5xuy4w91xqz7d1w9u0t",
)
results, _ := client.Search(&operations.SearchCustomers{
Scope: "customer",
Query: "john@example.com",
Filters: map[string]interface{}{
"email": "john@example.com",
},
})
รหัสข้อผิดพลาดและผลลัพธ์
รหัสข้อผิดพลาดทั่วไป
| รหัส | คำอธิบาย | วิธีแก้ไข |
|---|---|---|
bad_request | พารามิเตอร์ไม่มีหรือไม่ถูกต้อง | ตรวจสอบว่าพารามิเตอร์ถูกต้อง |
authentication_failure | API key ไม่ถูกต้อง | ตรวจสอบว่า secret key ถูกต้อง |
invalid_scope | Search scope ไม่ถูกต้อง | ให้แน่ใจว่า scope ตั้งเป็น "customer" |
ตัวเลือกตัวกรองการค้นหา
| ตัวกรอง | ประเภท | คำอธิบาย |
|---|---|---|
email | string | ที่อยู่อีเมลลูกค้า |
description | string | คำอธิบายหรือชื่อลูกค้า |
created | object | ตัวกรองช่วงวันที่ (เช่น {gte: '2025-01-01', lte: '2025-01-31'}) |
metadata | object | คู่ key-value ของ metadata ที่กำหนดเอง |
ข้อมูลยืนยันตัวตน API
ลองใช้งาน
แนะนำ - 2 ฟิลด์
เพิ่มเติม - 3 ฟิลด์
IP ของคุณ:
...กำลังโหลด...