QUOTES

Creare Cotație

Endpoint-uri pentru solicitarea și compararea cotațiilor de la diferiți curieri.

# POST /quotes

Solicită cotații de la toți curierii disponibili pentru o expediere.

POST/quotes

Request Body:

{
  <span className="text-blue-400">"pickup"</span>: {
    <span className="text-blue-400">"address"</span>: <span className="text-yellow-400">"Str. Principală 123, București, Sector 1"</span>,
    <span className="text-blue-400">"postal_code"</span>: <span className="text-yellow-400">"010101"</span>,
    <span className="text-blue-400">"city"</span>: <span className="text-yellow-400">"București"</span>,
    <span className="text-blue-400">"county"</span>: <span className="text-yellow-400">"București"</span>
  },
  <span className="text-blue-400">"delivery"</span>: {
    <span className="text-blue-400">"address"</span>: <span className="text-yellow-400">"Str. Libertății 456, Cluj-Napoca"</span>,
    <span className="text-blue-400">"postal_code"</span>: <span className="text-yellow-400">"400123"</span>,
    <span className="text-blue-400">"city"</span>: <span className="text-yellow-400">"Cluj-Napoca"</span>,
    <span className="text-blue-400">"county"</span>: <span className="text-yellow-400">"Cluj"</span>
  },
  <span className="text-blue-400">"package"</span>: {
    <span className="text-blue-400">"weight"</span>: <span className="text-purple-400">2.5</span>,
    <span className="text-blue-400">"length"</span>: <span className="text-purple-400">30</span>,
    <span className="text-blue-400">"width"</span>: <span className="text-purple-400">20</span>,
    <span className="text-blue-400">"height"</span>: <span className="text-purple-400">15</span>
  },
  <span className="text-blue-400">"services"</span>: [<span className="text-yellow-400">"standard"</span>, <span className="text-yellow-400">"express"</span>],
  <span className="text-blue-400">"cod_amount"</span>: <span className="text-purple-400">150.00</span>
}

Response:

{
  <span className="text-blue-400">"quote_id"</span>: <span className="text-yellow-400">"quote_987654321"</span>,
  <span className="text-blue-400">"expires_at"</span>: <span className="text-yellow-400">"2024-01-15T15:30:00Z"</span>,
  <span className="text-blue-400">"quotes"</span>: [
    {
      <span className="text-blue-400">"courier_id"</span>: <span className="text-yellow-400">"fan_courier"</span>,
      <span className="text-blue-400">"courier_name"</span>: <span className="text-yellow-400">"FAN Courier"</span>,
      <span className="text-blue-400">"service_type"</span>: <span className="text-yellow-400">"standard"</span>,
      <span className="text-blue-400">"price"</span>: <span className="text-purple-400">18.50</span>,
      <span className="text-blue-400">"currency"</span>: <span className="text-yellow-400">"RON"</span>,
      <span className="text-blue-400">"delivery_time"</span>: <span className="text-yellow-400">"1-2 zile lucrătoare"</span>,
      <span className="text-blue-400">"pickup_time"</span>: <span className="text-yellow-400">"în aceeași zi"</span>
    },
    {
      <span className="text-blue-400">"courier_id"</span>: <span className="text-yellow-400">"cargus"</span>,
      <span className="text-blue-400">"courier_name"</span>: <span className="text-yellow-400">"Urgent Cargus"</span>,
      <span className="text-blue-400">"service_type"</span>: <span className="text-yellow-400">"express"</span>,
      <span className="text-blue-400">"price"</span>: <span className="text-purple-400">22.00</span>,
      <span className="text-blue-400">"currency"</span>: <span className="text-yellow-400">"RON"</span>,
      <span className="text-blue-400">"delivery_time"</span>: <span className="text-yellow-400">"24 ore"</span>,
      <span className="text-blue-400">"pickup_time"</span>: <span className="text-yellow-400">"în 2-4 ore"</span>
    }
  ]
}

# GET /quotes/{quote_id}

Obține detaliile unei cotații existente folosind ID-ul cotației.

GET/quotes/{quote_id}

Parameters:

quote_id - ID-ul cotației returnat la crearea cotației

Response:

{
  <span className="text-blue-400">"quote_id"</span>: <span className="text-yellow-400">"quote_987654321"</span>,
  <span className="text-blue-400">"status"</span>: <span className="text-yellow-400">"active"</span>,
  <span className="text-blue-400">"expires_at"</span>: <span className="text-yellow-400">"2024-01-15T15:30:00Z"</span>,
  <span className="text-blue-400">"created_at"</span>: <span className="text-yellow-400">"2024-01-15T14:30:00Z"</span>,
  <span className="text-blue-400">"quotes"</span>: [
    {
      <span className="text-blue-400">"courier_id"</span>: <span className="text-yellow-400">"fan_courier"</span>,
      <span className="text-blue-400">"price"</span>: <span className="text-purple-400">18.50</span>,
      <span className="text-blue-400">"available"</span>: <span className="text-green-400">true</span>
    }
  ]
}

💡 Sfaturi pentru cotații

  • • Cotațiile sunt valabile pentru 60 de minute
  • • Prețurile pot varia în funcție de dimensiunile și greutatea coletului
  • • Serviciile COD (ramburs) pot avea taxe suplimentare
  • • Verifică disponibilitatea curierului înainte de a crea expedirea