Criação de atributos personalizados para determinação da fonte de suprimentos usando uma API

Você pode criar diferentes tipos de atributos personalizados usando a API createCustomAttribute . Depois de criar um atributo personalizado para fins de determinação da fonte de suprimentos, você pode definir uma regra promissora para associar a ele. Em seguida, essa regra é considerada durante os cálculos de atendimento pré-compra.

Antes de iniciar

Procedimento

  1. Abra a API createCustomAttribute.
  2. Defina um novo atributo personalizado e especifique a finalidade comercial para a qual ele é usado.
    Por exemplo, você pode definir um novo atributo de determinação da fonte de suprimentos chamado 3p.channel para fins de determinação da fonte de suprimentos:
    POST https://api.watsoncommerce.ibm.com/configuration/{tenant}/v1/attributes/3p.channel
    {
      "isEnabled": true,
      "datatype": "string",
      "businessPurposes": [ "sourcing" ]
    }
  3. Crie uma nova regra de determinação da fonte de suprimentos para esse atributo personalizado.
    Por exemplo, você pode definir uma nova regra de determinação da fonte de suprimentos para considerar apenas node1-node3 quando o 3p.channel for Y.
    POST https://api.watsoncommerce.ibm.com/promising/{tenant}/v1/sourcing/rules
    {
      "isEnabled": true,
      "name": "3p.channel sourcing node restriction",
      "desc": "Only allow certain nodes when 3p.channel is Y",
      "effectiveDate": { "from": "2020-01-01T00:00:00Z", "to": "2030-01-01T00:00:00Z" },
      "expr": {
        "and": [
          { "3p.channel": { "eq": "Y" } },
        ]
      },
      "action": {
        "locationRestrictions": {
          "node": {
            "operator": "in",
            "value": [ "node1", "node2", "node3" ]
          }
        }
      }
    }
  4. Abra a API Calculate item delivery or pickup date using finite capacity windows (EDD) e a API Calculate pre-purchase shipment assignments using finite capacity windows (Checkout Assignments) e passe o endereço 3p.channel em sourcing criteria , conforme mostrado nos exemplos a seguir:
    POST https://api.watsoncommerce.ibm.com/promising/{tenantId}/v2/edd
    {
      "deliveryMethod": "SHP",
      "capacityUomToConsider": "UNITS",
      "shippingGroupId": "Free_Economy",
      "sourcingCriteria": { "3p.channel": "Y" },
      "destination": { "format": "ADDRESS", "value": { "countryCode": "US", "postalCode": "02144" } },
      "capacityCategoriesToConsider": { "categoryIds": [ "STANDARD_PRODUCT_CAPACITY" ] },
      "itemInfo": { "itemId": "LARGE_TV", "unitOfMeasure": "EACH", "productClass": "NEW" }
    }
    POST https://api.watsoncommerce.ibm.com/promising/{tenantId}/v2/calculateCheckoutAssignments
    {
      "deliveryMethod": "SHP",
      "capacityUomToConsider": "UNITS",
      "shippingGroupId": "Free_Economy",
      "sourcingCriteria": { "3p.channel": "Y" },
      "destination": { "format": "ADDRESS", "value": { "countryCode": "US", "postalCode": "02144" } },
      "cartLines": [
        {
          "lineNo": 1,
           "quantity": 1, "itemInfo": { "itemId": "LARGE_TV", "unitOfMeasure": "EACH", "productClass": "NEW" },
          "sourcingCriteria": { "3p.channel": "N" },
          "capacityCategoriesToConsider": { "categoryIds": [ "STANDARD_PRODUCT_CAPACITY" ] },
        },
    	{
          "lineNo": 2,
          "quantity": 2, "itemInfo": { "itemId": "FLOWERS", "unitOfMeasure": "EACH", "productClass": "NEW" },
          "sourcingCriteria": { "3p.channel": "Y" },
          "capacityCategoriesToConsider": { "categoryIds": [ "STANDARD_PRODUCT_CAPACITY" ] },
        }
      ]
    }
    Para a API Checkout assignments , a Linha 1 não considera a regra porque 3p.channel está definida como N, mas a Linha 2 considera a regra. Para a Linha 2, o sourcingCriteria pode ser deixado em branco porque já está definido como "Y" no nível do pedido.