Skip to main content

Repair & Claims Services

Overview

Purpose

End-to-end claims processing and repair service coordination with logistics management and customer communication automation.

Description

The repair and claims system manages the complete service lifecycle from initial claim submission through repair completion and device return. It coordinates with repair facilities, manages logistics, tracks service progress, and maintains customer communication throughout the process. The system integrates with inventory management, payment processing, and customer service platforms.

Claims Processing

  • Automated damage assessment using AI image analysis
  • Repair cost estimation and approval workflows
  • Service provider network management
  • Parts inventory and procurement coordination
  • Quality assurance and warranty management

Logistics Coordination

  • Automated shipping label generation
  • Carrier integration and tracking
  • Repair facility coordination and scheduling
  • Customer communication and status updates
  • Return processing and verification

Business Value

Reduces claims processing time, improves customer satisfaction through transparency, optimizes repair costs, maintains service quality standards, and provides comprehensive analytics for service optimization.


GET /v4.1/repairs/events?limit=50

Purpose

This endpoint retrieves real-time event notifications from the rental/repair management system. It acts as an event stream that partners can poll to stay synchronized with repair order status changes, estimate decisions, and shipping activities.

Endpoint Explanation

This endpoint provides complete repair order visibility by aggregating data from multiple systems including customer service, repair facilities, logistics providers, and inventory management. The system tracks repair progress through various stages, maintains cost estimates and approvals, coordinates with service providers, and provides real-time status updates. Comprehensive data includes device information, damage assessment, repair procedures, parts requirements, and estimated completion times while maintaining audit trails for warranty and insurance purposes.

Events:

  • OrderRepairReleased: new order repair has released for Repair Service
  • EstimateDecisionPublished: in the cost estimate related to the repair, a decision was made to accept it
  • LabelEmitted: shipment package label has been emitted

Query parameters fields definition

PropertyTypeValidationDescription
limitintOptionalNumber of messages downloaded at a time. Default is 50. Max is 500.

Response payload fields definition

PropertyTypeDescription
eventsArray of EventDtoArray of events
events[].idStringA unique identifier for an event. Ensures idempotency.
events[].typeStringUnique name of event.
Possible values: OrderRepairReleased, EstimateDecisionPublished, LabelEmitted
events[].sourceStringOrigin of the event
events[].versionStringThe version of the CloudEvents specification which the event uses. Will be set to "1.0"
events[].content_typeStringContent type of data
events[].created_atString (ISO 8601)Timestamp of when the occurrence happened.
events[].dataObjectDomain specific event data
events[].data.idStringIdentifier of repair order
events[].data.
orders
ArrayOrders list
events[].data.
orders[].id
StringIdentifier of repair order
events[].data.
orders[].
estimates
ArrayEstimates list
events[].data.
orders[].
estimates[].id
StringIdentifier of estimate
{
"events": [
{
"id": "ac5ce44b-1e3c-4797-87eb-5e9f97ac9316",
"type": "OrderRepairReleased",
"source": "bolttech/pl/claims/repair",
"version": "1.0",
"content_type": "application/json",
"created_at": "2026-01-05T17:39:22.4071043+00:00",
"data": {
"id": "TXN-202508060001",
"orders": [
{
"id": "TXN-202508060001",
"estimates": []
}
]
}
},
{
"id": "40c0720c-f19a-479c-9ea2-c7b7e15f771b",
"type": "EstimateDecisionPublished",
"source": "bolttech/pl/claims/repair",
"version": "1.0",
"content_type": "application/json",
"created_at": "2026-01-05T17:39:22.4071521+00:00",
"data": {
"id": "TXN-202508060001",
"orders": [
{
"id": "TXN-202508060001",
"estimates": [
{
"id": "48123456789"
}
]
}
]
}
}
]
}

GET /v4.1/repairs/{order_id}

Purpose

Retrieves comprehensive repair order details including status, timeline, cost estimates, and service provider coordination information.

Endpoint Explanation

This endpoint provides complete repair order visibility by aggregating data from multiple systems including customer service, repair facilities, logistics providers, and inventory management. The system tracks repair progress through various stages, maintains cost estimates and approvals, coordinates with service providers, and provides real-time status updates. Comprehensive data includes device information, damage assessment, repair procedures, parts requirements, and estimated completion times while maintaining audit trails for warranty and insurance purposes.

Response payload fields definition

