Help us shape the future of Go! Take the 2026 Go Developer Survey

bri

package module
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Sep 25, 2019 License: MIT Imports: 15 Imported by: 0

README

BRI Sangu

Usage blueprint

  1. There is a type named Client (bri.Client) that should be instantiated through NewClient which hold any possible setting to the library.
  2. There is a gateway classes which you will be using depending on whether you used. The gateway type need a Client instance.
  3. Any activity (token request) is done in the gateway level.

Example

    briClient := bri.NewClient()
    briClient.BaseUrl = "BRI_BASE_URL"
    briClient.ClientId = "BRI_CLIENT_ID"
    briClient.ClientSecret = "BRI_CLIENT_SECRET"

    coreGateway := bri.CoreGateway{
        Client: briClient,
    }

    res, _ := coreGateway.GetToken()

Documentation

Index

Constants

View Source
const (
	TOKEN_PATH      = "/oauth/client_credential/accesstoken?grant_type=client_credentials"
	VA_PATH         = "/v1/briva"
	VA_REPORT_PATH  = "/v1/briva/report"
	BRI_TIME_FORMAT = "2006-01-02T15:04:05.999Z"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	BaseUrl      string
	ClientId     string
	ClientSecret string
	LogLevel     int
	Logger       *log.Logger
}

func NewClient

func NewClient() Client

NewClient : this function will always be called when the library is in use

func (*Client) Call

func (c *Client) Call(method, path string, header map[string]string, body io.Reader, v interface{}) error

Call the BRI API at specific `path` using the specified HTTP `method`. The result will be given to `v` if there is no error. If any error occurred, the return of this function is the error itself, otherwise nil.

func (*Client) ExecuteRequest

func (c *Client) ExecuteRequest(req *http.Request, v interface{}) error

ExecuteRequest : execute request

func (*Client) NewRequest

func (c *Client) NewRequest(method string, fullPath string, headers map[string]string, body io.Reader) (*http.Request, error)

NewRequest : send new request

type CoreGateway

type CoreGateway struct {
	Client Client
}

CoreGateway struct

func (*CoreGateway) Call

func (gateway *CoreGateway) Call(method, path string, header map[string]string, body io.Reader, v interface{}) error

Call : base method to call Core API

func (*CoreGateway) CreateVA

func (gateway *CoreGateway) CreateVA(token string, req CreateVaRequest) (res VaResponse, err error)

func (*CoreGateway) GetReportVA

func (gateway *CoreGateway) GetReportVA(token string, req GetReportVaRequest) (res VaReportResponse, err error)

func (*CoreGateway) GetToken

func (gateway *CoreGateway) GetToken() (res TokenResponse, err error)

func (*CoreGateway) UpdateVA

func (gateway *CoreGateway) UpdateVA(token string, req CreateVaRequest) (res VaResponse, err error)

type CreateVaRequest

type CreateVaRequest struct {
	InstitutionCode string `json:"institutionCode"`
	BrivaNo         string `json:"brivaNo"`
	CustCode        string `json:"custCode"`
	Name            string `json:"nama"`
	Amount          string `json:"amount"`
	Description     string `json:"keterangan"`
	ExpiredDate     string `json:"expiredDate"`
}

type GetReportVaRequest

type GetReportVaRequest struct {
	InstitutionCode string
	BrivaNo         string
	StartDate       string
	EndDate         string
}

type TokenResponse

type TokenResponse struct {
	AccessToken string   `json:"access_token"`
	ExpiredTime string   `json:"expires_in"`
	ProductList []string `json:"api_product_list_json"`
}

type VaData

type VaData struct {
	InstitutionCode string `json:"institutionCode"`
	BrivaNo         string `json:"brivaNo"`
	CustCode        string `json:"custCode"`
	Name            string `json:"nama"`
	Amount          string `json:"amount"`
	Description     string `json:"keterangan"`
	ExpiredDate     string `json:"expiredDate"`
}

type VaReportData

type VaReportData struct {
	BrivaNo     string `json:"brivaNo"`
	CustCode    string `json:"custCode"`
	Nama        string `json:"nama"`
	Amount      string `json:"amount"`
	Description string `json:"keterangan"`
	PaymentDate string `json:"paymentDate"`
	TellerId    string `json:"tellerid"`
	AccountNo   string `json:"no_rek"`
}

type VaReportResponse

type VaReportResponse struct {
	Status              bool           `json:"status"`
	ResponseCode        string         `json:"responseCode"`
	ResponseDescription string         `json:"responseDescription"`
	ErrDesc             string         `json:"errDesc"`
	Data                []VaReportData `json:"data"`
}

type VaResponse

type VaResponse struct {
	Status              bool   `json:"status"`
	ResponseCode        string `json:"responseCode"`
	ResponseDescription string `json:"responseDescription"`
	ErrDesc             string `json:"errDesc"`
	Data                VaData `json:"data"`
}

Jump to

Keyboard shortcuts

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