added initial webhook main function

This commit is contained in:
Bastian de Byl
2023-02-26 20:36:12 -05:00
parent d182b35d56
commit 36ca8d6f83
4 changed files with 227 additions and 2 deletions

View File

@@ -50,18 +50,20 @@ type SnipcartOrder struct {
Token string `json:"token"`
Invoice string `json:"invoiceNumber"`
Subtotal float64 `json:"subtotal,omitempty"`
Currency string `json:"currency,omitempty"`
Total float64 `json:"grandTotal,omitempty"`
Status string `json:"status"`
TotalWeight float64 `json:"totalWeight"`
Email string `json:"email"`
Name string `json:"shippingAddressName"`
Company string `json:"shippingAddressCompanyName"`
Address1 string `json:"shippingAddressAddress1"`
Address2 string `json:"shippingAddressAddress2"`
City string `json:"shippingAddressCity"`
Province string `json:"shippingAddressProvince"`
Country string `json:"shippingAddressCountry"`
PostalCode string `json:"shippingAddressPostalCode"`
Phone string `json:"shippingAddressPhone"`
Phone string `json:"shippingAddressPhone,omitempty"`
Email string `json:"email,omitempty"`
TrackingNumber string `json:"trackingNumber"`
TrackingUrl string `json:"trackingUrl"`
ShippingCost float64 `json:"shippingFees"`

View File

@@ -0,0 +1,33 @@
package webhook
import (
"bytes"
"encoding/json"
"io/ioutil"
"github.com/debyltech/go-shippr/shippo"
)
type Config struct {
ShippoApiKey string `json:"shippo_api_key"`
WeightUnit string `json:"weight_unit"`
DimensionUnit string `json:"dimension_unit"`
ManufactureCountry string `json:"manufacture_country"`
SenderAddress shippo.Address `json:"sender_address"`
DefaultParcel shippo.Parcel `json:"default_parcel"`
}
func NewConfigFromFile(filePath string) (*Config, error) {
configBytes, err := ioutil.ReadFile(filePath)
if err != nil {
return nil, err
}
var config Config
err = json.NewDecoder(bytes.NewBuffer(configBytes)).Decode(&config)
if err != nil {
return nil, err
}
return &config, nil
}