PropertyTypeDescription
repairObjectMain repair request information
repair.categoryStringService category (e.g., "Tele2 HR ScreenCare")
repair.claim_numberStringClaim number (e.g., "CLM251117-5024")
repair.orderObjectRepair order details
repair.order.descriptionStringProblem description (e.g., "Razbijen zaslon")
repair.order.repairObjectRepair status and dates
repair.order.repair.statusStringCurrent status (e.g., "In transport") (dictionary)
repair.order.repair.sub_statusStringSub-status (e.g., "Repair facility selected") (dictionary)
repair.order.repair.pre_alertString (ISO 8601)Pre-alert date
repair.order.repair.receivedString (ISO 8601)Received date
repair.order.repair.sentString (ISO 8601)Sent date
repair.order.repair.endString (ISO 8601)End date
repair.order.repair.completionString (ISO 8601)Completion date
repair.order.devicesArrayList of devices
repair.order.devices[].infoObjectDevice information
repair.order.devices[].info.typeStringDevice type (e.g., "Smartphone")
repair.order.devices[].info.stateStringDevice state (e.g., "New")
repair.order.devices[].info.deviceObjectDevice details
repair.order.devices[].info.device.brandStringBrand (e.g., "Motorola")
repair.order.devices[].info.device.imeiStringIMEI number
repair.order.devices[].info.device.modelStringModel (e.g., "Moto E7 Plus")
repair.order.devices[].info.device.serial_numberStringSerial number
repair.order.devices[].additional_detailsArrayAdditional device details
repair.order.devices[].additional_details[].keyStringDetail key (e.g., "device_purchase_date", "loan")
repair.order.devices[].additional_details[].valueMixedDetail value (String (ISO 8601) or Boolean)
repair.order.checklistObjectRepair checklist
repair.order.checklist.data_restoreBooleanData restore required
repair.order.checklist.liquid_damage_repairBooleanLiquid damage repair required
repair.order.checklist.refurbished_partsBooleanRefurbished parts allowed
repair.order.checklist.warranty_repairBooleanWarranty repair
repair.order.metricsObjectTime metrics
repair.order.metrics.tat_from_prealertIntegerTurnaround time from pre-alert (days)
repair.order.metrics.estimated_time_arrivalString (ISO 8601)Estimated time of arrival
repair.order.metrics.estimated_time_repairString (ISO 8601)Estimated time of repair
repair.order.limitsObjectCoverage limits
repair.order.limits.extended_warrantyNumberExtended warranty limit
repair.order.limits.mechanical_damageNumberMechanical damage limit
repair.order.accessoriesArrayList of accessories
repair.order.accessories[].keyStringAccessory key
repair.order.accessories[].valueStringAccessory value
repair.order.risksArrayRisk information
repair.order.risks[].keyStringRisk key
repair.order.risks[].valueStringRisk value (e.g., "US")
repair.order.additional_detailsArrayAdditional order details
repair.order.additional_details[].keyStringDetail key (e.g., "device_configuration", "data_backup", "mechanical_damage_repair")
repair.order.additional_details[].valueBooleanDetail value
repair.order.estimatesArrayEstimates/Quotes
repair.order.estimates[].idStringEstimate ID (e.g., "EST-004")
repair.order.estimates[].statusStringEstimate status (e.g., "ACCEPTED", "TOVERIFY", "REJECTED")
repair.order.estimates[].typeStringEstimate type (e.g., "REPAIR", "NEWDEVICE", "SWAP")
repair.order.estimates[].descriptionStringDescription of status when quotation is rejected (dictionary) or authorization code when quotation is accepted.
repair.order.estimates[].issue_dateString (ISO 8601)Issue date
repair.order.estimates[].decision_dateString (ISO 8601)Decision date
repair.order.estimates[].pricesArrayPrice list
repair.order.estimates[].prices[].currencyStringCurrency code (e.g., "PLN")
repair.order.estimates[].prices[].amountNumberPrice amount
repair.order.estimates[].prices[].descriptionStringPrice description (e.g., "Display - Extra payment")
repair.order.estimates[].partsArrayParts list
repair.order.estimates[].parts[].codeStringPart code (e.g., "PRT-001")
repair.order.estimates[].parts[].nameStringPart name (e.g., "Screen")
repair.order.estimates[].parts[].riskStringRisk category (e.g., "US") (dictionary)
repair.order.estimates[].parts[].categoryStringPart category (e.g., "LCD") (dictionary)
repair.order.estimates[].parts[].statusStringPart status (e.g., "ACCEPTED", "REJECTED")
repair.order.estimates[].parts[].price_excluding_taxNumberPrice excluding tax
repair.order.estimates[].parts[].price_including_taxNumberPrice including tax
repair.order.estimates[].parts[].price_taxNumberTax amount
repair.order.estimates[].parts[].discountNumberDiscount amount
repair.order.estimates[].parts[].refurbishedBooleanIs refurbished part
repair.order.estimates[].parts[].commentStringPart comment
repair.order.estimates[].parts[].descriptionStringPart description
repair.order.estimates[].servicesArrayServices list
repair.order.estimates[].services[].codeStringService code (e.g., "SRV-001")
repair.order.estimates[].services[].nameStringService name (e.g., "LABOUR")
repair.order.estimates[].services[].categoryStringService category (e.g., "LABOUR") (dictionary)
repair.order.estimates[].services[].statusStringService status (e.g., "ACCEPTED", "REJECTED")
repair.order.estimates[].services[].price_excluding_taxNumberPrice excluding tax
repair.order.estimates[].services[].price_including_taxNumberPrice including tax
repair.order.estimates[].services[].price_taxNumberTax amount
repair.order.estimates[].services[].discountNumberDiscount amount
repair.order.estimates[].services[].commentStringService comment
repair.order.estimates[].services[].descriptionStringService description
pickupObjectPickup information
pickup.numberStringPickup waybill number
pickup.statusStringPickup courier status (e.g., "InProgress") (dictionary)
pickup.methodStringPickup method
pickup.contactsArrayPickup contacts
pickup.contacts[].company_nameStringCompany name
pickup.contacts[].first_nameStringFirst name
pickup.contacts[].last_nameStringLast name
pickup.contacts[].phone_numberStringPhone number
pickup.contacts[].emailStringEmail address
pickup.contacts[].other_informationArrayOther contact information
pickup.contacts[].other_information[].keyStringInformation key (e.g., "tax_number")
pickup.contacts[].other_information[].valueStringInformation value
pickup.originObjectPickup origin address
pickup.origin.countryStringCountry
pickup.origin.administrative_area_level_2StringRegion/State
pickup.origin.localityStringCity
pickup.origin.postal_codeStringPostal code
pickup.origin.sublocalityStringSuburb/District
pickup.origin.routeStringStreet name
pickup.origin.street_numberStringStreet number
pickup.origin.roomStringRoom/Apartment number
pickup.origin.notesStringAdditional notes
pickup.logsArrayPickup logs
pickup.logs[].keyStringLog key (e.g., "first_attempt_date")
pickup.logs[].valueString (ISO 8601)Log value
returnObjectReturn/Delivery information
return.numberStringReturn waybill number
return.statusStringReturn courier status (e.g., "InProgress") (dictionary)
return.methodStringReturn method
return.contactsArrayReturn contacts
return.contacts[].company_nameStringCompany name
return.contacts[].first_nameStringFirst name
return.contacts[].last_nameStringLast name
return.contacts[].phone_numberStringPhone number
return.contacts[].emailStringEmail address
return.contacts[].other_informationArrayOther contact information
return.contacts[].other_information[].keyStringInformation key (e.g., "tax_number")
return.contacts[].other_information[].valueStringInformation value
return.targetObjectReturn destination address
return.target.countryStringCountry
return.target.administrative_area_level_2StringRegion/State
return.target.localityStringCity
return.target.postal_codeStringPostal code
return.target.sublocalityStringSuburb/District
return.target.routeStringStreet name
return.target.street_numberStringStreet number
return.target.roomStringRoom/Apartment number
return.logsArrayReturn logs
return.logs[].keyStringLog key (e.g., "first_attempt_date", "collection_date")
return.logs[].valueString (ISO 8601)Log value
return.additional_detailsArrayAdditional return details
return.additional_details[].keyStringDetail key (e.g., "cod_amount", "return_direction")
return.additional_details[].valueMixedDetail value (Number or String)
{
"repair": {
"category": "Tele2 HR ScreenCare",
"claim_number": "CLM251117-5024",
"order": {
"description": ". Razbijen zaslon. (test1). . ",
"repair": {
"status": "In transport",
"sub_status": "Repair facility selected",
"pre_alert": "2025-09-12T09:00:00Z",
"received": "2025-09-12T09:00:00Z",
"sent": "2025-09-12T09:00:00Z",
"end": "2025-09-12T09:00:00Z",
"completion": "2025-09-12T09:00:00Z"
},
"devices": [
{
"info": {
"type": "Smartphone",
"state": "New",
"device": {
"brand": "Motorola",
"imei": "",
"model": "Moto E7 Plus",
"serial_number": "333507866011648"
}
},
"additional_details": [
{
"key": "device_purchase_date",
"value": "2025-11-16T23:00:00"
},
{
"key": "loan",
"value": false
}
]
}
],
"checklist": {
"data_restore": false,
"liquid_damage_repair": true,
"refurbished_parts": false,
"warranty_repair": false
},
"metrics": {
"tat_from_prealert": 10,
"estimated_time_arrival": "2025-09-12T09:00:00Z",
"estimated_time_repair": "2025-09-12T09:00:00Z"
},
"limits": {
"extended_warranty": 0,
"mechanical_damage": 0
},
"accessories": [
{
"key": "accessories",
"value": ""
}
],
"risks": [
{
"key": "risk",
"value": "US"
}
],
"additional_details": [
{
"key": "device_configuration",
"value": false
},
{
"key": "data_backup",
"value": false
},
{
"key": "mechanical_damage_repair",
"value": true
}
],
"estimates": [
{
"id": "EST-004",
"status": "ACCEPTED",
"type": "REPAIR",
"description": "ComplaintAccepted",
"issue_date": "2025-09-12T09:00:00Z",
"decision_date": "2025-09-12T09:00:00Z",
"prices": [
{
"currency": "PLN",
"amount": 30.0,
"description": "Display - Extra payment"
}
],
"parts": [
{
"code": "PRT-001",
"name": "Screen",
"risk": "US",
"category": "LCD",
"status": "ACCEPTED",
"price_excluding_tax": 200.0,
"price_including_tax": 240.0,
"price_tax": 40.0,
"discount": 0,
"refurbished": false,
"comment": "Brand new replacement screen",
"description": "Description"
}
],
"services": [
{
"code": "SRV-001",
"name": "LABOUR",
"category": "LABOUR",
"status": "ACCEPTED",
"price_excluding_tax": 200.0,
"price_including_tax": 240.0,
"price_tax": 40.0,
"discount": 0,
"comment": "Labour fee for screen replacement",
"description": "Labour fee for screen replacement"
}
]
}
]
}
},
"pickup": {
"number": "0000014660689T",
"status": "InProgress",
"method": "Method",
"contacts": [
{
"company_name": "",
"first_name": "Test",
"last_name": "User",
"phone_number": "999999999",
"email": "[email protected]",
"other_information": [
{
"key": "tax_number",
"value": "123456789"
}
]
}
],
"origin": {
"country": "Country",
"administrative_area_level_2": "Region",
"locality": "City",
"postal_code": "Postal Code",
"sublocality": "Suburb",
"route": "Street",
"street_number": "123",
"room": "11",
"notes": "Notes"
},
"logs": [
{
"key": "first_attempt_date",
"value": "2025-09-04T14:00:00Z"
}
]
},
"return": {
"number": "0000014660689T",
"status": "InProgress",
"method": "Method",
"contacts": [
{
"company_name": "",
"first_name": "Test",
"last_name": "User",
"phone_number": "999999999",
"email": "[email protected]",
"other_information": [
{
"key": "tax_number",
"value": "123456789"
}
]
}
],
"target": {
"country": "Country",
"administrative_area_level_2": "Region",
"locality": "City",
"postal_code": "Postal Code",
"sublocality": "Suburb",
"route": "Street",
"street_number": "123",
"room": "11"
},
"logs": [
{
"key": "first_attempt_date",
"value": "2025-09-04T14:00:00Z"
},
{
"key": "collection_date",
"value": "2025-09-04T14:00:00Z"
}
],
"additional_details": [
{
"key": "cod_amount",
"value": 300.0
},
{
"key": "return_direction",
"value": "Return Direction"
}
]
}
}

