# Update Warranty Claim

# API Description

This API is used to update warranty claim when claim status is 20011001(Wait for submission) or 20011005(Returned)

# Environment

# Test

https://oversea.saicmaxus.com/australia/test/claim/new/update (opens new window)

# Prod

https://oversea.saicmaxus.com/australia/claim/new/update (opens new window)

# Method

POST

# Request

# Authorization

Set 'maxus_jwt' in header,see in Get Maxus JWT Token

# Payload

Parameter Fir Parameter Type Required Description excel field remark 中文描述
main Object Yes The main data object for warranty claim. - Please refer to the example. 索单主数据 对象
main.id number(10) No PRIMARY KEY. ID 索赔系统主键
main.troubleReason corReactiveAction String(1000) Yes Solution TROUBLE_REASON 故障原因
main.mainRoId number(10) No
(Additional Claim is Yes)
Major Claim ID MAIN_RO_ID

1. If newClaimType is Additional Claim, this field should not be empty and this claim's vin should be the same with Major Claim's vin

2. Major claim must be approved.

主索赔单id

1.索赔单类型为追加索赔时,为必填项。追加索赔的vin需要和主索赔单的vin一致

2.大金额的索赔单会进行审核

main.newClaimType String(10) Yes Claim Type NEW_CLAIM_TYPE

1. NW: Normal Claim

2. PD: Pre-Delivery Claim

3. PT: Part Claim

4. CA: Additional Claim

5. FX: Campaign Repair Claim

if repairOrderDate is earlier than purchaseDate(refer to request parameter in API Register Vin ), newClaimType only could be additional Claim or Pre-Delivery Claim

索赔单类型 NW:一般索赔,PD:售前索赔,PT:配件索赔,CA:追加索赔,FX:市场返修

如果维修时间早于销售购买时间,则仅允许提报追加索赔

main.enclosureFileUrl String No Encrypted file upload url ENCLOSURE_FILE_URL one attachment only 文件地址(废弃)
main.enclosureFileUrls Array No Encrypted file upload urls (Accept 1st element currently) At most 3 attachments. Each one at most 20MB. 文件地址(最多上传3张附件,每个文件不超过20MB)
main.correctionDesc probableCause String(1000) Yes
(Additional Claim is No)
Repair Description CORRECTION_DESC 维修过程
main.claimRemark String(1000) No Remarks CLAIM_REMARK 备注信息
main.snwCaseId String(30) Yes
(Additional Claim is No)
FIR # SNW_CASEID

For Additional Claim and Campaign Repair Claim, FIR # isn't required; other types must provide it, and each FIR # applies to one unique claim only

FIR's vin must exactly match claim's vin

FIR case status must be close, FIR claim status must be approved

案例号(追加索赔和市场返修类型的索赔单不需要案例号。案例单的vin和索赔单的vin要一致)
main.ascRoNo String(11) No R/O No ASCRO_NO 工单号
main.vin vin String(17) Yes VIN VIN The VIN field is non-editable when modifying Claims. 车架号(修改索赔单信息时,车架号不能变更)
main.proposer String(30) Yes
(Additional Claim is No)
Employee Name PROPOSER 提报人
main.repairOrderDate worksheetStartDate Long(13) Yes
(Additional Claim is No)
R/O Start Date REPAIRORDER_DATE Submission of Pre-Delivery Claim type Claims is forbidden if repairOrderDate is after the purchaseTimeStamp. 工单维修日期(维修日期若晚于购买日期,则不允许提报售前索赔)
main.roEndDate worksheetEndDate Long(13) Yes
(Additional Claim is No)
R/O Finish Date RO_ENDDATE Timestamp with millisecond (such as 1711085332514) 工单维修完成日期
main.mileage mileage BigDecimal(8,2) Yes
(Additional Claim is No)
Mileage MILEAGE 1. Claims of type Pre-Delivery Claim are prohibited when vehicle mileage exceeds 800km. 车辆行驶里程数(当车辆行驶里程数超过800时,不允许提报售前索赔)
main.troubleDesc symptomComplaint String(1000) Yes
(Additional Claim is No)
Fault Symptom TROUBLE_DESC 故障描述
main.troubleCode String(10) Yes
(Additional Claim is No)
Fault Code TROUBLE_CODE 故障代码
main.labourOperationNo String(10) Yes
(Additional Claim is No)
Labor Code LABOUR_OPERATION_NO

