Class: TqlOtrFactoringDataExchange::AssignmentsApi
- Defined in:
- lib/tql_otr_factoring_data_exchange/apis/assignments_api.rb
Overview
AssignmentsApi
Constant Summary
Constants inherited from BaseApi
Instance Attribute Summary
Attributes inherited from BaseApi
Instance Method Summary collapse
-
#upsert_assignment(body) ⇒ ApiResponse
Notify TQL that a factoring company has been assigned to — or unassigned from — a carrier.
Methods inherited from BaseApi
#initialize, #new_parameter, #new_request_builder, #new_response_handler, user_agent, user_agent_parameters
Constructor Details
This class inherits a constructor from TqlOtrFactoringDataExchange::BaseApi
Instance Method Details
#upsert_assignment(body) ⇒ ApiResponse
Notify TQL that a factoring company has been assigned to — or unassigned from — a carrier. The request is idempotent; sending the same carrier + status combination again is a no-op. The ‘effectiveDate` field indicates the date the assignment or un-assignment took effect (i.e., the “as of” date). **Load event webhooks:** Assigning a carrier also serves as a subscription to load event webhooks for that carrier. Once a carrier is assigned, TQL will begin pushing webhook notifications (e.g., Load Created, Load Dispatched, Load Delivered) for loads where that carrier is the assigned carrier. Unassigning the carrier stops these notifications. The webhook endpoint URL is configured during partner onboarding. payload including carrier identity, assignment status, and effective date.
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/tql_otr_factoring_data_exchange/apis/assignments_api.rb', line 24 def upsert_assignment(body) @api_call .request(new_request_builder(HttpMethodEnum::PUT, '/api/assignments', Server::DEFAULT) .header_param(new_parameter('application/json', key: 'Content-Type')) .body_param(new_parameter(body) .is_required(true)) .header_param(new_parameter('application/json', key: 'accept')) .body_serializer(proc do |param| param.to_json unless param.nil? end) .auth(Single.new('bearerAuth'))) .response(new_response_handler .deserializer(APIHelper.method(:custom_type_deserializer)) .deserialize_into(AssignmentResponse.method(:from_hash)) .is_api_response(true) .local_error('400', "Validation error — missing required fields or invalid data.\n", ProblemDetailsErrorException)) .execute end |