POST /v4.1/repairs/action (update_repair_order)

Purpose

Updates repair order information including status changes, cost adjustments, and completion details with comprehensive workflow coordination.

Endpoint Explanation

The endpoint allows you to send repair-related data from the repair facility. Possible actions to perform:

  • update repair status and related data

  • providing a cost estimate for approval

  • providing information about logistics

  • providing information about payments

Notes: This table documents a repair management API that handles different types of repair-related actions through a single endpoint. Here's what it covers: Core Structure

  • Action-Based System: The API uses an action parameter to determine what type of operation to perform (RepairStatus, Estimate, Payment, Logistic, Files)
  • Conditional Requirements: Many fields are only required when specific actions are triggered according to the next table.

Request payload fields definition

PropertyTypeValidationDescription
configurationObjectMandatoryConfiguration details
configuration.action_idStringMandatory (must be equal to "update_repair_order")ID identifying which action to execute
configuration.market_idStringMandatoryMarket ID alpha-2
configuration.callback_urlStringOptionalCallback URL
payloadObjectMandatoryPayload object
payload.idStringMandatoryOrder Id
payload.claim_numberStringMandatoryClaim number
payload.orderObjectMandatoryOrder details
payload.order.repairObjectMandatory in actions: RepairStatus, EstimateRepair details
payload.order.repair.typeStringMandatory in actions: RepairStatus, EstimateRepair type
payload.order.repair.pre_alertString (ISO 8601)Mandatory in actions: RepairStatusDate of received pre-alert in Repair Facility
payload.order.repair.statusStringMandatory in actions: RepairStatus. Check dictionary for available valuesRepair status from dictionary
payload.order.repair.sub_statusStringMandatory in actions: RepairStatus. Check dictionary for available valuesRepair substatus from dictionary
payload.order.repair.receivedString (ISO 8601)Mandatory in actions: RepairStatusDate of device receiving in Repair Facility
payload.order.repair.sentString (ISO 8601)Mandatory in actions: RepairStatus (only for specific repair status)Date of shipment
payload.order.repair.endString (ISO 8601)Mandatory in actions: RepairStatus (only for specific repair status)Date of repair finish
payload.order.repair.completionString (ISO 8601)Mandatory in actions: RepairStatus (only for specific repair status)Date of completion
payload.order.devicesArrayMandatory in actions: RepairStatus, Estimate for repair type = RECEIVEDList of devices
payload.order.devices[].infoObjectMandatory in actions: RepairStatus, Estimate for type = RECEIVEDDevice information
payload.order.devices[].info.typeStringMandatory in actions: RepairStatus, Estimate for type = RECEIVEDDevice type
payload.order.devices[].info.stateStringMandatory in actions: RepairStatus, Estimate for type = RECEIVEDDevice state code
payload.order.devices[].info.deviceObjectMandatory in actions: RepairStatus, Estimate for type = RECEIVEDDevice details
payload.order.devices[].info.device.brandStringMandatory in actions: RepairStatus, Estimate for type = RECEIVEDDevice brand
payload.order.devices[].info.device.modelStringMandatory in actions: RepairStatus, Estimate for type = RECEIVEDDevice model
payload.order.devices[].info.device.serial_numberStringMandatory in actions: RepairStatus, Estimate for type = RECEIVED (only if imei does not exist)Device Serial Number
payload.order.devices[].info.device.imeiStringMandatory in actions: RepairStatus, Estimate for type = RECEIVED (only if serial_number does not exist)Device IMEI
payload.order.devices[].additional_detailsArrayOptionalAdditional device details
payload.order.devices[].additional_details[].keyStringAvailable values: device_purchase_dateDetail key
payload.order.devices[].additional_details[].valueStringDetail value
payload.order.metricsObjectMandatory in actions: RepairStatusMetrics object
payload.order.metrics.estimated_time_arrivalString (ISO 8601)Mandatory in actions: RepairStatusEstimated Time of Arrival
payload.order.metrics.estimated_time_repairString (ISO 8601)Mandatory in actions: RepairStatusEstimated Time of Repair
payload.order.quotationObjectMandatory in actions: RepairStatusQuotation object
payload.order.quotation.statusStringMandatory in actions: RepairStatus.
Available values: Accepted, Rejected
Quotation status
payload.order.estimatesArrayMandatory in actions: EstimateList of estimates
payload.order.estimates[].idStringMandatory in actions: EstimateEstimate Identifier
payload.order.estimates[].typeStringOptional.
Available values: REPAIR, NEWDEVICE, SWAP.
Default Value: REPAIR
Type of estimate
payload.order.estimates[].pricesArrayMandatory in actions: EstimatePrice list
payload.order.estimates[].prices[].currencyStringMandatory in actions: EstimateCurrency
payload.order.estimates[].partsArrayMandatory in actions: EstimateParts list
payload.order.estimates[].parts[].codeStringMandatory in actions: EstimateCode of part
payload.order.estimates[].parts[].nameStringMandatory in actions: EstimateName of part
payload.order.estimates[].parts[].riskStringMandatory in actions: Estimate. Check dictionary for available valuesRisk type of part
payload.order.estimates[].parts[].categoryStringMandatory in actions: Estimate. Check dictionary for available valuesCategory code of part
payload.order.estimates[].parts[].price_excluding_taxNumberMandatory in actions: EstimateNet cost of the part
payload.order.estimates[].parts[].price_including_taxNumberMandatory in actions: EstimateGross cost of the part
payload.order.estimates[].parts[].price_taxNumberMandatory in actions: EstimateTax cost of the part
payload.order.estimates[].parts[].discountNumberMandatory in actions: EstimateDiscount cost of the part
payload.order.estimates[].parts[].refurbishedBooleanOptional. Default value: falseUsed refurbished parts
payload.order.estimates[].parts[].commentStringOptionalComments of part
payload.order.estimates[].servicesArrayMandatory in actions: EstimateServices list
payload.order.estimates[].services[].codeStringMandatory in actions: EstimateCode of the service
payload.order.estimates[].services[].nameStringMandatory in actions: EstimateName of the service
payload.order.estimates[].services[].categoryStringMandatory in actions: Estimate. Check dictionary for available valuesCategory type of the service
payload.order.estimates[].services[].price_excluding_taxNumberMandatory in actions: EstimateNet cost of the service
payload.order.estimates[].services[].price_including_taxNumberMandatory in actions: EstimateGross cost of the service
payload.order.estimates[].services[].price_taxNumberMandatory in actions: EstimateTax cost of the service
payload.order.estimates[].services[].discountNumberMandatory in actions: EstimateDiscount cost of the service
payload.order.estimates[].services[].commentStringOptionalComments of service
payload.pickupObjectOptionalPickup details
payload.pickup.numberStringMandatory in actions: LogisticWaybill number
payload.pickup.statusStringMandatory in actions: Logistic. Check dictionary for available valuesParcel status
payload.pickup.logsArrayMandatory in actions: LogisticDate logs of specific events
payload.pickup.logs[].keyStringMandatory in actions: LogisticKey of date log
payload.pickup.logs[].valueString (ISO 8601)Mandatory in actions: LogisticValue of date log
payload.returnObjectMandatory in actions: LogisticReturn details
payload.return.numberStringMandatory in actions: LogisticWaybill number
payload.return.statusStringMandatory in actions: Logistic. Check dictionary for available valuesParcel status
payload.return.logsArrayMandatory in actions: LogisticDate logs of specific events
payload.return.logs[].keyStringMandatory in actions: Logistic.
Available values: first_attempt_date, collection_date (collection_date only mandatory when status = Delivered)
Key of date log
payload.return.logs[].valueString (ISO 8601)Mandatory in actions: LogisticValue of date log
payload.paymentsArrayMandatory in actions: Payment (at least 1 item)Payment details
payload.payments[].grossNumberMandatory in actions: PaymentGross amount
payload.payments[].additional_detailsArrayOptionalAdditional payment details
payload.payments[].additional_details[].keyStringOptional.
Available values: invoice_number, invoice_issue_date, additional_info
Detail key
payload.payments[].additional_details[].valueStringOptionalDetail value
payload.additional_detailsArrayMandatoryAdditional payload details
payload.additional_details[].keyStringMandatory.
Available values: actions
Detail key
payload.additional_details[].valueArray of StringsMandatory.
Available values: RepairStatus, Estimate, Logistic, Payment
Detail value

