Enable Returns Functionality
Authors:
Fluent Commerce, Christopher Tse, Matt Salmon, Kirill Gaiduk
Changed on:
15 Mar 2024
Key Points
- Return Order
Authors:
Fluent Commerce, Christopher Tse, Matt Salmon, Kirill Gaiduk
Changed on:
15 Mar 2024
1mutation CreateSetting($retailerId:Int!) {
2 returnOrchestrated: createSetting(input: {
3 name: "RETURN_ORCHESTRATED",
4 valueType: "BOOLEAN",
5 value: "TRUE",
6 context: "RETAILER",
7 contextId: $retailerId}) {
8 id
9 name
10 }
11 defaultReturnDestinationLocation: createSetting(input: {
12 name: "DEFAULT_RETURN_DESTINATION_LOCATION",
13 valueType: "STRING",
14 value: "{{rejectLocation}}",//needs to be set to the corresponding default return location
15 context: "RETAILER",
16 contextId: $retailerId}) {
17 id
18 name
19 }
20 returnOrderType: createSetting(input: {
21 name: "RETURN_ORDER_TYPE",
22 valueType: "STRING",
23 value: "DEFAULT",
24 context: "RETAILER",
25 contextId: $retailerId}) {
26 id
27 name
28 }
29 returnOrchestratedAccount: createSetting(input: {
30 name: "RETURN_ORCHESTRATED",
31 valueType: "BOOLEAN",
32 value: "TRUE",
33 context: "ACCOUNT",
34 contextId: 0}) {
35 id
36 name
37 }
38}1{{fluentApiHost}}/api/v4.1/settings/retailer/{{retailer_id}}/RETURN_REASON
2
31{
2 ``"setting"``: {
3 ``"key"``: ``"RETURN_REASON"``,
4 ``"type"``: ``"JSON"``,
5 ``"value"``: [
6 ``{
7 ``"label"``: ``"Wrong Size"``,
8 ``"value"``: ``"WRONGSIZE"
9 ``},
10 ``{
11 ``"label"``: ``"Broken"``,
12 ``"value"``: ``"BROKEN"
13 ``}
14 ``]
15 ``}
16}1{{fluentApiHost}}/api/v4.1/settings/retailer/{{retailer_id}}/RETURN_CONDITION1{
2 ``"setting"``: {
3 ``"key"``: ``"RETURN_CONDITION"``,
4 ``"type"``: ``"JSON"``,
5 ``"value"``: [
6 ``{
7 ``"label"``: ``"Reusable"``,
8 ``"value"``: ``"GOOD"
9 ``},
10 ``{
11 ``"label"``: ``"Destroy"``,
12 ``"value"``: ``"BROKEN"
13 ``}
14 ``]
15 ``}
16}1mutation {
2 ``createRole(input: {name: ``"INSTORE_RETURNS"``,
3 ``permissions: [
4 ``{name: ``"ORDER_VIEW"``},
5 ``{name: ``"CUSTOMER_VIEW"``},
6 ``{name: ``"RETURN_VIEW"``},
7 ``{name: ``"ORDERITEM_VIEW"``},
8 ``{name: ``"PRODUCT_VIEW"``},
9 ``{name: ``"VARIANTPRODUCT_VIEW"``},
10 ``{name: ``"STANDARDPRODUCT_VIEW"``},
11 ``{name: ``"GROUPPRODUCT_VIEW"``},
12 ``{name: ``"CATEGORY_VIEW"``}
13 ``]
14 ``}) {
15 ``name
16 ``permissions {
17 ``name
18 ``}
19 ``}
20}1mutation updateUser(
2 ``$locationUserId:ID!
3 ``$retailerId:ID!
4){
5 ``updateUser(input:{
6 ``id:$locationUserId
7 ``roles:[
8 ``{
9 ``role:{
10 ``name:``"INSTORE_RETURNS"
11 ``}
12 ``contexts:[
13 ``{
14 ``contextId:$retailerId
15 ``contextType:``"RETAILER"
16 ``},
17 ``{
18 ``contextId:$locationUserId,
19 ``contextType:``"AGENT"
20 ``}
21 ``]
22 ``}
23 ``]
24 ``}){
25 ``id
26 ``}
27}1{
2 "name": "ReturnOrder",
3 "description": "ReturnOrder",
4 "type": "ORDER",
5 "subtype": "CC",
6 "eventType": "NORMAL",
7 "rules": [
8 {
9 "name": "FLUENTRETAIL.base.ValidateReturnQty",
10 "props": null
11 },
12 {
13 "name": "FLUENTRETAIL.base.CreateReturnOrderFromOrder",
14 "props": null
15 },
16 {
17 "name": "FLUENTRETAIL.base.ChangeStateGQL",
18 "props": {
19 "status": "RETURN_CREATED"
20 }
21 }
22 ],
23 "triggers": [
24 {
25 "status": "BOOKED"
26 },
27 {
28 "status": "PICK_PACK"
29 },
30 {
31 "status": "COMPLETE"
32 },
33 {
34 "status": "RETURN_CREATED"
35 }
36 ],
37 "userActions": [
38 {
39 "context": [
40 {
41 "label": "Return",
42 "type": "PRIMARY",
43 "modules": [
44 "adminconsole"
45 ],
46 "confirm": false
47 }
48 ],
49 "attributes": [
50 {
51 "name": "returnItems",
52 "label": "Items",
53 "type": "RETURN_ITEMS",
54 "source": "",
55 "defaultValue": "",
56 "mandatory": false
57 },
58 {
59 "name": "pickupLocation",
60 "label": "Pickup Location",
61 "type": "ADDRESS",
62 "source": "",
63 "defaultValue": "",
64 "mandatory": false
65 },
66 {
67 "name": "lodgedLocation",
68 "label": "Lodged Location",
69 "type": "STRING",
70 "source": "",
71 "defaultValue": "",
72 "mandatory": false
73 },
74 {
75 "name": "type",
76 "label": "Return Type",
77 "type": "STRING",
78 "source": "",
79 "options": {
80 "active": [
81 {
82 "name": "Default",
83 "value": "DEFAULT"
84 }
85 ]
86 },
87 "defaultValue": "",
88 "mandatory": false
89 }
90 ]
91 }
92 ]
93}1{
2 ``"name"``: ``"UpdateReturnableQty"``,
3 ``"description"``: ``"UpdateReturnableQty"``,
4 ``"type"``: ``"ORDER"``,
5 ``"eventType"``: ``"NORMAL"``,
6 ``"rules"``: [
7 ``{
8 ``"name"``: ``"FLUENTRETAIL.base.UpdateOrderItemAttribute"``,
9 ``"props"``: ``null
10 ``}
11 ``],
12 ``"triggers"``: [
13 ``{
14 ``"status"``: ``"RETURN_CREATED"
15 ``}
16 ``],
17 ``"userActions"``: []
18}1{
2 ``"retailerId"``: ``"{{retailer_id}}"``,
3 ``"version"``: ``"1.0"``,
4 ``"entityType"``: ``"RETURN_ORDER"``,
5 ``"entitySubtype"``: ``"DEFAULT"``,
6 ``"description"``: ``"Basic workflow template"``,
7 ``"versionComment"``: ``"First version"``,
8 ``"name"``: ``"RETURN_ORDER::DEFAULT"``,
9 ``"rulesets"``: [
10 ``{
11 ``"name"``: ``"CREATE"``,
12 ``"description"``: ``"Create ReturnOrder"``,
13 ``"type"``: ``"RETURN_ORDER"``,
14 ``"subtype"``: ``"DEFAULT"``,
15 ``"eventType"``: ``"NORMAL"``,
16 ``"rules"``: [
17 ``{
18 ``"name"``: ``"FLUENTRETAIL.base.ChangeStateGQL"``,
19 ``"props"``: {
20 ``"status"``: ``"BOOKED"
21 ``}
22 ``},
23 ``{
24 ``"name"``: ``"FLUENTRETAIL.base.SendEventToReturns"``,
25 ``"props"``: {
26 ``"eventName"``: ``"FulfilReturn"
27 ``}
28 ``}
29 ``],
30 ``"triggers"``: [
31 ``{
32 ``"status"``: ``"CREATED"
33 ``}
34 ``],
35 ``"userActions"``: []
36 ``},
37 ``{
38 ``"name"``: ``"FulfilReturn"``,
39 ``"description"``: ``"ReturnOrder"``,
40 ``"type"``: ``"RETURN_ORDER"``,
41 ``"eventType"``: ``"NORMAL"``,
42 ``"rules"``: [
43 ``{
44 ``"name"``: ``"FLUENTRETAIL.base.CreateReturnFulfilment"``,
45 ``"props"``: ``null
46 ``},
47 ``{
48 ``"name"``: ``"FLUENTRETAIL.base.ChangeStateGQL"``,
49 ``"props"``: {
50 ``"status"``: ``"RETURNED"
51 ``}
52 ``},
53 ``{
54 ``"name"``: ``"FLUENTRETAIL.base.SendEventToUpdateOrderItemAttribute"``,
55 ``"props"``: {
56 ``"eventName"``: ``"UpdateReturnableQty"
57 ``}
58 ``}
59 ``],
60 ``"triggers"``: [
61 ``{
62 ``"status"``: ``"BOOKED"
63 ``},
64 ``{
65 ``"status"``: ``"CREATED"
66 ``}