Skip to content

thienhaole92/cukcuk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CukCuk Go

A Go wrapper for CukCuk APIs

You need to get an API key from CukCuk

Usage

Add the module to your go project

go get github.com/thienhaole92/cukcuk

Sample Code

Get access token

package main

import (
	"context"
	"github.com/thienhaole92/cukcuk/token"
	"go.uber.org/zap"
)

const CUKCUK_URL = "https://graphapi.cukcuk.vn"
const CUKCUK_APP_ID = "CUKCUKOpenPlatform"
const CUKCUK_DOMAIN = "CUKCUK_DOMAIN"
const CUKCUK_SECRET = "CUKCUK_SECRET"

func main() {
	logger, _ := zap.NewDevelopment()
	defer logger.Sync()
	sugar := logger.Sugar()

	tkc := token.New(token.NewConfig(
		CUKCUK_URL,
		CUKCUK_APP_ID,
		CUKCUK_DOMAIN,
		CUKCUK_SECRET,
	))
	token, _ := tkc.GetToken(context.Background())
	sugar.Infow("token obtained", "token", token)
}

APIs

package main

import (
	"context"

	"github.com/thienhaole92/cukcuk/api"
	"go.uber.org/zap"
)

type TestTokenClient struct {
	token string
}

func NewTestTokenClient(token string) *TestTokenClient {
	return &TestTokenClient{
		token: token,
	}
}

func (t *TestTokenClient) GetToken(ctx context.Context) (string, error) {
	return t.token, nil
}

const ACCESS_TOKEN = "ACCESS_TOKEN"
const COMPANY_CODE = "COMPANY_CODE"

func main() {
	tk := NewTestTokenClient(ACCESS_TOKEN)
	config := api.NewConfig("https://graphapi.cukcuk.vn", COMPANY_CODE)
	cli := api.New(config, tk)

	logger, _ := zap.NewDevelopment()
	defer logger.Sync()
	sugar := logger.Sugar()

	res, err := cli.SAInvoicePaging(context.Background(), &api.SAInvoicePagingReq{
		Page:         1,
		Limit:        100,
		HaveCustomer: true,
	})
	if err != nil {
		sugar.Error(err)
	} else {
		sugar.Infow("response", "data", res.Data)
	}
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published