Update repair status and related data

{
"configuration": {
"action_id": "update_repair_order",
"market_id": "string",
"callback_url": "http://callback.url"
},
"payload": {
"id": "OPT-000000000017150",
"claim_number": "CLM250903-5001",
"order": {
"repair": {
"type": "RECEIVED",
"pre_alert": "2025-09-03T09:00:00Z",
"status": "Repairing",
"sub_status": "Repairing",
"received": "2025-08-29T09:00:00Z",
"sent": "2025-08-29T09:00:00Z",
"end": "2025-08-29T09:00:00Z",
"completion": "2025-08-29T09:00:00Z"
},
"devices": [
{
"info": {
"type": "Smartphone",
"state": "NEW",
"device": {
"brand": "Motorola",
"model": "Moto E7 Plus",
"serial_number": "982445809792269"
}
},
"additional_details": [
{
"key": "device_purchase_date",
"value": "2025-09-12T09:00:00Z"
}
]
}
],
"metrics": {
"estimated_time_arrival": "2025-09-12T09:00:00Z",
"estimated_time_repair": "2025-09-12T09:00:00Z"
},
"quotation": {
"status": "Accepted"
},
"additional_details": [
{
"key": "refurbished_parts",
"value": false
}
]
},
"additional_details": [
{
"key": "actions",
"value": ["RepairStatus"]
}
]
}
}

