postcodesio

package module
v0.0.0-...-e855a1f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 21, 2019 License: Apache-2.0 Imports: 5 Imported by: 0

README

Golang postcodes.io library

Build Status Go Report Card Documentation Coverage Status GitHub issues license Release

Usage

import (
  "github.com/DocHQ/go-postcodes"
  "fmt"
)

func main(){
  post, err := postcodesio.Lookup("AA1 1AA")

	if err != nil {
		fmt.Println(err)
	}

	fmt.Println(post.Result)
}

Documentation

Overview

Package postcodesio is a golang package to ease the use, of the Postcodes.io API The name of the repo and the package differ since golang has isse with hyphens in package names

Peter Holt <peter.holt@dochq.co.uk>

Index

Examples

Constants

View Source
const (
	ApiBaseUrl = "https://api.postcodes.io"
)

Basic holder for API information

Variables

This section is empty.

Functions

This section is empty.

Types

type Result

type Result struct {
	Postcode                 string      `json:"postcode,omitempty"`
	Quality                  int         `json:"quality,omitempty"`
	Eastings                 int         `json:"eastings,omitempty"`
	Northings                int         `json:"northings,omitempty"`
	Country                  string      `json:"country,omitempty"`
	NHSHA                    string      `json:"nhs_ha,omitempty"`
	AdminCountry             string      `json:"admin_country,omitempty"`
	AdminDistrict            string      `json:"admin_district,omitempty"`
	AdminWard                string      `json:"admin_ward,omitempty"`
	Longitude                float64     `json:"longitude,omitempty"`
	Latitude                 float64     `json:"latitude,omitempty"`
	ParlimentaryConstituency string      `json:"parlimentary_constituency,omitempty"`
	EuropeanElectoralRegion  string      `json:"european_electoral_region,omitempty"`
	PrimaryCareTrust         string      `json:"primary_care_trust,omitempty"`
	Region                   string      `json:"region,omitempty"`
	Parish                   string      `json:"parish,omitempty"`
	LSOA                     string      `json:"lsoa,omitempty"`
	MSOA                     string      `json:"msoa,omitempty"`
	CED                      string      `json:"ced,omitempty"`
	CCG                      string      `json:"ccg,omitempty"`
	NUTS                     string      `json:"nuts,omitempty"`
	Codes                    ResultCodes `json:"codes,omitempty"`
}

Result contains the data about the postcode This is shared across Lookup and LookupBulk

Peter Holt <peter.holt@dochq.co.uk>

type ResultCodes

type ResultCodes struct {
	AdminCountry  string `json:"admin_country,omitempty"`
	AdminDistrict string `json:"admin_district,omitempty"`
	AdminWard     string `json:"admin_ward,omitempty"`
	Parish        string `json:"parish,omitempty"`
	CCG           string `json:"ccg,omitempty"`
	NUTS          string `json:"nuts,omitempty"`
}

ResultCodes is a small structure used in API response This is a separate structure to kepe thing DRY

Peter Holt <peter.holt@dochq.co.uk>

type ResultSingle

type ResultSingle struct {
	Status int    `json:"status,omitempty"`
	Result Result `json:"result,omitempty"`
}

ResultSingle is an organisation structure to return a single result

Peter Holt <peter.holt@dochq.co.uk>

func Lookup

func Lookup(code string) (ResultSingle, error)

Lookup function to perform a postcode lookup, A postcode is provided as a parameter the postcode is searched and the corresponding retsult is sent back to the calling function

Peter Holt <peter.holt@dochq.co.uk>

Example
post, err := postcodesio.Lookup("AA1 1AA")

if err != nil {
	fmt.Println(err)
}

fmt.Println(post.Result)
Output:

type ResultValidate

type ResultValidate struct {
	Status int  `json:"status,omitempty"`
	Result bool `json:"result,omitempty"`
}

ResultValidate placed for future work to be done

Peter Holt <peter.holt@dochq.co.uk>

type ResultsBulk

type ResultsBulk struct {
	Status int `json:"status,omitempty"`
	Result []struct {
		Query  string   `json:"query,omitempty"`
		Result []Result `json:"result,omitempty"`
	} `json:"result,omitempty"`
}

ResultsBulk is an organisation structure to return a bulk result

Peter Holt <peter.holt@dochq.co.uk>

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL