【问题标题】:Unable to process the stateless transaction in Create PNR of Sabre ( REST API )无法在创建 Saber 的 PNR(REST API)中处理无状态事务
【发布时间】:2020-03-20 06:15:42
【问题描述】:

我使用 REST API 并关注 Sabre 的 low fare search and book workflow

第 1 步:使用 Bargain Finder Max API 购买航班。

第 2 步:预订一个或多个航段,添加所有必需信息 创建乘客姓名记录 (PNR),并使用 创建乘客姓名记录 API。

我可以检索 Bargain Finder Max(步骤 1)数据,但我卡在 创建乘客姓名记录。它总是返回Unable to process the stateless transaction. Please retry. 错误。


这是有效载荷信息

请求数据

{
  "CreatePassengerNameRecordRQ": {
    "version": "2.3.0",
    "targetCity": "****",
    "haltOnAirPriceError": false,
    "TravelItineraryAddInfo": {
      "AgencyInfo": {
        "Address": {
          "AddressLine": "SABRE TRAVEL",
          "CityName": "SOUTHLAKE",
          "CountryCode": "US",
          "PostalCode": "76092",
          "StateCountyProv": {
            "StateCode": "TX"
          },
          "StreetNmbr": "3150 SABRE DRIVE"
        },
        "Ticketing": {
          "TicketType": "7TAW"
        }
      },
      "CustomerInfo": {
        "ContactNumbers": {
          "ContactNumber": [
            {
              "NameNumber": "1.1",
              "Phone": "817-555-1212",
              "PhoneUseType": "H"
            }
          ]
        },
        "PersonName": [
          {
            "NameNumber": "1.1",
            "PassengerType": "ADT",
            "GivenName": "John",
            "Surname": "Tolliver"
          }
        ]
      }
    },
    "AirBook": {
      "HaltOnStatus": [
        {
          "Code": "HL"
        },
        {
          "Code": "KK"
        },
        {
          "Code": "LL"
        },
        {
          "Code": "NN"
        },
        {
          "Code": "NO"
        },
        {
          "Code": "UC"
        },
        {
          "Code": "US"
        }
      ],
      "OriginDestinationInformation": {
        "FlightSegment": [
          {
            "ArrivalDateTime": "2020-03-24T08:48:00T00:00:00",
            "DepartureDateTime": "2020-03-24T08:48:00T00:00:00",
            "FlightNumber": "",
            "NumberInParty": "1",
            "ResBookDesigCode": "Y",
            "Status": "NN",
            "DestinationLocation": {
              "LocationCode": ""
            },
            "MarketingAirline": {
              "Code": "",
              "FlightNumber": ""
            },
            "OriginLocation": {
              "LocationCode": ""
            }
          },
          {
            "ArrivalDateTime": "2020-03-24T08:48:00T00:00:00",
            "DepartureDateTime": "2020-03-24T08:48:00T00:00:00",
            "FlightNumber": "",
            "NumberInParty": "1",
            "ResBookDesigCode": "Y",
            "Status": "NN",
            "DestinationLocation": {
              "LocationCode": ""
            },
            "MarketingAirline": {
              "Code": "",
              "FlightNumber": ""
            },
            "OriginLocation": {
              "LocationCode": ""
            }
          }
        ]
      },
      "RedisplayReservation": {
        "NumAttempts": 10,
        "WaitInterval": 300
      }
    },
    "AirPrice": [
      {
        "PriceRequestInformation": {
          "Retain": true,
          "OptionalQualifiers": {
            "FOP_Qualifiers": {
              "BasicFOP": {
                "Type": "CK"
              }
            },
            "PricingQualifiers": {
              "PassengerType": [
                {
                  "Code": "0",
                  "Quantity": "1"
                }
              ]
            }
          }
        }
      }
    ],
    "SpecialReqDetails": {
      "AddRemark": {
        "RemarkInfo": {
          "FOP_Remark": {
            "Type": "CHECK"
          }
        }
      },
      "SpecialService": {
        "SpecialServiceInfo": {
          "SecureFlight": [
            {
              "PersonName": {
                "DateOfBirth": "2009-05-14",
                "Gender": "F",
                "NameNumber": "2.1",
                "GivenName": "mim",
                "Surname": "khan"
              },
              "SegmentNumber": "A"
            }
          ],
          "Service": [
            {
              "PersonName": {
                "NameNumber": "2.1"
              },
              "SSR_Code": "CHLD",
              "Text": "01MAY07"
            }
          ]
        }
      }
    },
    "PostProcessing": {
      "EndTransaction": {
        "Source": {
          "ReceivedFrom": "SP WEB"
        }
      },
      "RedisplayReservation": {
        "waitInterval": 100
      }
    }
  }
}

响应数据

{
  "errorCode": "ERR.SP.PROVIDER_ERROR",
  "message": "Unable to process the stateless transaction. Please retry.",
  "status": "Incomplete",
  "type": "Application",
  "timeStamp": "2020-03-20T01:01:30-05"
}

【问题讨论】:

    标签: rest api sabre


    【解决方案1】:

    您很幸运,因为我能够仅根据时间戳跟踪此特定交易。

    以后考虑发送以下http头:

    Conversation-ID: ${some.unique.identifier.specific.per.each.request}
    

    并传递它,以便 Saber Teams 可以毫无问题地追踪它! (就个人而言,我在运行测试时为每个请求生成一个新的 UUID。)

    通常我会建议联系 Sabre 支持以处理此类错误。 您使用的 Sabre 帐户似乎不活动,我真的建议您联系该团队以启用您的测试帐户。

    此消息背后的原因是大多数时间代理机构略微超出其 TAM 池(会话限制),因此稍等片刻重试会有所帮助,我们也不希望在 Sabre 中公开内部安全实施.

    在这种情况下,返回到托管 CreatePassengerNameRecordRQ 的应用程序的异常的结尾部分实际上是:

    错误。UserIDInactive

    【讨论】:

    • Witold:关于编辑,我们不鼓励在这里签名。但是,如果您为 Sabre 工作,那么最好在某处注明这一点,以减少有关晋升的任何利益冲突。例如,您可以将您的帐户重命名为Witold Petriczek (Sabre Support)
    • 知道了,会的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-13
    • 1970-01-01
    • 2019-01-22
    • 2013-03-19
    • 1970-01-01
    相关资源
    最近更新 更多