POST /v4.1/repairs/action (add_files_to_repair_order)

Purpose

This endpoint allows partners to add multiple repair files to a specific order.

Endpoint Explanation

Upload multiples files relative to a repair. Max 10Mb.

Request payload fields definition

PropertyTypeValidationDescription
configurationObjectMandatoryConfiguration details
configuration.action_idStringMandatory (must be equal to "add_files_to_repair_order")ID identifying which action to execute
configuration.market_idStringMandatoryMarket ID alpha-2
configuration.callback_urlStringOptionalCallback URL
payloadObjectMandatoryThe version of the CloudEvents specification which the event uses. Will be set to "1.0"
payload.idStringMandatoryContent type of data
payload.documentsArrayMandatory (at least 1)Timestamp of when the occurrence happened.
payload.documents[].
name
StringMandatoryDomain specific event data
payload.documents[].
description
StringMandatoryIdentifier of repair order
payload.documents[].
content
StringMandatoryOrders list
payload.documents[].
content_type
StringMandatoryIdentifier of repair order
payload.documents[].
size
NumberMandatoryEstimates list
payload.documents[].
additional_details
ArrayOptionalIdentifier of estimate
payload.documents[].
additional_details[].key
StringMandatory when item exists
Available values: category
Identifier of estimate
payload.documents[].
additional_details[].value
StringMandatory when item existsIdentifier of estimate
{
"configuration": {
"action_id": "add_files_to_repair_order",
"market_id": "ES",
"callback_url": "http://callback.url"
},
"payload": {
"id": "OPT-000000000017150",
"documents": [
{
"name": "repair_photo_before.jpg",
"description": "Device condition before repair",
"content": "/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/wAALCAABAAEBAREA/8QAFAABAAAAAAAAAAAAAAAAAAAACf/EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEAAD8AKp//2Q==",
"content_type": "image/jpeg",
"size": 2456832,
"additional_details": [
{
"key": "category",
"value": "inspection"
}
]
},
{
"name": "repair_photo_after.jpg",
"description": "Device condition after repair",
"content": "/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/wAALCAABAAEBAREA/8QAFAABAAAAAAAAAAAAAAAAAAAACf/EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEAAD8AKp//2Q==",
"content_type": "image/jpeg",
"size": 1987654,
"additional_details": [
{
"key": "category",
"value": "inspection"
}
]
}
]
}
}

