1.0.0 • Published 1 year ago

pinpoint-service-api v1.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago
  • 🔭 I’m currently working on 409RESTful API

  • 🌱 I’m currently learning Typescript

  • 👨‍💻 All of my projects are available at https://github.com/ciockie

  • 💬 Ask me about React, ExpressJS, NGINX

  • 📫 How to reach me ciockie.21@gmail.com

บริการ API ของ Pinpoint

โครงการนี้เป็นบริการที่ใช้ TypeScript สำหรับการเชื่อมต่อกับ API ของ Pinpoint เพื่อทำการค้นหาตามสถานที่ บริการนี้ออกแบบมาให้ทำงานบนฝั่งเซิร์ฟเวอร์และให้วิธีการในการดึงข้อมูลคำแนะนำอัตโนมัติ ข้อมูลรายละเอียดสถานที่ และข้อมูลหลายสถานที่ในคราวเดียว

สารบัญ

คุณสมบัติ

  • การค้นหาอัตโนมัติ (Autocomplete): ดึงข้อมูลคำแนะนำที่เกี่ยวข้องสูงสุด 10 รายการสำหรับคำค้นที่กำหนด เช่น ที่อยู่ ชื่อสถานที่ หรือพิกัดในประเทศไทย
  • รายละเอียดสถานที่ (Detials): รับข้อมูลรายละเอียดทั้งหมดของสถานที่ รวมถึงที่อยู่ ชื่อ และพิกัด โดยใช้ Location ID จากผลการค้นหาอัตโนมัติ
  • รายละเอียดหลายสถานที่ (Batch): ดึงข้อมูลรายละเอียดสำหรับหลายสถานที่พร้อมกัน (สูงสุด 50 สถานที่)

การเริ่มต้นใช้งาน

Installation

npm install pinpoint-service-api

รับ API Token ของคุณ

ในการใช้ API ของ Pinpoint คุณจะต้องได้รับ API token คุณสามารถรับ token ของคุณได้โดยการสมัครที่ เว็บไซต์ทางการของ Pinpoint

การตั้งค่า

เพื่อเริ่มใช้งาน PinpointService คุณต้องเริ่มต้นด้วยการกำหนดค่า API token และ referer URL ของคุณ:

import { PinpointService, PinpointServiceSettings } from "./path/to/service";

const settings: PinpointServiceSettings = {
    token: "your-api-token",
    referer: "your-referer-url",
};

const pinpointService = new PinpointService(settings);

Autocomplete

ทำการค้นหา Autocomplete โดยการส่งคำค้นหา เช่น ที่อยู่ ชื่อสถานที่ หรือพิกัดในประเทศไทย เพื่อช่วยในการเลือกสถานที่ที่ผู้ใช้ต้องการ ระบบจะคืนค่าผลลัพธ์สูงสุด 10 รายการที่เรียงตามความเกี่ยวข้อง แต่ละคำขอจะใช้เครดิต 1 หน่วยสำหรับการค้นหาที่อยู่ และ 5 หน่วยสำหรับการค้นหาพิกัด | Parameter | Type | Description | | :---------- | :------- | :----------------------------------------------------- | | location | string | Required. ข้อความค้นหา เช่น ที่อยู่หรือชื่อสถานที่ | | maxResult | number | จำนวนผลลัพธ์สูงสุดที่ต้องการ (Default=1, Max=10) |

import { PinpointService, PinpointServiceSettings } from "./path/to/service";

const settings: PinpointServiceSettings = {
    token: "your-api-token",
    referer: "your-referer-url",
};

const pinpointService = new PinpointService(settings);
const autoComplete = pinpointService.Autocomplete("สถานที่", 5);

ผลลัพธ์

[
    {
        LocationID: "12345",
        FormattedAddress: "123/4 ถนนพระราม 4 เขตปทุมวัน กรุงเทพฯ 10330"
    },
    ...
]

Details

ทำการขอรายละเอียดของสถานที่จาก Location ID ที่ได้จากการค้นหา Autocomplete โดยจะคืนค่าข้อมูลที่สมบูรณ์ เช่น ที่อยู่ ชื่อสถานที่ ชื่อธุรกิจ เป็นต้น แต่ละคำขอจะใช้เครดิต 10 หน่วย *ยังไม่รองรับ languageCode

ParameterTypeDescription
locationstringRequired. ข้อความค้นหา เช่น ที่อยู่หรือชื่อสถานที่
languageCode"th", "en"ภาษาที่แสดงผล รองรับ 2 ภาษา ไทย/อังกฤษ
import { PinpointService, PinpointServiceSettings } from "./path/to/service";

const settings: PinpointServiceSettings = {
    token: "your-api-token",
    referer: "your-referer-url",
};

const pinpointService = new PinpointService(settings);
const autoComplete = pinpointService.Details("สถานที่");

ผลลัพธ์

{
    LocationID: "12345",
    BusinessName: null,
    HouseNumber: "123",
    PremiseName: "อาคารศูนย์การค้า",
    PremiseLaneName: "ซอยพระราม",
    Moo: null,
    StreetLeadingType: null,
    StreetName: "พระราม 4",
    StreetTrailingType: null,
    SubStreetLeadingType: null,
    SubStreetName: null,
    SubStreetTrailingType: null,
    StreetFullName: "ถนนพระราม 4",
    SubDistrictPrefix: "แขวง",
    SubDistrict: "ปทุมวัน",
    DistrictPrefix: "เขต",
    District: "ปทุมวัน",
    ProvincePrefix: "กรุงเทพมหานคร",
    Province: "กรุงเทพฯ",
    LanguageCode: "TH",
    LAT_LON: "13.746,100.533",
    PostalCode: "10330",
    FormattedAddress: "123/4 ถนนพระราม 4 เขตปทุมวัน กรุงเทพฯ 10330"
}

