Update allocation status - Fabric

Update allocation status

cURL

curl --request POST \
  --url https://api.fabric.inc/v3/allocations/{allocationIdType}/{allocationIdValue}/actions/update-status \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'x-fabric-channel-id: <x-fabric-channel-id>' \
  --header 'x-fabric-tenant-id: <x-fabric-tenant-id>' \
  --data '
{
  "statusCode": "ALLOCATED",
  "requestContext": {
    "type": "<string>",
    "requestTime": "2022-04-12T09:30:31.198Z",
    "attributes": {
      "attribute": "N",
      "someFlag": true
    }
  },
  "statusDescription": "Allocation completed successfully"
}
'```

### Python

import requests

url = "https://api.fabric.inc/v3/allocations/{allocationIdType}/{allocationIdValue}/actions/update-status"

payload = { "statusCode": "ALLOCATED", "requestContext": { "type": "", "requestTime": "2022-04-12T09:30:31.198Z", "attributes": { "attribute": "N", "someFlag": True } }, "statusDescription": "Allocation completed successfully" } headers = { "x-fabric-tenant-id": "", "x-fabric-channel-id": "", "Authorization": "Bearer ", "Content-Type": "application/json" }

response = requests.post(url, json=payload, headers=headers)

print(response.text)


### JavaScript

const options = { method: 'POST', headers: { 'x-fabric-tenant-id': '', 'x-fabric-channel-id': '', Authorization: 'Bearer ', 'Content-Type': 'application/json' }, body: JSON.stringify({ statusCode: 'ALLOCATED', requestContext: { type: '', requestTime: '2022-04-12T09:30:31.198Z', attributes: {attribute: 'N', someFlag: true} }, statusDescription: 'Allocation completed successfully' }) };

fetch('https://api.fabric.inc/v3/allocations/{allocationIdType}/{allocationIdValue}/actions/update-status', options) .then(res => res.json()) .then(res => console.log(res)) .catch(err => console.error(err));


### PHP
"https://api.fabric.inc/v3/allocations/{allocationIdType}/{allocationIdValue}/actions/update-status", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => json_encode([ 'statusCode' => 'ALLOCATED', 'requestContext' => [ 'type' => '', 'requestTime' => '2022-04-12T09:30:31.198Z', 'attributes' => [ 'attribute' => 'N', 'someFlag' => true ] ], 'statusDescription' => 'Allocation completed successfully' ]), CURLOPT_HTTPHEADER => [ "Authorization: Bearer ", "Content-Type: application/json", "x-fabric-channel-id: ", "x-fabric-tenant-id: " ], ]); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; } ?>

### Go

package main

import ( "fmt" "strings" "net/http" "io" )