GET /v4.1/repairs/{order_id}/label

Purpose

Generates shipping labels for repair logistics with comprehensive tracking and carrier integration capabilities.

Endpoint Explanation

This endpoint creates shipping labels for repair order logistics by integrating with multiple carriers, generating proper documentation, and providing tracking capabilities.
The system handles various shipping scenarios including device pickup, repair facility delivery, and customer return shipments while maintaining cost optimization, delivery tracking, and customer communication.
Generated labels include all necessary shipping information, insurance details, and tracking mechanisms for complete logistics coordination.

Path parameters fields definition

PropertyTypeDescription
order_idStringOrder identifier

Response payload fields definition

PropertyTypeDescription
typeStringType of content
base64StringStringBase64 file content
{
"type": "application/pdf",
"base64String": "VGhpcyBpcyBhIHRlc3Qgc3RyaW5nLg=="
}

Dictionaries

Dictionary for Repair Status and Substatus

RepairStatusRepairSubstatusDescription
OrderedPrealertReceivedOrder received
RepairCancelledRepairCancelledRepair is cancelled by DC (before the device delivered to Repair Facility)
DeliveredToRepairFacilityParcel with device already delivered to repair facility
WrongIMEIDelivered device IMEI doesn't match with IMEI from the order
WrongAdditionalSNDelivered device Additional SN doesn't match with Additional SN from the order
LackOfDeviceInParcelParcel doesn't contain device
SubmittedToCostEstimatorDevice expertise is in progress
RepairingWaitingForUnlockingDevice is locked (FMI etc) and it's needed to be unlocked by Customer
WaitingForPartsParts temporary unavailable, waiting for supply
UnavailablePartPermanently unavailable part
DeadOnArrivalDevice not repairable
QuestionToRepairFacilityQuestion to repair facility from DC submitted
AnswerToRepairFacilityAnswer from repair facility to DC submitted
WaitingForAcceptanceWaiting for acceptance of quotation
RepairingRepairing in progress
RepairDeclinedRepair rejected by DC
RepairRejectedSentToCustomerRepair rejected device is sent to customer
SentToDCRepair rejected device is sent to DC
RepairedDevice is repaired on behalf of manufacturer warranty
WarrantySentToCustomerDevice is repaired on behalf of manufacturer warranty and sent to Customer
NewDeviceDevice is replaced on behalf of manufacturer warranty
SentToDCDevice is repaired on behalf of manufacturer warranty and sent to DC
RepairedDevice is repaired
RepairFinishedSentToCustomerDevice is repaired and sent to customer
SentToDCDevice is repaired and sent to DC
NewDeviceDevice is replaced
NewDeviceSentToCustomerDevice is replaced and sent do Customer
SentToDCDevice is replaced and sent to DC