see API Query Labour Operation Info

If newClaimType is of the Additional Claim type, then the current field value must match the labourOperationNo field value of the associated Major Claim

.
维修操作代码(追加索赔类型的操作代码需要与主索赔单的操作代码一致)
main.labourHours BigDecimal(6,2) Yes
(Additional Claim is No)
Basic Labor Time LABOUR_HOURS

If newClaimType is of the Additional Claim type, then the current field value must not exceed the standardLabourHour corresponding to the labourOperationNo. Otherwise, the claim will be automatically rejected upon submission.

维修工时(若工时超过操作代码对应的标准工时,则索赔单会被系统拒绝)
main.reinforceHours BigDecimal(6,2) No Extra Labor Time REINFORCE_HOURS 附加工时
main.otherLabourRemark String(2000) No Extra Labor Explanation OTHER_LABOUR_REMARK 附加工时说明
newParts Array No An array. Each array item represents 'new part'. -

1. newParts list is a subset of oldParts list.

2. quantity must not be less than 1.

3. If newClaimType is of the Additional Claim type, parts in oldParts where isMainPart == 1 must not appear in newParts.

换上件配件 对象

1.换上件是换下件的子集</p

2.数量不能少于1

3.如果是追加索赔,则换下件主损件不能出现在换上件中

newParts.quantity number(6) Yes Part Quantity quantity 配件数量
newParts.partCode String(18) Yes Part Code partCode 配件代码
newParts.partName String(100) Yes Part Name partName 配件名称
oldParts Array Yes An array. Each array item represents 'old part'(failure part). -

1. There is exactly one element with the isMainpart attribute value set to 1, and we refer to this element as the main part.

2. If newClaimType is of the Additional Claim type, main part must correspond to the main part in the Major Claim and must not undergo any additional modifications; its quantity must be 0.

3. In principle, oldParts and newParts are one-to-one correspondent; however, in the event of any discrepancy, the difference can only be that oldParts contains one more element than newParts, and this extra element must be a Main Part.

换下件配件 对象

1.换下件配件中,需要指定一个配件为主损件

2.追加索赔索赔的配件必须与主索赔单中配件保持一致,且数量只能为0

3.原则上,旧零件和新零件是一一对应的;但是,如果存在任何差异,差异只能是换下件比换上件多包含一个元素,并且这个额外的元素必须是主损件

oldParts.quantity number(6) Yes Part Quantity quantity 配件数量
oldParts.partCode String(18) Yes Part Code partCode 配件代码
oldParts.partName String(100) Yes Part Name partName 配件名称
oldParts.isMainpart number Yes Major Failure Parts 0/1 isMainpart 是否主损件
otherCosts Array No An array. Each array item represents 'other cost'. - 其他费用 对象
otherCosts.netitem String(8) Yes Cost categories, including trailer allocation, etc netitem 费用类别
otherCosts.amount BigDecimal(12,2) Yes Amount amount 费用金额
otherCosts.description String(2000) Yes Description description 费用说明

# Notes

  • Submission of Claims with the same VIN within 60 seconds is prohibited.
  • Upon submission, Claims undergo additional internal validity checks. If these checks fail, the system returns specific error codes. While clients can't preemptively avoid such errors, to facilitate better communication, we're outlining the rules, their basic logic, and the error codes for failed checks. We hope this helps:
    • If a vehicle is flagged as BLOCKED and outside mileage warranty coverage, it's invalid. Error Code: [400]
    • If BLOCKED and outside warranty time frame, iit's invalid. Error Code: [400]
    • If warranty periods for the model aren't maintained in the system, it's invalid. Error Code: [400]
    • If vehicle's time or mileage exceeds warranty limit settings, it's invalid. Error Code: [400]
    • If a model surpasses the system's maintained validity period limit, it's invalid. Error Code: [400]
    • Absence of essential service provider configurations leads to invalid. Error Code: [400]
    • Missing necessary parameters for vehicle warranty start date leads to invalid. Error Code: [400]
    • ......