func main() {

url := "https://api.fabric.inc/v3/allocations/{allocationIdType}/{allocationIdValue}/actions/update-status"

payload := strings.NewReader("{\n "statusCode": "ALLOCATED",\n "requestContext": {\n "type": "",\n "requestTime": "2022-04-12T09:30:31.198Z",\n "attributes": {\n "attribute": "N",\n "someFlag": true\n }\n },\n "statusDescription": "Allocation completed successfully"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("x-fabric-tenant-id", "") req.Header.Add("x-fabric-channel-id", "") req.Header.Add("Authorization", "Bearer ") req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close() body, _ := io.ReadAll(res.Body)

fmt.Println(string(body)) }


### Response Status Codes

- **200**: Allocation response details
- **400**: Mandatory parameter(s) missing
- **401**: Unauthorized request
- **404**: Allocation not found
- **500**: Internal server error

### Response Body

```json
{
  "allocationId": "62ff5c0bec0aed3c86202c32",
  "allocationRequestId": "62ff5c0bec0aed3c86202c32",
  "createdAt": "2022-08-01T18:03:28.483971941Z",
  "locationNumber": "1234B",
  "version": 2,
  "allocationNumber": 13000004,
  "allocationExternalId": "123k4h123k",
  "auditLogs": [{
    "amount": 2.4,
    "auditId": "a05b72dc-78d8-4ea4-90fc-2fe6a1fe1111",
    "auditType": "CANCEL",
    "auditedAt": "2023-03-12T09:24:54.804Z",
    "employeeId": "6227",
    "isSuccess": true,
    "lineItemId": "b03b72dc-78d8-4ea4-90fc-2fe6a1fe6569",
    "lineItemNumber": 1,
    "note": "Note",
    "paymentToken": {
      "paymentType": "VISA",
      "token": "pi_34tr6787rt"
    },
    "policyCode": "POS",
    "quantity": 1,
    "reasonCode": "Scratched item",
    "sku": "SKU0023",
    "source": "POS",
    "subReasonCode": "Scratched item",
    "updatedFields": [{
      "fieldName": "UOM",
      "fieldOriginalValue": "PK"
    }]
  }],
  "currency": "USD",
  "decisionContexts": [{
    "allocatedOrderLineIds": ["<string>"],
    "methodConfigs": {},
    "methodName": "<string>",
    "ruleName": "<string>",
    "ruleSetId": "<string>",
    "ruleSetVersion": "<string>"
  }],
  "items": [{
    "allocationLineNumber": 3,
    "itemId": 100064,
    "quantity": 3,
    "sku": "123k4h123k",
    "uom": "EA",
    "channelId": "4a35cc1b-4e15-46df-96c9-38a697d88dfe",
    "cost": 150.6,
    "estimatedDeliveryDate": "2022-08-01T18:03:28.483971941Z",
    "itemStatus": "PARTIALLY_ALLOCATED",
    "notes": [{
      "createdAt": "2022-05-12T09:30:31.198Z",
      "notes": "Fragile - handle with care",
      "user": "62272e917b12209e68751d94"
    }],
    "orderId": "62f3982438bcab1951be0a19",
    "orderLineId": "134fqfaa532qrf",
    "orderLineNumber": 1,
    "orderNumber": "123k4h123k",
    "orderExternalId": "123k4h123k",
    "orderedAt": "2022-08-01T18:03:28.483971941Z",
    "parentAllocationLineNumber": 3,
    "price": 50.2,
    "reallocationReasonCode": "Reallocating due to unavailability of location number",
    "reallocationRequestId": "123k4h123k",
    "reshipReasonCode": "Stock refilled",
    "scratchQuantity": 1,
    "scratchedReasonCode": "Out of stock",
    "shippedQuantity": 1,
    "weight": 5.5
  }],
  "itemsType": "WEB_SHIP",
  "locationType": "DC",
  "notifiedToPPSAt": "2022-08-01T18:03:28.483971941Z",
  "orderSubType": "ANDROID",
  "parentAllocationId": "62ff5c0bec0aed3c86202c32",
  "previousAllocatedLocationNums": ["410"],
  "recipients": [{
    "email": "test@example.com",
    "name": {"firstName": "Alex","lastName": "Doe","middleName": "E"},
    "phone": {"number": "123-456-7890","type": "MOBILE"},
    "pickupType": "PRIMARY"
  }],
  "shipToAddress": {
    "addressLine1": "123 Main St.",
    "city": "Seattle",
    "countryCode": "US",
    "latitude": 47.6205,
    "longitude": -122.3493,
    "postalCode": "98121",
    "region": "WA",
    "type": "Home",
    "addressLine2": "Suite 100",
    "addressLine3": "Seventh floor",
    "addressLine4": "Attention: Pat E. Kake",
    "email": "test@example.com",
    "name": {"firstName": "Alex","lastName": "Doe","middleName": "E"},
    "phone": {"number": "123-456-7890","type": "MOBILE"}
  },
  "shipFromAddress": {
    "addressLine1": "123 Main St.",
    "city": "Seattle",
    "countryCode": "US",
    "latitude": 47.6205,
    "longitude": -122.3493,
    "postalCode": "98121",
    "region": "WA",
    "type": "Home",
    "addressLine2": "Suite 100",
    "addressLine3": "Seventh floor",
    "addressLine4": "Attention: Pat E. Kake",
    "email": "test@example.com",
    "name": {"firstName": "Alex","lastName": "Doe","middleName": "E"},
    "phone": {"number": "123-456-7890","type": "MOBILE"}
  },
  "shipToId": "98ff5c0bec0aed3c86202c32",
  "shipmentMethod": "Parcel Post Delivery",
  "shipmentType": "SHIP_TO_ADDRESS",
  "shippedAt": "2022-08-01T20:03:28.483971941Z",
  "statusCode": "ALLOCATED",
  "type": "ALLOCATED",
  "updatedAt": "2022-08-01T20:03:28.483971941Z"
}

Error Response

{
  "type": "CLIENT_ERROR",
  "errorCode": "SERVICE-4003",
  "message": "Mandatory param(s): `requiredField1` is/are missing",
  "errors": [{
    "type": "CLIENT_ERROR",
    "errorCode": "SERVICE-4002",
    "message": "Invalid value(s) specified for 'requiredField.field3'",
    "errors": []
  }],
  "context": {
    "service": "allocations",
    "endpoint": "POST /v3/allocations/{allocationIdType}/{allocationIdValue}/actions/update-status"
  }
}
{
  "type": "CLIENT_ERROR",
  "errorCode": "SERVICE-4001",
  "message": "Unauthorized request",
  "errors": [],
  "context": {
    "service": "allocations",
    "endpoint": "POST /v3/allocations/{allocationIdType}/{allocationIdValue}/actions/update-status"
  }
}
{
  "message": "Allocation not found",
  "type": "CLIENT_ERROR"
}
{
  "type": "SERVER_ERROR",
  "errorCode": "SERVICE-5000",
  "message": "Internal server error",
  "errors": [],
  "context": {
    "service": "allocations",
    "endpoint": "POST /v3/allocations/{allocationIdType}/{allocationIdValue}/actions/update-status"
  }
}

Authorizations

Authorization

Bearer <token> is required for authentication.

Headers

  • x-fabric-tenant-id: Identifies the tenant making the request.
  • x-fabric-channel-id: Identifies the sales channel for the API request.