BatchDetails

ทำการขอรายละเอียดของหลายสถานที่พร้อมกัน (สูงสุด 50 รายการ)โดยคืนค่าผลลัพธ์การค้นหาที่แสดงระดับความถูกต้องของการจับคู่ที่อยู่ แต่ละคำขอจะใช้เครดิต 30 หน่วยต่อ 1 ที่อยู่

ParameterTypeDescription
locationstring[]Required. ข้อความค้นหา เช่น ที่อยู่หรือชื่อสถานที่
import { PinpointService, PinpointServiceSettings } from "./path/to/service";

const settings: PinpointServiceSettings = {
    token: "your-api-token",
    referer: "your-referer-url",
};

const pinpointService = new PinpointService(settings);
const autoComplete = pinpointService.Details([
    "สถานที่1",
    "สถานที่2",
    "สถานที่3",
]);

ผลลัพธ์

ข้อมูลที่ได้จากการค้นหาสถานที่ด้วย Pinpoint Batch ประกอบด้วยข้อมูลพื้นฐานของสถานที่:

  • success: สถานะของการค้นหา (true หรือ false)
  • fields: ชื่อฟิลด์ที่ใช้ในการค้นหา
  • data: ข้อมูลที่ได้จากการค้นหา
    • input: ข้อความที่ใช้ในการค้นหา
    • result: ผลลัพธ์การค้นหา
      • type: ประเภทของสถานที่ที่ค้นหา (address, point_of_interest, business)
      • grade: ระดับความถูกต้องของการจับคู่ที่อยู่
        • A: ตรงกับบ้านเลขที่, ชื่อหมู่บ้าน/โครงการ, ซอย/ถนน, แขวง/ตำบล, เขต/อำเภอ, จังหวัด
        • B+: ตรงกับชื่อหมู่บ้าน/โครงการ, ซอย, แขวง/ตำบล, เขต/อำเภอ, จังหวัด
        • B: ตรงกับถนน, ตำบล, อำเภอ, จังหวัด
        • C: ตรงกับตำบล, อำเภอ, จังหวัด
        • D: ตรงกับอำเภอ, จังหวัด
        • E: ตรงกับจังหวัด
        • F: ไม่พบผลลัพธ์ที่ตรงกัน
        • "-": ตรงกับสถานที่สำคัญ (จุดสนใจ เช่น แลนด์มาร์ก)
      • match: ข้อมูลที่ได้จากการค้นหา
      • score: คะแนนความถูกต้องของการจับคู่ที่อยู่
{
    success: true,
    fields: [
        "LocationID",
        "BusinessName",
        "HouseNumber",
        "PremiseName",
        "PremiseLaneName",
        "Moo",
        "StreetLeadingType",
        "StreetName",
        "StreetTrailingType",
        "SubStreetLeadingType",
        "SubStreetName",
        "SubStreetTrailingType",
        "StreetFullName",
        "SubDistrictPrefix",
        "SubDistrict",
        "DistrictPrefix",
        "District",
        "ProvincePrefix",
        "Province",
        "LanguageCode",
        "LAT_LON",
        "PostalCode",
        "FormattedAddress"
    ],
    data: [
        {
            input: "สถานที่1",
            result: {
                type: "address",
                grade: "A",
                match: [
                    {
                        LocationID: "12345",
                        BusinessName: null,
                        HouseNumber: "123/4",
                        PremiseName: null,
                        PremiseLaneName: null,
                        Moo: null,
                        StreetLeadingType: null,
                        StreetName: "พระราม 4",
                        StreetTrailingType: null,
                        SubStreetLeadingType: null,
                        SubStreetName: null,
                        SubStreetTrailingType: null,
                        StreetFullName: "ถนนพระราม 4",
                        SubDistrictPrefix: null,
                        SubDistrict: "ปทุมวัน",
                        DistrictPrefix: null,
                        District: "ปทุมวัน",
                        ProvincePrefix: null,
                        Province: "กรุงเทพฯ",
                        LanguageCode: "th",
                        LAT_LON: "13.746,100.533",
                        PostalCode: "10330",
                        FormattedAddress: "123/4 ถนนพระราม 4 เขตปทุมวัน กรุงเทพฯ 10330",
                    }
                ]
            }
        },
        {
            input: "สถานที่2",
            result: {
                type: "point_of_interest",
                grade: "B+",
                match: [
                    {
                        LocationID: "67890",
                        BusinessName: null,
                        HouseNumber: "678/9",
                        PremiseName: null,
                        PremiseLaneName: null,
                        Moo: null,
                        StreetLeadingType: null,
                        StreetName: "รัชดาภิเษก",
                        StreetTrailingType: null,
                        SubStreetLeadingType: null,
                        SubStreetName: null,
                        SubStreetTrailingType: null,
                        StreetFullName: "ถนนรัชดาภิเษก",
                        SubDistrictPrefix: null,
                        SubDistrict: "ดินแดง",
                        DistrictPrefix: null,
                        District: "ดินแดง",
                        ProvincePrefix: null,
                        Province: "กรุงเทพฯ",
                        LanguageCode: "th",
                        LAT_LON: "13.764,100.537",
                        PostalCode: "10400",
                        FormattedAddress: "678/9 ถนนรัชดาภิเษก เขตดินแดง กรุงเทพฯ 10400",
                    }
                ]
            }
        }
    ]
}

Authors

License

MIT

1.0.0

1 year ago

0.0.8

1 year ago

0.0.7

1 year ago

0.0.6

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago