Jika anda sedang membina aplikasi yang memerlukan pengiraan cukai jualan yang tepat, zip.tax API ialah alat yang sangat baik untuk disepadukan. Panduan ini membimbing anda tentang cara menyediakan dan menggunakan API zip.tax dalam aplikasi Golang.
Sebelum bermula, pastikan anda mempunyai perkara berikut:
Untuk membuat permintaan HTTP, kami akan menggunakan pakej net/http standard Golang. Selain itu, kami akan menggunakan pengekodan/json untuk menghuraikan respons JSON.
Buat direktori projek baharu dan mulakan modul baharu:
mkdir ziptax-golang && cd ziptax-golang go mod init ziptax-golang
Berikut ialah contoh lengkap aplikasi Golang mudah yang menanyakan zip.tax API untuk maklumat cukai jualan.
package main import ( "encoding/json" "fmt" "log" "net/http" "net/url" ) type Response struct { Version string `json:"version"` RCode int `json:"rCode"` Results []Result `json:"results"` AddressDetail AddressDetail `json:"addressDetail"` } type Result struct { GeoPostalCode string `json:"geoPostalCode"` GeoCity string `json:"geoCity"` GeoCounty string `json:"geoCounty"` GeoState string `json:"geoState"` TaxSales float64 `json:"taxSales"` TaxUse float64 `json:"taxUse"` TxbService string `json:"txbService"` TxbFreight string `json:"txbFreight"` StateSalesTax float64 `json:"stateSalesTax"` StateUseTax float64 `json:"stateUseTax"` CitySalesTax float64 `json:"citySalesTax"` CityUseTax float64 `json:"cityUseTax"` CityTaxCode string `json:"cityTaxCode"` CountySalesTax float64 `json:"countySalesTax"` CountyUseTax float64 `json:"countyUseTax"` CountyTaxCode string `json:"countyTaxCode"` DistrictSalesTax float64 `json:"districtSalesTax"` DistrictUseTax float64 `json:"districtUseTax"` District1Code string `json:"district1Code"` District1SalesTax float64 `json:"district1SalesTax"` District1UseTax float64 `json:"district1UseTax"` District2Code string `json:"district2Code"` District2SalesTax float64 `json:"district2SalesTax"` District2UseTax float64 `json:"district2UseTax"` District3Code string `json:"district3Code"` District3SalesTax float64 `json:"district3SalesTax"` District3UseTax float64 `json:"district3UseTax"` District4Code string `json:"district4Code"` District4SalesTax float64 `json:"district4SalesTax"` District4UseTax float64 `json:"district4UseTax"` District5Code string `json:"district5Code"` District5SalesTax float64 `json:"district5SalesTax"` District5UseTax float64 `json:"district5UseTax"` OriginDestination string `json:"originDestination"` } type AddressDetail struct { NormalizedAddress string `json:"normalizedAddress"` Incorporated string `json:"incorporated"` GeoLat float64 `json:"geoLat"` GeoLng float64 `json:"geoLng"` } func getSalesTax(address string, apiKey string) (*Response, error) { url := fmt.Sprintf("https://api.zip-tax.com/request/v50?key=%s&address=%s", apiKey, url.QueryEscape(address)) resp, err := http.Get(url) if err != nil { return nil, fmt.Errorf("failed to make API request: %w", err) } defer resp.Body.Close() if resp.StatusCode != http.StatusOK { return nil, fmt.Errorf("unexpected status code: %d", resp.StatusCode) } var taxResponse Response if err := json.NewDecoder(resp.Body).Decode(&taxResponse); err != nil { return nil, fmt.Errorf("failed to parse response: %w", err) } return &taxResponse, nil } func main() { apiKey := "your_api_key_here". // Replace with your key address := "200 Spectrum Center Dr, Irvine, CA 92618" // Example address taxInfo, err := getSalesTax(address, apiKey) if err != nil { log.Fatalf("Error fetching sales tax: %v", err) } fmt.Printf("Normalized Address: %s\n", taxInfo.AddressDetail.NormalizedAddress) fmt.Printf("Address Lat/Lng: %f, %f\n", taxInfo.AddressDetail.GeoLat, taxInfo.AddressDetail.GeoLng) fmt.Printf("Rate: %.2f%%\n", taxInfo.Results[0].TaxSales*100) }
Simpan kod ke fail (cth., main.go), kemudian jalankan program:
go run main.go
Anda sepatutnya melihat output yang serupa dengan ini:
Normalized Address: 200 Spectrum Center Dr, Irvine, CA 92618-5003, United States Address Lat/Lng: 33.652530, -117.747940 Rate: 7.75%
Mengintegrasikan API zip.tax ke dalam aplikasi Golang anda adalah mudah. Dengan mengikuti panduan ini, anda boleh meningkatkan aplikasi anda dengan maklumat cukai jualan yang tepat berdasarkan alamat. Untuk butiran lanjut, rujuk dokumentasi rasmi.
Jika anda mempunyai sebarang soalan atau maklum balas, sila tinggalkan komen di bawah. Selamat mengekod!
Atas ialah kandungan terperinci Sepadukan API Cukai Jualan zip.zax dalam Apl Golang Anda. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!