Skip to content

Commit ee5ecee

Browse files
committed
added GetOrderByName
1 parent 8f08c21 commit ee5ecee

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

shopify/shopify.go

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,28 @@ func (shopifyClient *Shopify) GetOrder(shopifyID string) (Order, error) {
121121
return shopifyResponse.SingleOrder, nil
122122
}
123123

124+
// GetOrderByName gets order by Order Name
125+
func (shopifyClient *Shopify) GetOrderByName(shopifyOrderName string) (Order, error) {
126+
// adding "&status=any" allows to retrieve canceled orders also
127+
urlStr := "admin/orders.json?name=" + shopifyOrderName + "&status=any"
128+
var shopifyResponse = new(OrderResponse)
129+
130+
err := shopifyClient.makeRequest("GET", urlStr, shopifyResponse, "")
131+
if err != nil {
132+
return shopifyResponse.SingleOrder, err
133+
}
134+
135+
if len(shopifyResponse.Orders) > 0 {
136+
jww.INFO.Printf("[GetOrderByName] - Order id: %s\n", strconv.Itoa(shopifyResponse.Orders[0].ID))
137+
138+
return shopifyResponse.Orders[0], nil
139+
}
140+
141+
jww.INFO.Printf("[GetOrderByName] - No active order with name '%s'", shopifyOrderName)
142+
return shopifyResponse.SingleOrder, err
143+
144+
}
145+
124146
// CancelOrder deletes order by ID
125147
func (shopifyClient *Shopify) CancelOrder(shopifyID string) (Order, error) {
126148
urlStr := "admin/orders/" + shopifyID + "/cancel.json"

shopify/shopifyorder.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,7 @@ type Fulfillment struct {
267267
// Order maps the shopify Order
268268
type Order struct {
269269
ID int `json:"id,omitempty"`
270+
Name string `json:"name,omitempty"`
270271
Customer Customer `json:"customer"`
271272
Email string `json:"email,omitempty"`
272273
BillingAddress Address `json:"billing_address"`
@@ -287,7 +288,8 @@ type Order struct {
287288

288289
// OrderResponse models the shopify API response for order
289290
type OrderResponse struct {
290-
SingleOrder Order `json:"order"`
291+
SingleOrder Order `json:"order"`
292+
Orders []Order `json:"orders"`
291293
}
292294

293295
// ShippingRate models the shopify ShippingRate object

0 commit comments

Comments
 (0)