# Example

curl --location 'https://oversea.saicmaxus.com/australia/test/claim/new/update' \
--header 'maxus_jwt: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhc2NDb2RlIjoiNDE5ODEzMCIsImFzY0lkIjo0MTk4MTMwLCJhc2NOYW1lIjoiQVRFQ08iLCJjYWxsQmFja1VybCI6IjEiLCJleHBpcmVUaW1lU3RhbXAiOiIxNzA0MzY2NTY2NTY4IiwicmVtYXJrIjoicHJpdmF0ZT09MTI1Njk4NjU0ODQ3ODg4MTAyMjA2MjAxODEzMzgxNTA2MTE2ODk4Njg1MDgyMzUyNTcyNjAxMDg1MTkzMzg0OTE4MjEzOTUzNDUzMjY3NDAxNzgyMjQ3NTc4OTMwNDU4MTg3Mzg5Mjk5OTU1MjU5MjUwMTI4MzE5OTYxNTYzNjE5MTIxOTQ4MzI0MTA3NTI3MDc0NjEyMzg4MjM4NzAxMjQzNzA2ODE3NjgyNTEyNjk1NDc4OTQ1MjYzOTc5NTc2NjU2MTUwMzgyMTk0NzQ1OTY0OTg4OTc0NTc5ODIyNzc5NjM2NTYxNTYyOTM5Mjc1ODkwMTExNTQ3ODIxNjMzNzMxMzQ2MTc2MjU1ODMzOTEwNTE5NTYyNDg2NTI3OTE5MzMxMTYxMjY2ODA5OTE3ODc4Nzltb2R1bGVzPT0zNDQ2NzU5MjY3NjUwMDkzMjE4MDA3NTU2NTE5MTY1NDAxMTgyODEzNDE3MTYxOTMzMjY3MzE0MzQ4MzA4ODEwMTk2MDcyNzUwNTA5ODg2NjEwMzY1MDk1OTExMjk3MjE2MjI5NTEzOTA5NjE1NTU2MzUzMzk2MzY1NzExOTA0NjUwNjg3NDczOTkzOTUxMTE2MzkwMjcxNDE1MTUyMjE0Mzc3NDI4MjY1NTMwOTQyMzA4MTUxNTk2NjMxOTI0MTA0NTAyMTIwOTk0NzI2MDcxMDcxNTc3MTMwMzExMzg4NTg1MjAyMTA1NjM1MjMwNTIzMTc2NDY2MzU4MDA1NDU2MjQ3NjMwMjY5NzQzMzE1OTQxODAyNTQwNjcyNzM0ODg5MDExODAxMDI2ODAxOTIxNjkzMSIsInJzYVZPIjp7InJzYVB1YmxpY0V4cG9uZW50IjoiMTAwMDEiLCJyc2FNb2R1bGVzIjoiOGNmMDhkMjkxNzdjYTJiOTQyN2M1YTJiMWQ0MTUzZjg2MGVhNWVkNzAxZGFlYTk4Mzg5YWJmZmNjNGQ1OTQ0Mjk5ZWQ4YmRkZjRkMWI1MjhhNzQ2ZGE2Yjk3OTkyODJlOGJiNTUzMDQ5NWE0MjRkZTcwM2NjMTc4ZWQyZGUwNDE1OTliY2FjMWY1MTIzNjg5NmU2MWM3M2RkYTk1ODZmOWNjZjRlMjI0NzMxZmEzNzFkOTg0ODg5MzhlZWJmNDUzODhlMTc5MjMxNTExMjY3ODM4YTE5MGJmOWE2N2YzYjcwYzg5ZWRlMWE2ODQ2ZGNjZWZkY2I0OTUzNDRmMDIzZiIsInJzYVByaXZhdGVFeHBvbmVudCI6IjFlMTNjZmVjMmYwOGY4MjkxNTE5Mzg5Y2VlZDc1YzM2MmI2ODk4ZThjNThhOTQ3OWZiY2E3YWEyNTRkNzQ3OTY5NzA2ZWNjYzY3NGNjMTllNzU2NDU3ODQ5MjhiYWFkOTk0MTMxNDJlNmM0OGU1NWQ1YjEyN2MyZjc0NWU0ZmY3MGRmZWU4MWQ0YWY4OWM0ODg1NTViMzMwMmE4OWY3ZjcwM2JmMTU0YjM1ZmM5NmVhZjMxYTFhYjMwNTQwMTE4ZGEzY2ZhY2ViZTZkMTI3ZmEyODQzZWQ3MDQ0NDJlZWE5ZDc3ODUxMTlhN2Q3MjkzY2U3NTliNGE5ZmIwODA0MzEiLCJnYWluQ291bnQiOjkzfSwic2FwQWNjb3VudCI6IjQxOTgxMzAiLCJzZXJ2aWNlQ29kZSI6IkF0ZWNvIiwiaWF0IjoxNzA0MzY2Mzg2LCJleHAiOjE3MDQzNjc4MjZ9.vTVFWupN7dbBZeEnGbYnSHPT0h0IWhInLpubS5Hjjc8' \
--header 'Content-Type: application/json' \
--header 'Cookie: HttpOnly' \
--data '{
    "main": {
        "id": 615467,
        "troubleReason": "TROUBLE_REASON",
        "mainRoId": 615224,
        "newClaimType": "CA",
        "enclosureFileUrl": "cb2bf31fca3f4dbeb6f8863c20d41eb4263a5ea46afae55aae70a8e3da74dd9b2d2410893ffcc1f40ff4465301b4fc882c50ace5b5d6925c737157ebe7c562850a8cf3c3113373eed96b24b55e0759143e1b557fe240b47ab027844749abb931c1b71724a9459a55383c4bc1b64cfff2",
        "correctionDesc": "CORRECTION_DESC",
        "claimRemark": "CLAIM_REMARK",
        "snwCaseId": "4198130-20240326-10",
        "ascRoNo": "ARO123456",
        "vin": "LSFAM11A2KA042990",
        "proposer": "PROPOSER",
        "repairOrderDate": "2024-03-20",
        "roEndDate": "2024-03-21",
        "mileage": "8889",
        "troubleDesc": "TROUBLE_DESC",
        "troubleCode": "01",
        "labourOperationNo": "CM111A2501",
        "labourOperationDesc": "曲轴后油封",
        "labourHours": 2.4,
        "reinforceHours": 0,
        "otherLabourRemark": "OTHER_LABOUR_REMARK"
    },
    "otherCosts": [
        {
            "amount": "70",
            "description": "description",
            "netitem": 1009
        }
    ],
    "newParts": [
        {
            "partCode": "C00103102",
            "partName": "塑料饰盖",
            "quantity": 1
        }
    ],
    "oldParts": [
        {
            "isMainpart": 1,
            "partCode": "C00017045",
            "partName": "万能式驱动手柄",
            "quantity": 0
        },
        {
            "partCode": "C00103102",
            "partName": "塑料饰盖",
            "quantity": 1,
            "isMainpart": 0
        }
    ]
}'

