@@ -16,6 +16,7 @@ library woosignal;
1616// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
1717
1818import 'package:flutter/cupertino.dart' ;
19+ import 'package:woosignal/models/response/order_notes.dart' ;
1920import 'package:woosignal/models/response/coupon.dart' ;
2021import 'package:woosignal/models/response/coupon_batch.dart' ;
2122import 'package:woosignal/models/response/customer_batch.dart' ;
@@ -717,6 +718,90 @@ class WooSignal {
717718 return payloadRsp;
718719 }
719720
721+ // Retrieve an order note
722+ // This API lets you retrieve and view a specific note from an order
723+ Future <OrderNote > retrieveOrderNote ({
724+ @required int orderId,
725+ @required int noteId,
726+ }) async {
727+ Map <String , dynamic > payload = {};
728+ _printLog ("Parameters: " + payload.toString ());
729+ payload = _standardPayload ("get" , payload,
730+ "orders/${orderId .toString ()}/notes/${noteId .toString ()}" );
731+
732+ OrderNote orderNote;
733+ await _apiProvider.post ("/request" , payload).then ((json) {
734+ orderNote = OrderNote .fromJson (json);
735+ });
736+ _printLog (orderNote.toString ());
737+ return orderNote;
738+ }
739+
740+ // https://woocommerce.github.io/woocommerce-rest-api-docs/?php#list-all-order-notes
741+ // List All order notes
742+ // This API helps you to view all the notes from an order.
743+ Future <List <OrderNote >> getOrderNotes ({
744+ @required int orderId,
745+ String context,
746+ String type,
747+ }) async {
748+ Map <String , dynamic > payload = {};
749+ if (type != null ) payload["type" ] = type;
750+
751+ _printLog ("Parameters: " + payload.toString ());
752+ payload =
753+ _standardPayload ("get" , payload, "orders/${orderId .toString ()}/notes" );
754+
755+ List <OrderNote > orderNotes = [];
756+ await _apiProvider.post ("/request" , payload).then ((json) {
757+ orderNotes = (json as List ).map ((i) => OrderNote .fromJson (i)).toList ();
758+ });
759+ _printLog (orderNotes.toString ());
760+ return orderNotes;
761+ }
762+
763+ // Create an order note
764+ // This API helps you to create a new note for an order.
765+ Future <OrderNote > createOrderNote ({
766+ @required int id,
767+ Map <String , dynamic > data,
768+ }) async {
769+ Map <String , dynamic > payload = {};
770+ if (data != null ) payload['data' ] = data;
771+ _printLog (payload.toString ());
772+ payload =
773+ _standardPayload ("post" , payload, "orders/${id .toString ()}/notes" );
774+ OrderNote orderNote;
775+ await _apiProvider.post ("/request" , payload).then ((json) {
776+ orderNote = OrderNote .fromJson (json);
777+ });
778+ _printLog (orderNote.toString ());
779+ return orderNote;
780+ }
781+
782+ // Delete an order note
783+ // This API helps you delete an order note.
784+ Future <OrderNote > deleteOrderNote (
785+ int orderId,
786+ int noteId) async {
787+ Map <String , dynamic > data;
788+ data = {'force' : true };
789+ Map <String , dynamic > payload = data;
790+
791+ _printLog (payload.toString ());
792+
793+ // There is the usage of + instead of ${} if error Occurs
794+ payload = _standardPayload ("delete" , payload,
795+ "orders/${orderId .toString ()}/notes/${noteId .toString ()}" );
796+
797+ OrderNote orderNote;
798+ await _apiProvider.post ("/request" , payload).then ((json) {
799+ orderNote = OrderNote .fromJson (json);
800+ });
801+ _printLog (orderNote.toString ());
802+ return orderNote;
803+ }
804+
720805 Future <Coupon > retrieveCoupons ({int id}) async {
721806 Map <String , dynamic > payload = {};
722807 _printLog ("Parameters: " + payload.toString ());
0 commit comments