Dictionary for Risk

RiskDescription
USDamage
ZALFlooding
ANGRepair under warranty
APGRepair after warranty
ASSAssistance
AKAccessory
OTHEROther

Dictionary for Parts

partCategoryCodeCategory description
LCDScreen (LCD)
LCDMANDATORYParts required for LCD replacement
COVERCover
BUTTONSButtons
CAMERACamera
CAMERAFRONTFront Camera
CAMERABACKBack Camera
PCBMainboard
PCBMANDATORYRequired for mainboard replacement
MANDATORYParts required for assembly (battery, charging socket, back cover)
BATTERYBattery
SWAPNew device offer
APPLESWAPNew Apple device offer
OTHEROther
SIMREADERSIM reader
USBUSB socket
SPEAKERSpeaker
MICMicrophone
ACCAccessories
CONNECTORConnector
VIBRAVibrations
ANTENNAAntenna
FINGERPRINTFingerprint
RECEIVERReceiver
SENSORSensor
SUBBOARDSubboard
APPLEREARSYSTEMBack cover from Apple

Dictionary for Services

serviceCategoryCategory description
LABOURLabour
EXPERTISEExpertise
ADDITIONALAdditional services
LOGISTICLogistics
SOFTWAREUPDATESoftware update
NFFNo fault found

