> ## Documentation Index
> Fetch the complete documentation index at: https://docs.papslogistics.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Calculer un tarif

> Calcule le tarif estimé d'une livraison selon l'origine, la destination et les caractéristiques du colis.




## OpenAPI

````yaml POST /marketplace
openapi: 3.0.0
info:
  title: Paps API
  version: 2.0.1
  description: >
    API de Paps pour les intégrateurs et partenaires : calcul de tarifs,
    création de missions de livraison, suivi des commandes, webhooks et
    bordereaux de transport.
  contact:
    name: Paps Support
    url: https://papslogistics.com/qui-sommes-nous/
    email: souaibou@paps-app.com
servers:
  - url: https://api.papslogistics.com
    description: Sandbox
  - url: https://paps-api.papslogistics.com
    description: Production
security: []
tags:
  - name: Auth
    description: Authentification (méthode historique, dépréciée)
  - name: Marketplace
    description: Calcul de tarifs et de formats de colis
  - name: Transport Requests
    description: Demandes de transport national
  - name: Tasks
    description: Création et suivi de missions
  - name: Orders
    description: Consultation et reprogrammation de commandes
  - name: Webhooks
    description: Notifications d'événements
  - name: Waybills
    description: Génération de bordereaux
paths:
  /marketplace:
    post:
      tags:
        - Marketplace
      summary: Calculer le tarif d'une livraison
      description: >
        Calcule le tarif estimé d'une livraison selon l'origine, la destination
        et les caractéristiques du colis.
      operationId: MarketplaceController_getRate
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RateDTO'
      responses:
        '200':
          description: Tarif calculé
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ResponseDto'
                  - type: object
                    properties:
                      data:
                        $ref: '#/components/schemas/GetRateResponseDTO'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    RateDTO:
      type: object
      required:
        - destination
        - origin
        - weight
      properties:
        destination:
          type: string
          example: Dakar, plateau
          description: Adresse de livraison
        origin:
          type: string
          example: Cité Keur Gorgui
          description: Adresse de collecte
        weight:
          type: number
          example: 2
          description: Poids du colis, en kilogrammes
        height:
          type: number
          example: 2
          description: Hauteur du colis, en centimètres
        length:
          type: number
          example: 2
          description: Longueur du colis, en centimètres
        width:
          type: number
          example: 2
          description: Largeur du colis, en centimètres
        deliveryType:
          $ref: '#/components/schemas/DeliveryType'
        activationESIM:
          type: boolean
          default: false
          description: Frais d'activation e-SIM
    ResponseDto:
      type: object
      required:
        - code
        - message
        - error
      properties:
        code:
          type: number
          example: 200
          description: Code de statut de la réponse
        message:
          type: string
          example: Success
          description: Message associé à la réponse
        error:
          type: string
          nullable: true
          description: >
            `null` en cas de succès. En cas d'erreur métier (codes `400` et
            `500`), contient un message ou un nom d'exception sous forme de
            chaîne libre.
    GetRateResponseDTO:
      type: object
      required:
        - distance
        - price
        - packageSize
        - size
      properties:
        distance:
          type: number
          example: 3435
          description: Distance calculée entre origine et destination, en mètres
        price:
          type: number
          example: 12000
          description: Tarif calculé, en FCFA
        packageSize:
          type: string
          example: XL
          description: Format de colis déterminé (voir Formats de colis)
        size:
          type: number
          example: 20
          description: >
            Seuil numérique (en kg) de la tranche de tarification ayant servi à
            déterminer `packageSize`. Ce n'est pas le poids du colis envoyé dans
            la requête.
    DeliveryType:
      type: string
      description: Type de livraison
      enum:
        - STANDARD
        - RELAY_POINT
      default: STANDARD
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: Clé API du client, disponible dans son espace personnel Paps.

````