# Response

# Payload

Parameter Type Description
status int 1: Success, 0: Failure
errMsg String Error message
data Object
data.id number Claim id
data.claimStatus number Claim status (20011001 Wait for submission, 20011002 Wait for Maxus review, 20011003 Agreed, 20011004 Rejected, 20011005 Returned)

# Response Code (errCode)

Status Code Description
200 Success
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
500 Unknown Error
503 Dependency System Unavailable

# Claim Status

Status Code Description
20011001 Not reported
20011002 Audit
20011003 Pass
20011004 Refuse
20011005 return

# Example

# OK

{
  "status": 1,
  "errCode": "200",
  "errMsg": "SUCCESS",
  "data": {
    "id": 615183,
    "claimStatus": 20011003
  }
}

# NOT FOUND

{
    "status": 0,
    "errMsg": "NOT FOUND",
    "errCode": "404",
    "data": null
}

# INTERNAL ERROR

{
    "status": 0,
    "errMsg": "DEPENDENCY SYSTEM UNAVAILABLE",
    "errCode": "503",
    "data": null
}
{
    "status": 0,
    "errMsg": "UNKNOWN ERROR",
    "errCode": "500",
    "data": null
}

# GATEWAY ERROR

http status code: 500

# Unit Test

Unit Test (opens new window)