Dictionary for estimate status description (only view in GET Claim Repair Order)

ValueDescription
ClientsRejectionDecisionCustomer's decision - rejection
NoProtectionNo protection
ComplaintAcceptedAssumption of warranty liability
ClientsResignationCustomer's resignation
ReplacementNoPartsReplacement - spare parts shortage
ForwardedToClaimHandlerReferred to claims handler
ReturnedToRepairFacilityCost estimate returned to repairer
ComplaintDecision - complaint
RepairFacilityExplanationRepairer's explanation
PaymentReceivedPayment received
NewVersionNew version
ComplaintUnfoundedComplaint is unfounded
DamageOutOfScopeDamage out of scope
LimitExceededLimit exceeded
ChangingRepairFacilityChange Repair Facility
Benefit paymentWithdrawal
ComplaintUnfoundedNoFaultComplaint is unfounded - no fault
ComplaintUnfoundedNewDamageComplaint is unfounded - new damage

Shipment status

StatusDescription
OrderedOrder to pick up the device was sent to Courier company (from Customer or from Repair Facility)
UnrealizedOrderOrder Cancelled by DC, Repair Facility, Courier Company
ShipmentUnrealisedPick up not successful
InProgressCourier picked up the device and is on the way (to Customer or Repair Facility)
ShipmentUndeliveredCourier picked up the device but Customer was not present
DeliveredDelivered to Customer or Repair Facility