https://dev.app.pol-crm.com/api/templates

PlaceholderAction

Request

GET Parameters

No GET parameters

POST Parameters

No POST parameters

Uploaded Files

No files were uploaded

Request Attributes

Key Value
_api_collection_operation_name
"get"
_api_normalization_context
[
  "groups" => [
    "template:list"
  ]
  "operation_type" => "collection"
  "collection_operation_name" => "get"
  "resource_class" => "App\Model\Template\Template"
  "input" => null
  "output" => null
  "request_uri" => "/api/templates"
  "uri" => "https://dev.app.pol-crm.com/api/templates"
  "resources" => ApiPlatform\Core\Serializer\ResourceList {#2071
    storage: []
    flag::STD_PROP_LIST: false
    flag::ARRAY_AS_PROPS: false
    iteratorClass: "ArrayIterator"
  }
  "exclude_from_cache_key" => [
    "resources"
    "resources_to_push"
  ]
  "resources_to_push" => ApiPlatform\Core\Serializer\ResourceList {#2065
    storage: []
    flag::STD_PROP_LIST: false
    flag::ARRAY_AS_PROPS: false
    iteratorClass: "ArrayIterator"
  }
]
_api_resource_class
"App\Model\Template\Template"
_controller
"api_platform.action.get_collection"
_firewall_context
"security.firewall.map.context.api"
_format
null
_links
Fig\Link\GenericLinkProvider {#4647
  -links: [
    "000000004893bdc20000000003dfdb38" => Fig\Link\Link {#4659
      -href: "https://dev.app.pol-crm.com/api/docs.jsonld"
      -rel: [
        "http://www.w3.org/ns/hydra/core#apiDocumentation" => true
      ]
      -attributes: []
    }
  ]
}
_resources
[]
_route
"api_templates_get_collection"
_route_params
[
  "_format" => null
  "_api_resource_class" => "App\Model\Template\Template"
  "_api_collection_operation_name" => "get"
]
_stopwatch_token
"e1b1db"
data
[
  App\Model\Template\Template {#204
    -id: "0246345ae9e34e0e9bc2bfb20a6e7376"
    -customerId: "e8919dbc01f34f79ab22b9c434f114eb"
    -name: "Modèle de devis"
    -content: """
      {% set quoteAddress = '' %}\n
      {% set quoteCity = '' %}\n
      {% set quotePostalCode = '' %}\n
      {% set quoteBuildingName = '' %}\n
      {% set quoteOfferType = '' %}\n
      {% set quoteMissionType = '' %}\n
      {% set quoteAgency = '' %}\n
      {% set quoteEntity = '' %}\n
      \n
      {% for specificField in quote.specificFields|default([]) %}\n
          {% if specificField.fieldName == "Adresse" %}\n
              {% set quoteAddress = specificField.value|default('') %}\n
          {% endif %}\n
          {% if specificField.fieldName == "Ville" %}\n
              {% set quoteCity = specificField.value|default('') %}\n
          {% endif %}\n
          {% if specificField.fieldName == "Code postal" %}\n
              {% set quotePostalCode = specificField.value|default('') %}\n
          {% endif %}\n
          {% if specificField.fieldName == "Nom du bâtiment" %}\n
              {% set quoteBuildingName = specificField.value|default('') %}\n
          {% endif %}\n
          {% if specificField.fieldName == "Type d'offre" %}\n
              {% set quoteOfferType = specificField.value|default('') %}\n
          {% endif %}\n
          {% if specificField.fieldName == "Type de mission" %}\n
              {% set quoteMissionType = specificField.value|default('') %}\n
          {% endif %}\n
          {% if specificField.fieldName == "Agence" %}\n
              {% set quoteAgency = specificField.value|default('') %}\n
          {% endif %}\n
          {% if specificField.fieldName == "Entite" %}\n
              {% set quoteEntity = specificField.value|default('') %}\n
          {% endif %}\n
      {% endfor %}\n
      \n
      {% set agencyCity = '' %}\n
      \n
      {% if quoteAgency|upper == "AGA" %}\n
          {% set agencyCity = "Annecy" %}\n
      {% elseif quoteAgency|upper == "AGG" or quoteAgency|upper == "RVI" %}\n
          {% set agencyCity = "Grenoble" %}\n
      {% elseif quoteAgency|upper == "AGC" or quoteAgency|upper == "AGB" %}\n
          {% set agencyCity = "Chambéry" %}\n
      {% elseif quoteAgency|upper == "AGV" %}\n
          {% set agencyCity = "Vienne" %}\n
      {% elseif quoteAgency|upper == "AGL" %}\n
          {% set agencyCity = "Villeurbanne" %}\n
      {% elseif quoteAgency|upper == "AGS" %}\n
          {% set agencyCity = "Sallanches" %}\n
      {% endif %}\n
      \n
      {% set logoImg = gedImageByPath('CHARTE GRAPHIQUE/' ~ quoteAgency ~ '/' ~ quoteEntity ~ '/logo.png') %}\n
      {% set footerImg = gedImageByPath('CHARTE GRAPHIQUE/' ~ quoteAgency ~ '/' ~ quoteEntity ~ '/footer.png') %}\n
      \n
      <!DOCTYPE html>\n
      <html>\n
      <head>\n
          <meta charset="UTF-8">\n
      </head>\n
      <body>\n
      {# All styles must be in CSS2 #}\n
      <style>\n
          @page {\n
              margin: 5cm 1cm 2.5cm 1cm;\n
          }\n
      \n
          html {\n
              font-size: 14px;\n
              font-family: Arial, sans-serif;\n
              color: #545454;\n
          }\n
      \n
          p {\n
              line-height: 1.3;\n
              margin: unset;\n
          }\n
      \n
          h1,\n
          h2,\n
          h3 {\n
              text-align: center;\n
              background: #0f243e;\n
              padding: 0.5rem;\n
              color: #fff;\n
          }\n
      \n
          h1 {\n
              font-size: 1.4rem;\n
          }\n
      \n
          h2 {\n
              font-size: 1.1rem;\n
          }\n
      \n
          h3 {\n
              padding-top: 0.3rem;\n
              padding-bottom: 0.3rem;\n
              font-size: 0.9rem;\n
          }\n
      \n
          .break-before {\n
              page-break-before: always;\n
          }\n
      \n
          .break-after {\n
              page-break-after: always;\n
          }\n
      \n
          .underline {\n
              text-decoration: underline;\n
          }\n
      \n
          .pdf-template__header {\n
              position: fixed;\n
              z-index: -2;\n
              top: -4cm;\n
              left: 0;\n
              right: 0;\n
              height: 4cm;\n
          }\n
      \n
          .pdf-template__header > div {\n
              display: inline-block;\n
              vertical-align: middle;\n
          }\n
      \n
          .pdf-template__header > div:first-child {\n
              width: 35%;\n
          }\n
      \n
          .pdf-template__header > div:last-child {\n
              width: 64%;\n
              text-align: right;\n
              font-size: 0.8rem;\n
          }\n
      \n
          .pdf-template__header img {\n
              height: 100%;\n
              object-fit: contain;\n
          }\n
      \n
          .pdf-template__footer {\n
              position: fixed;\n
              left: -1cm;\n
              right: -1cm;\n
              bottom: -2.5cm;\n
              height: 2.5cm;\n
          }\n
      \n
          .pdf-template__footer img {\n
              max-height: 2.5cm;\n
              width: 100%;\n
              object-fit: contain;\n
          }\n
      \n
          .pdf-template__footer .page__number {\n
              position: absolute;\n
              z-index: 1;\n
              right: 0.5rem;\n
              bottom: 0.5rem;\n
              font-size: 0.7rem;\n
          }\n
      \n
          .pdf-template__footer .page__number:after {\n
              content: counter(page, decimal);\n
          }\n
      \n
          .pdf-template__body {\n
              margin-top: 3.5cm;\n
          }\n
      \n
          .block-header-first-page {\n
              position: absolute;\n
              top: -5cm;\n
              padding-top: 1cm;\n
              left: 0;\n
              right: 0;\n
              background: #fff;\n
          }\n
      \n
          .block-header-first-page:after {\n
              content: "";\n
              display: table;\n
              clear: both;\n
          }\n
      \n
          .block-logo-first-page img {\n
              height: 5cm;\n
              max-width: 8cm;\n
              object-fit: contain;\n
          }\n
      \n
          .block-header-first-page .block-logo-first-page,\n
          .block-header-first-page .block-sender {\n
              float: left;\n
              width: 50%;\n
          }\n
      \n
          .block-header-first-page .block-sender {\n
              margin-top: 3.5cm;\n
              font-weight: bold;\n
          }\n
      \n
          .block-header-first-page .block-sender p {\n
              line-height: 1.2;\n
          }\n
      \n
          .block-city-date {\n
              display: inline-block;\n
              margin-left: 50%;\n
              margin-bottom: 2rem;\n
          }\n
      \n
          .block-receiver {\n
              margin-bottom: 3rem;\n
          }\n
      \n
          .block-receiver p {\n
              line-height: 1.1;\n
          }\n
      \n
          .block-description p {\n
              line-height: 3;\n
          }\n
      \n
          .block-signature {\n
              margin-top: 2rem;\n
              margin-left: 60%;\n
              font-size: 0.85rem;\n
          }\n
      \n
          .block-table {\n
              margin-top: 3rem;\n
              margin-bottom: 3rem;\n
          }\n
      \n
          .block-table table {\n
              width: 100%;\n
              border-collapse: collapse;\n
              page-break-inside: avoid;\n
          }\n
      \n
          .table__price {\n
              text-align: right;\n
          }\n
      \n
          .block-table table th,\n
          .block-table table td {\n
              border: 1px solid #545454;\n
              padding: 0.25rem 0.4rem;\n
              page-break-inside: auto;\n
          }\n
      \n
          .block-table table th {\n
              font-weight: normal;\n
              white-space: nowrap;\n
          }\n
      \n
          .block-table table th:first-child {\n
              border-top: none;\n
              border-left: none;\n
          }\n
      \n
          .block-table table th:last-child {\n
              background: #ececec;\n
              color: #545454;\n
              width: 25%;\n
          }\n
      \n
          .block-table table td {\n
              text-align: right;\n
              font-size: 0.9rem;\n
          }\n
      \n
          .block-table table td:first-child {\n
              text-align: left;\n
          }\n
      \n
          .block-table-full {\n
              margin-top: 2rem;\n
              margin-bottom: 2rem;\n
          }\n
      \n
          .block-table-full table {\n
              page-break-inside: avoid;\n
              width: 100%;\n
              border-collapse: collapse;\n
          }\n
      \n
          .block-table-full table th,\n
          .block-table-full table td {\n
              border: 1px solid #545454;\n
              padding: 0.25rem 0.4rem;\n
          }\n
      \n
          .block-table-full table td {\n
              text-align: right;\n
          }\n
      \n
          .block-table-full table td:first-child {\n
              text-align: left;\n
          }\n
      \n
          .block-table-full table tfoot td:first-child {\n
              text-align: right;\n
              padding: unset;\n
          }\n
      \n
          .block-table-full table tfoot td:first-child > span {\n
              background: #d9d9d9;\n
              padding: 0.25rem 0.4rem;\n
          }\n
      \n
          .block-table-full table th {\n
              white-space: nowrap;\n
          }\n
      \n
          .block-table-full table tr:first-of-type th:last-child {\n
              background: #d9d9d9;\n
              color: #545454;\n
          }\n
      \n
          .raw-render {\n
              line-height: 1;\n
              text-align: justify;\n
          }\n
      \n
          .small {\n
              font-size: 0.85rem;\n
          }\n
      \n
          .linethrough {\n
              text-decoration: line-through;\n
          }\n
      \n
          .block-two-columns {\n
              margin-top: 3rem;\n
              margin-bottom: 3rem;\n
          }\n
      \n
          .block-two-columns > div {\n
              display: inline-block;\n
              vertical-align: top;\n
              word-break: break-all;\n
          }\n
      \n
          .block-two-columns > div:first-child {\n
              width: 38%;\n
          }\n
      \n
          .block-index-table table {\n
              width: 100%;\n
              border-collapse: collapse;\n
          }\n
      \n
          .block-index-table table th,\n
          .block-index-table table td {\n
              border: 1px solid #545454;\n
              padding: 0.25rem 0.4rem;\n
              text-align: center;\n
          }\n
      \n
          .block-index-table table th:last-child,\n
          .block-index-table table td:last-child {\n
              text-align: left;\n
          }\n
      \n
          .block-observations,\n
          .block-conditions {\n
              page-break-inside: auto;\n
          }\n
      \n
          .block-conditions {\n
              margin-top: 3rem;\n
          }\n
      \n
          .block-quote-signature {\n
              margin-top: 2rem;\n
              margin-left: 20%;\n
          }\n
      \n
          .block-agreement {\n
              page-break-inside: avoid;\n
              margin-top: 3rem;\n
              border: 2px solid #545454;\n
              padding: 0 1rem;\n
          }\n
      \n
          .block-agreement > div {\n
              margin-bottom: 7rem;\n
          }\n
      \n
          .block-agreement .block-two-columns > div:first-child {\n
              width: 45%;\n
          }\n
      \n
          .block-agreement > p:last-of-type {\n
              margin-bottom: 8rem;\n
          }\n
      \n
          .row-wrap:empty {\n
              display: none;\n
          }\n
      \n
          .row-wrap {\n
              min-height: 6rem;\n
              padding-top: 1.5rem;\n
              padding-bottom: 1rem;\n
              vertical-align: middle;\n
              font-weight: bold;\n
          }\n
      \n
          .row-wrap .item {\n
              display: inline-block;\n
              height: 6rem;\n
              line-height: 6rem;\n
              vertical-align: middle;\n
              width: auto;\n
              margin-right: 1.5rem;\n
              margin-bottom: 1.5rem;\n
          }\n
      \n
          .row-wrap .item:last-child {\n
              margin-right: 0;\n
          }\n
      </style>\n
      \n
      <header class="pdf-template__header">\n
          <div>\n
              <img src="{{ logoImg|default('') }}" alt="logo">\n
          </div>\n
          <div>\n
              <p><b>PROPOSITION D'HONORAIRES</b></p>\n
              <p>{{ quoteBuildingName|upper }}</p>\n
              <p><b>{{ quoteMissionType }}</b></p>\n
          </div>\n
      </header>\n
      \n
      <footer class="pdf-template__footer">\n
          <img src="{{ footerImg|default('') }}" alt="footer">\n
          <span class="page__number">Page </span>\n
      </footer>\n
      \n
      <div class="pdf-template__body">\n
          <div class="block-header-first-page">\n
              <div class="block-logo-first-page">\n
                  <img src="{{ logoImg|default('') }}" alt="logo">\n
              </div>\n
              <div class="block-sender">\n
                  <p>{{ quote.prospect.fullName|default('') }}</p>\n
                  <p>À l'attention de {{ quote.contactIdRealName|default('') }}</p>\n
                  {% if quote.prospect.contact.mainAddress.address is defined or quote.prospect.contact.mainAddress.city is defined or quote.prospect.contact.mainAddress.postalCode is defined %}\n
                      <p>{{ quote.prospect.contact.mainAddress.address|default('') }}</p>\n
                      <p>{{ quote.prospect.contact.mainAddress.postalCode|default('') }} {{ quote.prospect.contact.mainAddress.city|default('') }}</p>\n
                  {% endif %}\n
              </div>\n
          </div>\n
          <div class="block-city-date">\n
              <p>{{ agencyCity|length > 0 ? agencyCity ~ ', le' : 'Le' }} {{ 'now'|date('d/m/Y') }}</p>\n
          </div>\n
          <div class="block-receiver">\n
              <p>{{ quoteBuildingName|upper }}</p>\n
              <p>{{ quoteAddress }}</p>\n
              <p>{{ quotePostalCode }} {{ quoteCity }}</p>\n
              <p><b>{{ quoteMissionType }}</b></p>\n
          </div>\n
          <div class="block-description">\n
              {% set civility = 'Madame, Monsieur' %}\n
              {% if contactConcerned is defined %}\n
                  {% set civility = contactConcerned.civility.value|default('Madame, Monsieur') %}\n
              {% endif %}\n
              <p>{{ civility }},</p>\n
              <br>\n
              <p>Pour faire suite à votre demande, nous avons le plaisir de vous adresser notre proposition d'honoraires.</p>\n
              <p>Nous restons à votre disposition pour vous apporter toutes précisions utiles.</p>\n
              <p>Nous vous prions d'agréer, {{ civility }}, nos respectueuses salutations.</p>\n
          </div>\n
          <div class="block-signature break-after">\n
              <div>\n
                  <p><b>{{ managedBy.fullname|default('') }}</b></p>\n
                  <p><em>{{ managedBy.job|default('') }}</em></p>\n
              </div>\n
          </div>\n
      \n
          {# ---- PAGE BREAK ---- #}\n
      \n
          {% set coContractors = [] %}\n
          {% for sectionName, quoteLines in quoteLinesBySection|default([]) %}\n
              {% for quoteLine in quoteLines|default([]) %}\n
                  {% if quoteLine.quoteLineInfo.product.categories|length > 0 %}\n
                      {% set isObservationProduct = false %}\n
                      {% for category in quoteLine.quoteLineInfo.product.categories %}\n
                          {% if category.id == "eb31972e5c9a4702877fb7014a26fa6d" %}\n
                              {% set isObservationProduct = true %}\n
                          {% endif %}\n
                      {% endfor %}\n
                      {% if isObservationProduct and quoteLine.description|default('')|length > 0 %}\n
                          <div class="block-observations">\n
                              <div class="raw-render small">\n
                                  {{ quoteLine.description|raw }}\n
                              </div>\n
                          </div>\n
                      {% endif %}\n
                  {% endif %}\n
              {% endfor %}\n
      \n
              {% set sectionName = sectionName|split('|') %}\n
              {% if sectionName[1] is defined %}\n
                  {% set sectionName = sectionName[1] %}\n
              {% else %}\n
                  {% set sectionName = sectionName[0] %}\n
              {% endif %}\n
      \n
              {% if sectionName|lower != 'default' %}\n
                  {# si la première lettre de sectionName est un a, e, i, o, u, y, h, on met l'apostrophe #}\n
                  {% set elision = sectionName|slice(0, 1)|lower in ['a', 'e', 'i', 'o', 'u', 'y', 'h'] ? "D'" : "DE " %}\n
                  <h2>PHASE {{ elision ~ sectionName|upper }} de votre projet</h2>\n
              {% endif %}\n
      \n
              {% for quoteLine in quoteLines|default([]) %}\n
                  {% set isOptionalProduct = false %}\n
                  {% set isQuotePart = false %}\n
                  {% if quoteLine.isOptional and quoteLine.quoteLineInfo.product is defined %}\n
                      {% set isOptionalProduct = true %}\n
                      {% for specificField in quoteLine.quoteLineInfo.product.specificFields %}\n
                          {% if specificField.fieldId == "7100aa47620a4eb29180c4611e71616d" and specificField.value == "1" %}\n
                              {% set isOptionalProduct = false %}\n
                              {% set isQuotePart = true %}\n
                          {% endif %}\n
                      {% endfor %}\n
                  {% endif %}\n
      \n
                  {% set isObservationProduct = false %}\n
                  {% if quoteLine.quoteLineInfo.product.categories is defined and quoteLine.quoteLineInfo.product.categories|default([])|length > 0 %}\n
                      {% for category in quoteLine.quoteLineInfo.product.categories %}\n
                          {% if category.id == "eb31972e5c9a4702877fb7014a26fa6d" %}\n
                              {% set isObservationProduct = true %}\n
                          {% endif %}\n
                      {% endfor %}\n
                  {% endif %}\n
      \n
                  {% if not isOptionalProduct and not isObservationProduct %}\n
                      {% set splittedName = quoteLine.name|default('')|split('% ') %}\n
                      {% if quoteLine.quoteLineInfo.quoteLineInfoProductAttributes is defined %}\n
                          {% set currentCoContractor = null %}\n
                          {% set currentCoContractorIndex = 0 %}\n
                          {% for productAttribute in quoteLine.quoteLineInfo.quoteLineInfoProductAttributes %}\n
                              {% if productAttribute.productAttributeLabel|split('|')[0] == 'Nombre de jours' and productAttribute.value > 0 and productAttribute.productAttribute.groupCode not in coContractors %}\n
                                  {% set coContractors = coContractors|merge([productAttribute.productAttribute.groupCode]) %}\n
                              {% endif %}\n
                              {% if productAttribute.productAttributeLabel|split('|')[0] == 'Nom entreprise' and productAttribute.value is not null and productAttribute.value not in coContractors %}\n
                                  {% set currentCoContractor = productAttribute.value %}\n
                                  {% set currentCoContractorIndex = productAttribute.productAttributeLabel|split('|')[1] %}\n
                              {% endif %}\n
                              {% if productAttribute.productAttributeLabel|split('|')[0] == 'Co-traitant' and productAttribute.value == 'true' and currentCoContractorIndex == productAttribute.productAttributeLabel|split('|')[1] %}\n
                                  {% set coContractors = coContractors|merge([currentCoContractor]) %}\n
                              {% endif %}\n
                          {% endfor %}\n
                      {% endif %}\n
      \n
                      <div class="block-table">\n
                          <table>\n
                              <thead>\n
                              <tr>\n
                                  <th></th>\n
                                  <th>Montant HT</th>\n
                              </tr>\n
                              </thead>\n
                              <tbody>\n
                              <tr>\n
                                  <td>\n
                                      <p><b>{{ quoteLine.comment|default('')|raw|nl2br }}</b></p>\n
                                  </td>\n
                                  <td>\n
                                      <div class="table__price">\n
                                          {% if isQuotePart and splittedName|length > 1 %}\n
                                              {{ splittedName[0] }}&percnt; du montant HT des travaux\n
                                          {% else %}\n
                                              {% if quoteLine.discountAmount > 0 %}\n
                                                  <p class="small linethrough">\n
                                                      {{ quoteLine.totalExclDiscountAndVat|default(0)|number_format(2, ',', ' ') }} &euro;\n
                                                  </p>\n
                                              {% endif %}\n
                                              {{ quoteLine.totalExclVat|default(0)|number_format(2, ',', ' ') }} &euro;\n
                                          {% endif %}\n
                                      </div>\n
                                  </td>\n
                              </tr>\n
                              </tbody>\n
                          </table>\n
                          <div class="raw-render small">\n
                              {{ quoteLine.description|default('')|raw }}\n
                          </div>\n
                      </div>\n
                  {% endif %}\n
              {% endfor %}\n
      \n
              {% set hasOptionalProduct = false %}\n
              {% for quoteLine in quoteLines|default([]) %}\n
                  {% set rowIsPercentage = false %}\n
                  {% for specificField in quoteLine.quoteLineInfo.product.specificFields|default({}) %}\n
                      {% if specificField.fieldId == "7100aa47620a4eb29180c4611e71616d" and specificField.value == "1" %} {# Article de surcôte (attributs en %) #}\n
                          {% set rowIsPercentage = true %}\n
                      {% endif %}\n
                  {% endfor %}\n
      \n
                  {% if not rowIsPercentage and quoteLine.isOptional and quoteLine.quoteLineInfo.product is defined %}\n
                      {% set hasOptionalProduct = true %}\n
                  {% endif %}\n
              {% endfor %}\n
      \n
              <div class="block-table-full {{ hasOptionalProduct ? '' : 'break-after' }}">\n
                  <table>\n
                      <thead>\n
                      <tr>\n
                          <th colspan="5">\n
                              {{ sectionName|lower != 'default' ? sectionName ~ ' -' : '' }} Total des honoraires - Options\n
                              non comprises\n
                          </th>\n
                      </tr>\n
                      <tr>\n
                          <th>Mission</th>\n
                          <th>MONTANT HT</th>\n
                          <th>Montant TVA</th>\n
                          <th>Taux TVA</th>\n
                          <th>MONTANT TTC</th>\n
                      </tr>\n
                      </thead>\n
                      <tbody>\n
                      {% set totalExclVat = 0 %}\n
                      {% set totalVat = 0 %}\n
                      {% for quoteLine in quoteLines|default([]) %}\n
                          {% set isOptionalProduct = false %}\n
                          {% set isQuotePart = false %}\n
                          {% if quoteLine.isOptional and quoteLine.quoteLineInfo.product is defined %}\n
                              {% set isOptionalProduct = true %}\n
                              {% for specificField in quoteLine.quoteLineInfo.product.specificFields %}\n
                                  {% if specificField.fieldId == "7100aa47620a4eb29180c4611e71616d" and specificField.value == "1" %}\n
                                      {% set isOptionalProduct = false %}\n
                                      {% set isQuotePart = true %}\n
                                  {% endif %}\n
                              {% endfor %}\n
                          {% endif %}\n
      \n
                          {% set isObservationProduct = false %}\n
                          {% if quoteLine.quoteLineInfo.product.categories is defined and quoteLine.quoteLineInfo.product.categories|default([])|length > 0 %}\n
                              {% for category in quoteLine.quoteLineInfo.product.categories %}\n
                                  {% if category.id == "eb31972e5c9a4702877fb7014a26fa6d" %}\n
                                      {% set isObservationProduct = true %}\n
                                  {% endif %}\n
                              {% endfor %}\n
                          {% endif %}\n
                          {% if not isOptionalProduct and not isObservationProduct %}\n
                              {% set totalExclVat = totalExclVat + quoteLine.totalExclVat|default(0) %}\n
                              {% set totalVat = isQuotePart ? totalVat : totalVat + quoteLine.total|default(0) %}\n
                              {% set splittedName = quoteLine.name|default('')|split('% ') %}\n
                              <tr>\n
                                  <td>\n
                                      {{ quoteLine.comment|default('')|raw|nl2br }}\n
                                  </td>\n
                                  <td>\n
                                      {% if isQuotePart and splittedName|length > 1 %}\n
                                          {{ splittedName[0] }}&percnt; du montant HT des travaux\n
                                      {% else %}\n
                                          {{ quoteLine.totalExclVat|default(0)|number_format(2, ',', ' ') }} &euro;\n
                                      {% endif %}\n
                                  </td>\n
                                  <td>\n
                                      {% if not isQuotePart %}\n
                                          {{ quoteLine.vatAmount|default(0)|number_format(2, ',', ' ') }} &euro;\n
                                      {% endif %}\n
                                  </td>\n
                                  <td>\n
                                      {% if not isQuotePart %}\n
                                          {{ quoteLine.vatRate|default('') }}\n
                                      {% endif %}\n
                                  </td>\n
                                  <td>\n
                                      {% if not isQuotePart %}\n
                                          {{ quoteLine.total|default(0)|number_format(2, ',', ' ') }} &euro;\n
                                      {% endif %}\n
                                  </td>\n
                              </tr>\n
                          {% endif %}\n
                      {% endfor %}\n
                      </tbody>\n
                      {% if totalVat > 0 %}\n
                          <tfoot>\n
                          <tr>\n
                              <td colspan="4">\n
                                  <span>TOTAL</span>\n
                              </td>\n
                              <td>{{ totalVat|number_format(2, ',', ' ') }} &euro;</td>\n
                          </tr>\n
                          </tfoot>\n
                      {% endif %}\n
                  </table>\n
              </div>\n
      \n
              {% if hasOptionalProduct %}\n
                  <h3 class="break-before">OPTIONS de votre projet</h3>\n
                  {% for quoteLine in quoteLines|default([]) %}\n
                      {% set isOptionalProduct = false %}\n
                      {% set isQuotePart = false %}\n
                      {% if quoteLine.isOptional and quoteLine.quoteLineInfo.product is defined %}\n
                          {% set isOptionalProduct = true %}\n
                          {% for specificField in quoteLine.quoteLineInfo.product.specificFields %}\n
                              {% if specificField.fieldId == "7100aa47620a4eb29180c4611e71616d" and specificField.value == "1" %}\n
                                  {% set isOptionalProduct = false %}\n
                                  {% set isQuotePart = true %}\n
                              {% endif %}\n
                          {% endfor %}\n
                      {% endif %}\n
      \n
                      {% set isObservationProduct = false %}\n
                      {% if quoteLine.quoteLineInfo.product.categories is defined and quoteLine.quoteLineInfo.product.categories|default([])|length > 0 %}\n
                          {% for category in quoteLine.quoteLineInfo.product.categories %}\n
                              {% if category.id == "eb31972e5c9a4702877fb7014a26fa6d" %}\n
                                  {% set isObservationProduct = true %}\n
                              {% endif %}\n
                          {% endfor %}\n
                      {% endif %}\n
      \n
                      {% if isOptionalProduct and not isObservationProduct %}\n
                          {% set splittedName = quoteLine.name|default('')|split('% ') %}\n
                          {% if quoteLine.quoteLineInfo.quoteLineInfoProductAttributes is defined %}\n
                              {% set currentCoContractor = null %}\n
                              {% set currentCoContractorIndex = 0 %}\n
                              {% for productAttribute in quoteLine.quoteLineInfo.quoteLineInfoProductAttributes %}\n
                                  {% if productAttribute.productAttributeLabel|split('|')[0] == 'Nombre de jours' and productAttribute.value > 0 and productAttribute.productAttribute.groupCode not in coContractors %}\n
                                      {% set coContractors = coContractors|merge([productAttribute.productAttribute.groupCode]) %}\n
                                  {% endif %}\n
                                  {% if productAttribute.productAttributeLabel|split('|')[0] == 'Nom entreprise' and productAttribute.value is not null and productAttribute.value not in coContractors %}\n
                                      {% set currentCoContractor = productAttribute.value %}\n
                                      {% set currentCoContractorIndex = productAttribute.productAttributeLabel|split('|')[1] %}\n
                                  {% endif %}\n
                                  {% if productAttribute.productAttributeLabel|split('|')[0] == 'Co-traitant' and productAttribute.value == 'true' and currentCoContractorIndex == productAttribute.productAttributeLabel|split('|')[1] %}\n
                                      {% set coContractors = coContractors|merge([currentCoContractor]) %}\n
                                  {% endif %}\n
                              {% endfor %}\n
                          {% endif %}\n
      \n
                          <div class="block-table">\n
                              <table>\n
                                  <thead>\n
                                  <tr>\n
                                      <th></th>\n
                                      <th>Montant HT</th>\n
                                  </tr>\n
                                  </thead>\n
                                  <tbody>\n
                                  <tr>\n
                                      <td>\n
                                          <p><b>{{ quoteLine.comment|default('')|raw|nl2br }}</b></p>\n
                                      </td>\n
                                      <td>\n
                                          <div class="table__price">\n
                                              {% if isQuotePart and splittedName|length > 1 %}\n
                                                  {{ splittedName[0] }}&percnt; du montant HT des travaux\n
                                              {% else %}\n
                                                  {% if quoteLine.discountAmount > 0 %}\n
                                                      <p class="small linethrough">\n
                                                          {{ quoteLine.totalExclDiscountAndVat|default(0)|number_format(2, ',', ' ') }} &euro;\n
                                                      </p>\n
                                                  {% endif %}\n
                                                  {{ quoteLine.totalExclVat|default(0)|number_format(2, ',', ' ') }} &euro;\n
                                              {% endif %}\n
                                          </div>\n
                                      </td>\n
                                  </tr>\n
                                  </tbody>\n
                              </table>\n
                              <div class="raw-render small">\n
                                  {{ quoteLine.description|default('')|raw }}\n
                              </div>\n
                          </div>\n
                      {% endif %}\n
                  {% endfor %}\n
      \n
                  <div class="block-table-full break-after">\n
                      <table>\n
                          <thead>\n
                          <tr>\n
                              <th colspan="5">\n
                                  {{ sectionName|lower != 'default' ? sectionName ~ ' -' : '' }} Total des options\n
                              </th>\n
                          </tr>\n
                          <tr>\n
                              <th>Mission</th>\n
                              <th>MONTANT HT</th>\n
                              <th>Montant TVA</th>\n
                              <th>Taux TVA</th>\n
                              <th>MONTANT TTC</th>\n
                          </tr>\n
                          </thead>\n
                          <tbody>\n
                          {% set totalExclVat = 0 %}\n
                          {% set totalVat = 0 %}\n
                          {% for quoteLine in quoteLines|default([]) %}\n
                              {% set isOptionalProduct = false %}\n
                              {% if quoteLine.isOptional and quoteLine.quoteLineInfo.product is defined %}\n
                                  {% set isOptionalProduct = true %}\n
                                  {% for specificField in quoteLine.quoteLineInfo.product.specificFields %}\n
                                      {% if specificField.fieldId == "7100aa47620a4eb29180c4611e71616d" and specificField.value == "1" %}\n
                                          {% set isOptionalProduct = false %}\n
                                      {% endif %}\n
                                  {% endfor %}\n
                              {% endif %}\n
      \n
                              {% set isObservationProduct = false %}\n
                              {% if quoteLine.quoteLineInfo.product.categories is defined and quoteLine.quoteLineInfo.product.categories|default([])|length > 0 %}\n
                                  {% for category in quoteLine.quoteLineInfo.product.categories %}\n
                                      {% if category.id == "eb31972e5c9a4702877fb7014a26fa6d" %}\n
                                          {% set isObservationProduct = true %}\n
                                      {% endif %}\n
                                  {% endfor %}\n
                              {% endif %}\n
                              {% if isOptionalProduct and not isObservationProduct %}\n
                                  {% set totalExclVat = totalExclVat + quoteLine.totalExclVat|default(0) %}\n
                                  {% set totalVat = totalVat + quoteLine.total|default(0) %}\n
                                  <tr>\n
                                      <td>{{ quoteLine.comment|default('')|raw|nl2br }}</td>\n
                                      <td>{{ quoteLine.totalExclVat|default(0)|number_format(2, ',', ' ') }} &euro;</td>\n
                                      <td>\n
                                          {{ quoteLine.vatAmount|default(0)|number_format(2, ',', ' ') }} &euro;\n
                                      </td>\n
                                      <td>{{ quoteLine.vatRate|default('') }}</td>\n
                                      <td>{{ quoteLine.total|default(0)|number_format(2, ',', ' ') }} &euro;</td>\n
                                  </tr>\n
                              {% endif %}\n
                          {% endfor %}\n
                          </tbody>\n
                          {% if totalVat > 0 %}\n
                              <tfoot>\n
                              <tr>\n
                                  <td colspan="4">\n
                                      <span>TOTAL</span>\n
                                  </td>\n
                                  <td>{{ totalVat|number_format(2, ',', ' ') }} &euro;</td>\n
                              </tr>\n
                              </tfoot>\n
                          {% endif %}\n
                      </table>\n
                  </div>\n
              {% endif %}\n
          {% endfor %}\n
      \n
          {# ---- PAGE BREAK ---- #}\n
      \n
          <div class="block-quote-signature">\n
              <p>{{ agencyCity|length > 0 ? agencyCity ~ ', le' : 'Le' }} {{ 'now'|date('d/m/Y') }}</p>\n
          </div>\n
          <div class="block-agreement break-after">\n
              <div class="block-two-columns">\n
                  <div>\n
                      <p><b>BON POUR ACCORD le ........../........../..........</b></p>\n
                  </div>\n
                  <div>\n
                      <p>\n
                          <em>Le Maître d'Ouvrage ou son Représentant</em>\n
                          <br>\n
                          <em>Signature et cachet :</em>\n
                      </p>\n
                  </div>\n
              </div>\n
              <p>Décision quant à l'option chiffrée : VALIDÉE / NON VALIDÉE</p>\n
              <p>Observations éventuelles :</p>\n
          </div>\n
      \n
          {# ---- PAGE BREAK ---- #}\n
      \n
          <div class="block-conditions">\n
              <p class="underline"><b>CONDITIONS :</b></p>\n
              <br>\n
              {% if coContractors|length > 0 %}\n
                  <p><b class="underline small">Membres du groupement concernés par cette mission :</b></p>\n
                  <br>\n
                  <div class="row-wrap">{% for coContractor in coContractors %} {# Ne pas mettre for à la ligne pour éviter les espaces interne et que :empty fonctionne #}\n
                          {% set imgCoContractor = gedImageByPath('CHARTE GRAPHIQUE/CO-TRAITANTS/' ~ coContractor ~ '.png')|default('') %}\n
                          {% if imgCoContractor|length > 0 %}\n
                              <img class="item" height="6rem" width="auto" src="{{ imgCoContractor }}"\n
                                   alt="logo {{ coContractor }}">\n
                          {% else %}\n
                              <p class="item">{{ coContractor }}</p>\n
                          {% endif %}\n
                      {% endfor %}</div>\n
              {% endif %}\n
              <br>\n
              <div class="raw-render small">\n
                  {{ quote.terms|default('')|raw }}\n
              </div>\n
          </div>\n
      </div>\n
      </body>\n
      </html>
      """
    -createdBy: null
    -updatedBy: null
    -createdAt: null
    -updatedAt: null
    #shouldNormalizeAsIRI: false
  }
]

Request Headers

Header Value
accept
"application/ld+json"
accept-encoding
"gzip, deflate, br, zstd"
accept-language
"fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7"
connection
"close"
content-type
"application/json"
host
"dev.app.pol-crm.com"
origin
"https://dev.pol-crm.com"
priority
"u=1, i"
referer
"https://dev.pol-crm.com/"
sec-ch-ua
""Google Chrome";v="141", "Not?A_Brand";v="8", "Chromium";v="141""
sec-ch-ua-mobile
"?0"
sec-ch-ua-platform
""Linux""
sec-fetch-dest
"empty"
sec-fetch-mode
"cors"
sec-fetch-site
"same-site"
user-agent
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
x-accel-internal
"/internal-nginx-static-location"
x-php-ob-level
"1"
x-pol-auth
"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE3NjA2MjM0MDIsImV4cCI6MTc2MDYyNzAwMiwicm9sZXMiOlsiUk9MRV9VU0VSIiwiUk9MRV9TVVBFUkFETUlOIiwiUk9MRV9BRE1JTiIsIlJPTEVfTU9EVUxFX01JQ1JPU09GVF9HUkFQSCIsIlJPTEVfTU9EVUxFX1BST0RVQ1QiLCJST0xFX01PRFVMRV9QUk9EVUNUX0NVU1RPTUlaRSIsIlJPTEVfTU9EVUxFX1FVT1RFX0xJTkUiLCJQUk9TUEVDVF9TSE9XIiwiUFJPU1BFQ1RfQ1VEIiwiQ09OVEFDVF9DVUQiLCJDT05UQUNUX1NIT1ciLCJUQVNLX1NIT1ciLCJUQVNLX0NVRCIsIlFVT1RFX1NIT1ciLCJRVU9URV9DVUQiLCJRVU9URV9SRUdFTkVSQVRFX1BSSUNFUyJdLCJsb2dpbiI6ImRlbW9wbGVuZXR1ZGUiLCJ1c2VyX2lkIjoiMWFlYjFiMDg5ZDE0NDM1NzhmM2QyZWNhMWY2YWJlYWYiLCJ1c2VyX2V4dGVybmFsX2lkIjoiMTY1MTc1NjUwMCIsImVtYWlsIjoiZ2VzdGlvbkFPc2FsbGFuY2hlc0Bncm91cGUtcGxlbmV0dWRlLmZyIiwiY3VzdG9tZXJfaWQiOiJlODkxOWRiYzAxZjM0Zjc5YWIyMmI5YzQzNGYxMTRlYiIsImN1c3RvbWVyX25hbWUiOiJHcm91cGUgUGzDqW7DqXR1ZGUiLCJjdXN0b21lcl9leHRlcm5hbF9pZCI6IjE2NDQ1OTM0OTciLCJjdXN0b21lcl9tYWlsaW5nX2lkIjoiMjU0IiwiZmlyc3RuYW1lIjoiR3VpbGxhdW1lIiwibGFzdG5hbWUiOiJTQVVUUk9OIiwibGl2ZW9Mb2dpbiI6bnVsbCwibGl2ZW9QYXNzd29yZCI6bnVsbCwiaGFzSW50cmFuZXQiOmZhbHNlLCJsYW5ndWFnZSI6IkZSIiwic2VjdGlvbnNfbGVhZGVkIjpbIkFHQiIsIkFHQiAtIFBMRU5FVFVERSIsIkFHQiAtIFBST0xZU0UiLCJBR0IgLSBQRVhJTiIsIkFHQiAtIFBFR0lNRSIsIkFHQiAtIFBSSU9TVVIiLCJEaXJlY3Rpb24gR8OpbsOpcmFsZSIsIkFHRyIsIkFHRyAtIFBST0xZU0UiLCJBR0cgLSBQRUdJTUUiLCJBR0cgLSBQTEVORVRVREUiLCJBR0cgLSBQTEVORVRVREUgLSBDb2xsYWJvcmF0ZXVyIiwiQUdHIC0gUFJJT1NVUiIsIkFHRyAtIFBFWElOIiwiQUdHIC0gUEVYSU4gLSBDb2xsYWJvcmF0ZXVyIiwiQUdDIiwiQUdDIC0gUFJJT1NVUiIsIkFHQyAtIFBST0xZU0UiLCJBR0MgLSBQRUdJTUUiLCJBR0MgLSBQTEVORVRVREUiLCJBR0MgLSBQRVhJTiIsIkFHQyAtIFBFWElOIC0gQ29sbGFib3JhdGV1ciIsIkFHViIsIkFHViAtIFBSSU9TVVIiLCJBR1YgLSBQRUdJTUUiLCJBR1YgLSBQUk9MWVNFIiwiQUdWIC0gUExFTkVUVURFIiwiQUdBIiwiQUdBIC0gUFJPTFlTRSIsIkFHQSAtIFBFWElOIiwiQUdBIC0gUEVHSU1FIiwiQUdBIC0gUFJJT1NVUiIsIkFHQSAtIFBMRU5FVFVERSIsIlJWSSIsIlJWSSAtIENWQyAvIFBMQiIsIlJWSSAtIEVudmlyb25uZW1lbnRhbCIsIlJWSSAtIENGTyAvIENGQSIsIkFHUyIsIkFHUyAtIFBFR0lNRSIsIkFHUyAtIFBMRU5FVFVERSIsIkFHUyAtIFBFWElOIiwiQUdTIC0gUFJPTFlTRSIsIkFHUyAtIFBSSU9TVVIiLCJBR0wiLCJBR0wgLSBQUk9MWVNFIiwiQUdMIC0gUFJJT1NVUiIsIkFHTCAtIFBMRU5FVFVERSIsIkFHTCAtIFBFWElOIiwiQUdMIC0gUEVYSU4gLSBDb2xsYWJvcmF0ZXVyIiwiQUdMIC0gUExFTkVUVURFIC0gMiIsIkFHTCAtIFBFR0lNRSJdLCJzZWN0aW9uc19tZW1iZXJzIjpbIjFhZWIxYjA4OWQxNDQzNTc4ZjNkMmVjYTFmNmFiZWFmIiwiMDY1OWU4Mjk0NDE2NDBhYmI0ZTc2ZTc0MWNmMDQzMTEiLCIwODU1YjIxMDdlODg0ZDU3YTUxNTcwY2QyYTk4YmZhMyIsIjBkMGQ4OTEyOWI4ZjRmODI4NTczN2QzZTJjYzRhMmEwIiwiNDczZDBjOWNjMjQ1NGEwOGJmYjYzZjgyZmNhY2I2NzYiLCI5ZmVkZmUxZWRiYjE0OTIzYWVmM2M2ZjZlZDhjZjJmZCIsImNlMTJhMjI1OTA1ZTQzZTNiZTUwMzk0ODRiNzFlNGViIiwiM2MzZmQ1NWFjYTQyNGUzYzhkYTUwYzdjOTQ2YmE4OWUiLCIyNTIyZGJlMzNjOTA0OTU0ODIxOTVhNjQwZjRiYTk0NiIsIjYyZWRhYjk5OTdkNTQyYTFhODgwNzdlMjFmZjU0NDIzIiwiYTUzY2Q3YWI0OGU0NGNhZmE0YmRjMzc2MDc1NWFiMTUiLCIwNjhkNTI1Y2ZmMjQ0NDlkODE4MjI3ZWFlNDRmZmRhYyIsIjQzZjFhNTM0N2Q2ZjRkODM5MDdkM2QzZDQ2Y2QyY2E0IiwiNTJlYzllNGQ4OTc2NGY5MjgyNDI1ZmU0NmFhN2MzOGYiLCJiZGU5Njk2NDJhNjQ0YjY1ODZmN2NiZGY2YjJmNDg4NiIsImM1OTliNWIwNzFhODQ2NjE4NzhjNGIzODQ5NjhlYjAzIiwiZTFiMzE2MGZlOGExNGJjNDg0ZWJkZDMwZDRkNGRhOTAiLCI2NDdjMDNhYTRjYmI0YmVlYTI2NzE3Yzc2MWZiMTVhNiIsIjliZjUyZDAzMjRhMTQxY2U5YjM3Mzk1ZmQ4NjQyYThhIiwiZjc5MWNhYzkzNTBhNDE4ZmI4YjA2NTI5YWIwNzcxMmUiLCIyMzRjOGJmZGM2MDg0OTljYjcyZmI0NGQwMDYyODNmOSIsIjhmOTkzMmVkNDNhMzRhNjZiYjM5MjA3M2E5OTk3ZWYyIiwiNTQ3MTU2YzI2MDFkNDQ0ZmE5ZjU2MWM3NGU5YmMwMWEiLCJkZWI2NjE3OWZhNTA0MzZmYmNkNjBlZWNiNTQ1NTIzYSIsImY3ZDgwOWQ4NmQ1ZjQ4NWI5NzkzZWIwN2VlNjc4N2ExIiwiODNlODA3ZmIxYTNkNGM4NTg0YWI2ZGE1YmY5YWFhNTYiLCJlZjk1OGVkMTJhNjU0ZDkwYWYzZWIwMmNkNjMxNjBiNyIsIjQ2NTdkYmQzNGY5NDRmMDdiMzA2MjViZmI4MmU5YzY0IiwiNjZkYjFmOWEwMmU5NDY4Zjk0ZDc0YmIzZmU1MWI5MTQiLCI2N2I0ZGI5MGRjYTY0MDg4YTEzYTNjMTBhOGU1NDgzOCIsIjg4YWU2ODM2YzFmMTQ0MTI5ODJiNmY3MTg0ZDY4MzViIiwiYzhhYjAxNDk0OTY4NGJjMWFkNzMzYTFkZGFmZTdjZTgiLCJmNDZhMjM2YTc5MGQ0MDYxODdmZjUxOTVlNGM0ZDdhNSIsImY1MDQ3YWYzMWVjMzRjODg4ZjkxYmVlZTNjOWFmYmQ0IiwiY2U0YzBkZmU4NWM0NDkzYzkwYzMzZGM1Mzk5MTQzOTgiLCJlOGZiYWVkZjNjZDc0ODBhOTY4YjI3OTUwMDZmNzRiNiIsImQ5ZjU1NGVkMjkyMjRhZWNhOTk4OTA4OGUyZmIyM2IwIiwiMWE3NDA3MDYyNTMwNDlhNWFkZGRiOTgxMmY0YzQ4NmUiLCI0ZWM4NDRlMTE1MGQ0ZjRiYTFhNDA4M2U0YmJkY2M4ZiIsIjU1NDY0ZTI0ZWIwMTRhNDlhYTU3NWNhNTcyZGFhYTkzIiwiODA5ZjZkZTQ2YThmNDk4YmI3MmNlZDEzNWI4NDdlNjUiLCJhYjk0YTA5YTM5NTc0NDZmYjkyOTEwNzM5YTcxZDBjMCIsImFmMWE4ZWFiNmFkNjQ1YTk5MzQ4NTBiNDljYmM3YjBkIiwiZDNhNzkyNmI4MzYzNDUxNjkyYjIxYjBiNzdlM2ViNDciLCJmNGU5OWQ3Yjc2OWI0ZjRiYWYxZGFjMDVjMTc1NGE3MCIsIjJkZmY5ZTc3MTA5ZjQ2MTA5MjIyNWU0OWU0YzJjNjBhIiwiMjIxNTZlMTQyYmM5NDgxNTg4MjhiMGQ3OTkwMTYzMGIiLCJhOTk3ZGFhM2IyYTY0ZTQxOTUyZjNkNDMyYTc0YzJiZCIsIjE4N2FmZTJjYTRiOTRmYzU4ZTFhNzJhNmVkNzY4N2JjIiwiN2Q1YWMxMjUxODAzNDQ2MTgyZTllNzkzYzdhOTkzYjciLCJhNTQ5NDhiN2NjM2I0NGNmOTYzNGNjZjRjNjVkYzk4OCIsIjc3ODM1ZDAyNTg5NTRlZjdiMjIxMDNiZjNkODdmY2Q4IiwiNzhkMzgxN2JjOTIzNGFhMDg4Y2FhN2IwZTU0OTU1ODciLCJhZTcyNWMwMDcwZjc0ZmI2YjdkZGRiNWUxOWRlYmI3MyIsImQxZGM0Yzg5MDY0ZDQ2MWY4ODFmOGNiMDljZWI1ZWU2IiwiOGEzZmMzMmQyYTg2NDBmNjgzMzMyZjFiMjhkOTY1YzIiLCJhMTliYmZlOTBhODc0YzIzYWFlNjgxYzUzYjc5OWMyMyIsIjFiYTcwYzQwYjQ1YjRkMGFhNTQxN2UyNTg4YmU3YWI0IiwiYzkwN2NmNWYzMjMxNGU0NjlmMjBhZjNlNTgwZWFkYTAiLCI0MjVlYzEyNjk4NTY0NzQ3YWZiYjg0OTc4M2ZkYTdlYyIsImJlNjE1Y2QzYjM3YjRkZjBiYjc1YjFjYzMzMDQ5ZGMyIiwiZjE0ZmMwZWU2MmFhNGEwNWI4Y2IyMTUxODdkNDVjNGYiLCIwYWYwZDhjMTk1MDM0MDkwOWYyMmZkMDJmOTQxNGYzZSIsImFhYWRmY2NlNzE4ZTQyN2ZiY2E3Y2E3YmQ0MDJmMmMyIiwiOWIyOGM4MTBjMjBiNDJlMjg1NjQ5MTZlNTFmZmZlMmYiLCI5NWQwZDdlMmI5Yzk0ODY5OTJmMTk2NzIyODQzYTc5NCIsIjQ4OWIxOGZkNGRmNTRmOTdiOWU1MTg1ZDFhZjZkMWM3IiwiZjFlODdlMDRkZTExNDk4OGFlMDc4M2ZjNDAzNzUyNjQiLCIyOWRkNmE0ZDY0YTA0NzNiYmUyMTc5ODk2OGI5NDgzNyJdLCJpc19zZWN0aW9uc19hY3RpdmF0ZWQiOnRydWUsInJlZnJlc2hfdG9rZW4iOiIifQ.IbE8X1-18xjSZgPnQ4MIL_u4J_kzfUDmiCFfk0R9yLz7cS6CKkKcJtE-bStAuQkyb0Y2QPRxoioPXJ9UrmPKvg62mGUh_qLkenjZijSLqnhDsGzs76Xwioz81JhMlAIQfOVEa06aRQgYgr668ChLsXrExGzHy_OQKUObr6dWwufF2UbryMI1dg25O8RfY92yZlyNrd9zlnNJx3BWcrq2Lo0BS1ukzXQR5r5wVtyS00fxiCnaRhX99FUrFJPqG2Wv7ZXbwMbNO7OYFn6S1Cw00QpjHKpz6Oem-ZbToOgznXRg1ecPGYKeRCDauDLy_mONuJUOotrtA8Bz_F6hGmtNQtoJtDk6gWwywTzRKMZw5n020g2g-CjlnmjsKjQMP9g_50L8LxuuTKRg9DKZAPC_KEUOnkSBC0LyG83gCRaDxzUkPjH77DlFgKNVXFxmjVWVIg2XUmtrSbO7hE7EcFza4tC3NwGOQn8verQaFrykU8X-fFES54Gvz6NaySiY2N_FBxz6QXYqlbEHsoSeRQRsPYelZ_23Mp64PYmUp7qxQvQ0-4Mp98hppk8mCM9d9kdNZV0KXbCvy4qsQAT5pgydf_fVWTwXrejNKYY6yP_6yGY-76PVgxQiKnObERzoYPfzP2t5pscc0Z_ugwu7j-9La_oFI14nDwRYAyt5CHDG698"
x-real-ip
"37.58.179.19"
x-transaction-id
"front:krh14v6rqo"

Request Content

Request content not available (it was retrieved as a resource).

Response

Response Headers

Header Value
access-control-allow-origin
"https://dev.pol-crm.com"
access-control-expose-headers
"x-debug-token, sentry-trace, baggage, retry-after"
cache-control
"private, must-revalidate"
content-type
"application/ld+json; charset=utf-8"
date
"Thu, 16 Oct 2025 14:04:24 GMT"
etag
""a36dce3f3dc9e3c275e7748db95703a3""
expires
-1
link
"<https://dev.app.pol-crm.com/api/docs.jsonld>; rel="http://www.w3.org/ns/hydra/core#apiDocumentation""
pragma
"no-cache"
vary
"Accept"
x-content-type-options
"nosniff"
x-debug-token
"7ecac2"
x-frame-options
"deny"

Cookies

Request Cookies

No request cookies

Response Cookies

No response cookies

Session

Session Metadata

No session metadata

Session Attributes

No session attributes

Flashes

Flashes

No flash messages were created.

Server Parameters

Server Parameters

Defined in .env

Key Value
API_BUSINESS_HOST
"http://dev.pol-api-business.pol-crm.com"
API_CRM_HOST
"http://dev.pol-api-crm.pol-crm.com"
API_GED_HOST
"http://dev.pol-api-ged.pol-crm.com"
API_LIVEO
"https://webservice.centrex.liveo.fr/ws/"
API_MIDDLEWARE_HOST
"https://pol-middleware"
API_NOTIFY_HOST
"http://dev.pol-api-notify.pol-crm.com"
API_PARAM_HOST
"http://dev.pol-api-param.pol-crm.com"
API_POL_MAILING
"http://mailing.sfi.fr/webservices"
API_POL_MAILING_V2
"https://dev.mailing.pol-crm.com/webservices"
API_SEARCH_HOST
"http://dev.pol-api-search.pol-crm.com"
API_SERVICE_PLENETUDE_HOST
"http://dev.plenetude.pol-crm.com"
API_USER_HOST
"http://dev.pol-api-user.pol-crm.com"
APP_ENV
"dev"
APP_SECRET
"61ff627c8e96e9ac55fc1926e4878f2e"
BDD_API_BUSINESS
"dev_pol_core"
BDD_API_CRM
"dev_pol_core"
BDD_API_GED
"dev_pol_core"
BDD_API_NOTIFY
"dev_pol_core"
BDD_API_PARAM
"dev_pol_core"
BDD_API_SEARCH
"dev_pol_core"
BDD_API_USER
"dev_pol_core"
BDD_MIDDLEWARE
"dev_pol_core"
BDD_SERVICE_PLENETUDE
"dev_pol_core"
BEGIN_DATE
"2024-01-01"
CORS_ALLOW_ORIGIN
"^https?://pol-(crm|prospect).localhost(:[0-9]+)?$"
DATABASE_URL
"mysql://dev_pol_core:VTgooWkhcjebxLPy8E2ycoTjytrULgNQ@127.0.0.1:3306/dev_pol_core"
END_DATE
"2025-01-31"
FRONT_URL
"https://pol-crm.localhost"
FTP_INTRANET_SFI_HOST
"preprod.intranet.sfimultimedia.com"
FTP_INTRANET_SFI_PASSWORD
"iAw453e?iAw453e?"
FTP_INTRANET_SFI_USER
"intranetpreprod"
GED_ABSOLUTE_DIRECTORY_PATH
"/var/www/pol-api-ged/application/data/ged"
GEONAME_API_TOKEN
"ceciestuntestpourSfi/0000"
IMPORT_ONDUPACK_PATH_FILE
"/httpdocs/app-pol-crm/dev/current/application/data/import_ondupack"
INSEE_API_SIRENE_KEY
"09afd2bf-050b-465e-afd2-bf050b865e20"
IS_MAINTENANCE
"false"
JWT_PASSPHRASE
"7de1072d7a8fcab69679c1892deb39a7"
JWT_PUBLIC_KEY
"%kernel.project_dir%/config/jwt/public.pem"
JWT_SECRET_KEY
"%kernel.project_dir%/config/jwt/private.pem"
JWT_WHITELIST_PATH
"%kernel.project_dir%/var/tokens"
MAILER_URL
"smtp://127.0.0.1:1025"
MAILING_ENV_USER
"depot_mailing_dev-xv42"
MESSENGER_TRANSPORT_DSN_MIDDLEWARE
"amqp://sfiweb:sfiwweb0000@127.0.0.1:5672/%2f/dev_middleware_messages"
MESSENGER_TRANSPORT_DSN_NOTIFY
"amqp://sfiweb:sfiwweb0000@127.0.0.1:5672/%2f/dev_notify_messages"
MESSENGER_TRANSPORT_DSN_SEARCH
"amqp://sfiweb:sfiwweb0000@127.0.0.1:5672/%2f/dev_messages"
MICROSOFT_GRAPH_API_CLIENT_ID
"3b7f02c4-aa14-4e54-a2b9-2ee1d5d17f8a"
MICROSOFT_GRAPH_API_CLIENT_SECRET
"FID8Q~zfFRP~Gw-85LpaCj0VqrrRr__HMGpI-drP"
MICROSOFT_GRAPH_API_NOTIFICATION_URL
"https://dev.app.pol-crm.com/api/microsoft-graph/outlook-subscription-configuration"
MICROSOFT_GRAPH_API_REDIRECT_URI
"https://dev.pol-crm.com/microsoft-graph"
MICROSOFT_GRAPH_API_SUBSCRIPTION_EXPIRED_AT
"+2 days"
MICROSOFT_GRAPH_API_TOKEN_LIFETIME
"+2 days"
MODULE_MICROSOFT_GRAPH_SECRET
"jqsFP7MjEx1FBe1138D3"
MONOLOG_APPLICATION_ENVIRONMENT
"dev"
MONOLOG_APPLICATION_NAME
"pol-middleware"
MONOLOG_SUBJECT
"[DEV][%level_name%] POL-MIDDLEWARE - %message%"
MONOLOG_TO_EMAIL
"polv3.log@sfi.fr"
MYSQL_DATABASE
"dev_pol_core"
MYSQL_HOST
"127.0.0.1"
MYSQL_PASSWORD
"VTgooWkhcjebxLPy8E2ycoTjytrULgNQ"
MYSQL_PORT
"3306"
MYSQL_USER
"dev_pol_core"
PREFIX_CUSTOMER_NAME_MAILING
"[DEV]"
REDIS_ENABLE_V4
"true"
REDIS_PREFIX
"dev"
REDIS_URL
"redis://127.0.0.1:6379"
SECURITY_ENABLE_TOKEN_WHITELIST
"0"
SENTRY_DSN
"https://99729cc06c8241e3b07e3f6ae9b6feec@sentry.sfimultimedia.com/9"
SENTRY_ENVIRONMENT
"dev"
SENTRY_PERFORMANCE_SAMPLE_RATE
"1.0"
SFI_MAILING_URL
"https://mailing.sfi.fr/webservices/recupererContactPol.php"
SFI_SSO_FORCE_CREDENTIALS
"87;707"
SFI_SSO_MAILING_HOST
"https://mailing.sfi.fr/webservices/sso.php"
SYSTEMUSER_0662705af65c48908b017d8fb0724bac_PASSWORD
"7G4k4WhQZDkkB5IGLRPcdfik5s58gf58f2g5s6W6T6BXfbYj2H_customer_newco"
SYSTEMUSER_0662705af65c48908b017d8fb0724bac_USERNAME
"system_0662705af65c48908b017d8fb0724bac"
SYSTEMUSER_customer_124_PASSWORD
"A6uraa5HQ87hY*unfx3$mr158!d7i*TX_customer_124"
SYSTEMUSER_customer_124_USERNAME
"system_customer_124"
SYSTEMUSER_customer_65_PASSWORD
"uBRJV4pUKP1wRk4iULwMnty93MPr4qr3Sod8jFlfJwZdURZB_customer_65"
SYSTEMUSER_customer_65_USERNAME
"system_customer_65"
SYSTEMUSER_customer_66_PASSWORD
"7G4k4WhQZDkkB5IGLRPcdfik3tOZfL4PVfs6W6T6BXfbYj2H_customer_66"
SYSTEMUSER_customer_66_USERNAME
"system_customer_66"
SYSTEMUSER_customer_98_PASSWORD
"wWZJwEgYjqLdPx77B1o9GR7r6r4Fvug82fmALJLvQCBjWD4G_customer_98"
SYSTEMUSER_customer_98_USERNAME
"system_customer_98"
SYSTEMUSER_e8919dbc01f34f79ab22b9c434f114eb_PASSWORD
"TPB5ccJCl4ZL5jurkpedelfwdEiYRt4g30xYM82"
SYSTEMUSER_e8919dbc01f34f79ab22b9c434f114eb_USERNAME
"system_e8919dbc01f34f79ab22b9c434f114eb"

Defined as regular env variables

Key Value
APP_DEBUG
"1"
CONTENT_TYPE
"application/json"
CONTEXT_DOCUMENT_ROOT
"/var/www/vhosts/app.pol-crm.com/httpdocs/app-pol-crm/dev/current/application/public"
CONTEXT_PREFIX
""
DOCUMENT_ROOT
"/var/www/vhosts/app.pol-crm.com/httpdocs/app-pol-crm/dev/current/application/public"
FCGI_ROLE
"RESPONDER"
GATEWAY_INTERFACE
"CGI/1.1"
HOME
"/var/www/vhosts/app.pol-crm.com"
HTTPS
"on"
HTTP_ACCEPT
"application/ld+json"
HTTP_ACCEPT_ENCODING
"gzip, deflate, br, zstd"
HTTP_ACCEPT_LANGUAGE
"fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7"
HTTP_CONNECTION
"close"
HTTP_HOST
"dev.app.pol-crm.com"
HTTP_ORIGIN
"https://dev.pol-crm.com"
HTTP_PRIORITY
"u=1, i"
HTTP_REFERER
"https://dev.pol-crm.com/"
HTTP_SEC_CH_UA
""Google Chrome";v="141", "Not?A_Brand";v="8", "Chromium";v="141""
HTTP_SEC_CH_UA_MOBILE
"?0"
HTTP_SEC_CH_UA_PLATFORM
""Linux""
HTTP_SEC_FETCH_DEST
"empty"
HTTP_SEC_FETCH_MODE
"cors"
HTTP_SEC_FETCH_SITE
"same-site"
HTTP_USER_AGENT
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
HTTP_X_ACCEL_INTERNAL
"/internal-nginx-static-location"
HTTP_X_POL_AUTH
"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE3NjA2MjM0MDIsImV4cCI6MTc2MDYyNzAwMiwicm9sZXMiOlsiUk9MRV9VU0VSIiwiUk9MRV9TVVBFUkFETUlOIiwiUk9MRV9BRE1JTiIsIlJPTEVfTU9EVUxFX01JQ1JPU09GVF9HUkFQSCIsIlJPTEVfTU9EVUxFX1BST0RVQ1QiLCJST0xFX01PRFVMRV9QUk9EVUNUX0NVU1RPTUlaRSIsIlJPTEVfTU9EVUxFX1FVT1RFX0xJTkUiLCJQUk9TUEVDVF9TSE9XIiwiUFJPU1BFQ1RfQ1VEIiwiQ09OVEFDVF9DVUQiLCJDT05UQUNUX1NIT1ciLCJUQVNLX1NIT1ciLCJUQVNLX0NVRCIsIlFVT1RFX1NIT1ciLCJRVU9URV9DVUQiLCJRVU9URV9SRUdFTkVSQVRFX1BSSUNFUyJdLCJsb2dpbiI6ImRlbW9wbGVuZXR1ZGUiLCJ1c2VyX2lkIjoiMWFlYjFiMDg5ZDE0NDM1NzhmM2QyZWNhMWY2YWJlYWYiLCJ1c2VyX2V4dGVybmFsX2lkIjoiMTY1MTc1NjUwMCIsImVtYWlsIjoiZ2VzdGlvbkFPc2FsbGFuY2hlc0Bncm91cGUtcGxlbmV0dWRlLmZyIiwiY3VzdG9tZXJfaWQiOiJlODkxOWRiYzAxZjM0Zjc5YWIyMmI5YzQzNGYxMTRlYiIsImN1c3RvbWVyX25hbWUiOiJHcm91cGUgUGzDqW7DqXR1ZGUiLCJjdXN0b21lcl9leHRlcm5hbF9pZCI6IjE2NDQ1OTM0OTciLCJjdXN0b21lcl9tYWlsaW5nX2lkIjoiMjU0IiwiZmlyc3RuYW1lIjoiR3VpbGxhdW1lIiwibGFzdG5hbWUiOiJTQVVUUk9OIiwibGl2ZW9Mb2dpbiI6bnVsbCwibGl2ZW9QYXNzd29yZCI6bnVsbCwiaGFzSW50cmFuZXQiOmZhbHNlLCJsYW5ndWFnZSI6IkZSIiwic2VjdGlvbnNfbGVhZGVkIjpbIkFHQiIsIkFHQiAtIFBMRU5FVFVERSIsIkFHQiAtIFBST0xZU0UiLCJBR0IgLSBQRVhJTiIsIkFHQiAtIFBFR0lNRSIsIkFHQiAtIFBSSU9TVVIiLCJEaXJlY3Rpb24gR8OpbsOpcmFsZSIsIkFHRyIsIkFHRyAtIFBST0xZU0UiLCJBR0cgLSBQRUdJTUUiLCJBR0cgLSBQTEVORVRVREUiLCJBR0cgLSBQTEVORVRVREUgLSBDb2xsYWJvcmF0ZXVyIiwiQUdHIC0gUFJJT1NVUiIsIkFHRyAtIFBFWElOIiwiQUdHIC0gUEVYSU4gLSBDb2xsYWJvcmF0ZXVyIiwiQUdDIiwiQUdDIC0gUFJJT1NVUiIsIkFHQyAtIFBST0xZU0UiLCJBR0MgLSBQRUdJTUUiLCJBR0MgLSBQTEVORVRVREUiLCJBR0MgLSBQRVhJTiIsIkFHQyAtIFBFWElOIC0gQ29sbGFib3JhdGV1ciIsIkFHViIsIkFHViAtIFBSSU9TVVIiLCJBR1YgLSBQRUdJTUUiLCJBR1YgLSBQUk9MWVNFIiwiQUdWIC0gUExFTkVUVURFIiwiQUdBIiwiQUdBIC0gUFJPTFlTRSIsIkFHQSAtIFBFWElOIiwiQUdBIC0gUEVHSU1FIiwiQUdBIC0gUFJJT1NVUiIsIkFHQSAtIFBMRU5FVFVERSIsIlJWSSIsIlJWSSAtIENWQyAvIFBMQiIsIlJWSSAtIEVudmlyb25uZW1lbnRhbCIsIlJWSSAtIENGTyAvIENGQSIsIkFHUyIsIkFHUyAtIFBFR0lNRSIsIkFHUyAtIFBMRU5FVFVERSIsIkFHUyAtIFBFWElOIiwiQUdTIC0gUFJPTFlTRSIsIkFHUyAtIFBSSU9TVVIiLCJBR0wiLCJBR0wgLSBQUk9MWVNFIiwiQUdMIC0gUFJJT1NVUiIsIkFHTCAtIFBMRU5FVFVERSIsIkFHTCAtIFBFWElOIiwiQUdMIC0gUEVYSU4gLSBDb2xsYWJvcmF0ZXVyIiwiQUdMIC0gUExFTkVUVURFIC0gMiIsIkFHTCAtIFBFR0lNRSJdLCJzZWN0aW9uc19tZW1iZXJzIjpbIjFhZWIxYjA4OWQxNDQzNTc4ZjNkMmVjYTFmNmFiZWFmIiwiMDY1OWU4Mjk0NDE2NDBhYmI0ZTc2ZTc0MWNmMDQzMTEiLCIwODU1YjIxMDdlODg0ZDU3YTUxNTcwY2QyYTk4YmZhMyIsIjBkMGQ4OTEyOWI4ZjRmODI4NTczN2QzZTJjYzRhMmEwIiwiNDczZDBjOWNjMjQ1NGEwOGJmYjYzZjgyZmNhY2I2NzYiLCI5ZmVkZmUxZWRiYjE0OTIzYWVmM2M2ZjZlZDhjZjJmZCIsImNlMTJhMjI1OTA1ZTQzZTNiZTUwMzk0ODRiNzFlNGViIiwiM2MzZmQ1NWFjYTQyNGUzYzhkYTUwYzdjOTQ2YmE4OWUiLCIyNTIyZGJlMzNjOTA0OTU0ODIxOTVhNjQwZjRiYTk0NiIsIjYyZWRhYjk5OTdkNTQyYTFhODgwNzdlMjFmZjU0NDIzIiwiYTUzY2Q3YWI0OGU0NGNhZmE0YmRjMzc2MDc1NWFiMTUiLCIwNjhkNTI1Y2ZmMjQ0NDlkODE4MjI3ZWFlNDRmZmRhYyIsIjQzZjFhNTM0N2Q2ZjRkODM5MDdkM2QzZDQ2Y2QyY2E0IiwiNTJlYzllNGQ4OTc2NGY5MjgyNDI1ZmU0NmFhN2MzOGYiLCJiZGU5Njk2NDJhNjQ0YjY1ODZmN2NiZGY2YjJmNDg4NiIsImM1OTliNWIwNzFhODQ2NjE4NzhjNGIzODQ5NjhlYjAzIiwiZTFiMzE2MGZlOGExNGJjNDg0ZWJkZDMwZDRkNGRhOTAiLCI2NDdjMDNhYTRjYmI0YmVlYTI2NzE3Yzc2MWZiMTVhNiIsIjliZjUyZDAzMjRhMTQxY2U5YjM3Mzk1ZmQ4NjQyYThhIiwiZjc5MWNhYzkzNTBhNDE4ZmI4YjA2NTI5YWIwNzcxMmUiLCIyMzRjOGJmZGM2MDg0OTljYjcyZmI0NGQwMDYyODNmOSIsIjhmOTkzMmVkNDNhMzRhNjZiYjM5MjA3M2E5OTk3ZWYyIiwiNTQ3MTU2YzI2MDFkNDQ0ZmE5ZjU2MWM3NGU5YmMwMWEiLCJkZWI2NjE3OWZhNTA0MzZmYmNkNjBlZWNiNTQ1NTIzYSIsImY3ZDgwOWQ4NmQ1ZjQ4NWI5NzkzZWIwN2VlNjc4N2ExIiwiODNlODA3ZmIxYTNkNGM4NTg0YWI2ZGE1YmY5YWFhNTYiLCJlZjk1OGVkMTJhNjU0ZDkwYWYzZWIwMmNkNjMxNjBiNyIsIjQ2NTdkYmQzNGY5NDRmMDdiMzA2MjViZmI4MmU5YzY0IiwiNjZkYjFmOWEwMmU5NDY4Zjk0ZDc0YmIzZmU1MWI5MTQiLCI2N2I0ZGI5MGRjYTY0MDg4YTEzYTNjMTBhOGU1NDgzOCIsIjg4YWU2ODM2YzFmMTQ0MTI5ODJiNmY3MTg0ZDY4MzViIiwiYzhhYjAxNDk0OTY4NGJjMWFkNzMzYTFkZGFmZTdjZTgiLCJmNDZhMjM2YTc5MGQ0MDYxODdmZjUxOTVlNGM0ZDdhNSIsImY1MDQ3YWYzMWVjMzRjODg4ZjkxYmVlZTNjOWFmYmQ0IiwiY2U0YzBkZmU4NWM0NDkzYzkwYzMzZGM1Mzk5MTQzOTgiLCJlOGZiYWVkZjNjZDc0ODBhOTY4YjI3OTUwMDZmNzRiNiIsImQ5ZjU1NGVkMjkyMjRhZWNhOTk4OTA4OGUyZmIyM2IwIiwiMWE3NDA3MDYyNTMwNDlhNWFkZGRiOTgxMmY0YzQ4NmUiLCI0ZWM4NDRlMTE1MGQ0ZjRiYTFhNDA4M2U0YmJkY2M4ZiIsIjU1NDY0ZTI0ZWIwMTRhNDlhYTU3NWNhNTcyZGFhYTkzIiwiODA5ZjZkZTQ2YThmNDk4YmI3MmNlZDEzNWI4NDdlNjUiLCJhYjk0YTA5YTM5NTc0NDZmYjkyOTEwNzM5YTcxZDBjMCIsImFmMWE4ZWFiNmFkNjQ1YTk5MzQ4NTBiNDljYmM3YjBkIiwiZDNhNzkyNmI4MzYzNDUxNjkyYjIxYjBiNzdlM2ViNDciLCJmNGU5OWQ3Yjc2OWI0ZjRiYWYxZGFjMDVjMTc1NGE3MCIsIjJkZmY5ZTc3MTA5ZjQ2MTA5MjIyNWU0OWU0YzJjNjBhIiwiMjIxNTZlMTQyYmM5NDgxNTg4MjhiMGQ3OTkwMTYzMGIiLCJhOTk3ZGFhM2IyYTY0ZTQxOTUyZjNkNDMyYTc0YzJiZCIsIjE4N2FmZTJjYTRiOTRmYzU4ZTFhNzJhNmVkNzY4N2JjIiwiN2Q1YWMxMjUxODAzNDQ2MTgyZTllNzkzYzdhOTkzYjciLCJhNTQ5NDhiN2NjM2I0NGNmOTYzNGNjZjRjNjVkYzk4OCIsIjc3ODM1ZDAyNTg5NTRlZjdiMjIxMDNiZjNkODdmY2Q4IiwiNzhkMzgxN2JjOTIzNGFhMDg4Y2FhN2IwZTU0OTU1ODciLCJhZTcyNWMwMDcwZjc0ZmI2YjdkZGRiNWUxOWRlYmI3MyIsImQxZGM0Yzg5MDY0ZDQ2MWY4ODFmOGNiMDljZWI1ZWU2IiwiOGEzZmMzMmQyYTg2NDBmNjgzMzMyZjFiMjhkOTY1YzIiLCJhMTliYmZlOTBhODc0YzIzYWFlNjgxYzUzYjc5OWMyMyIsIjFiYTcwYzQwYjQ1YjRkMGFhNTQxN2UyNTg4YmU3YWI0IiwiYzkwN2NmNWYzMjMxNGU0NjlmMjBhZjNlNTgwZWFkYTAiLCI0MjVlYzEyNjk4NTY0NzQ3YWZiYjg0OTc4M2ZkYTdlYyIsImJlNjE1Y2QzYjM3YjRkZjBiYjc1YjFjYzMzMDQ5ZGMyIiwiZjE0ZmMwZWU2MmFhNGEwNWI4Y2IyMTUxODdkNDVjNGYiLCIwYWYwZDhjMTk1MDM0MDkwOWYyMmZkMDJmOTQxNGYzZSIsImFhYWRmY2NlNzE4ZTQyN2ZiY2E3Y2E3YmQ0MDJmMmMyIiwiOWIyOGM4MTBjMjBiNDJlMjg1NjQ5MTZlNTFmZmZlMmYiLCI5NWQwZDdlMmI5Yzk0ODY5OTJmMTk2NzIyODQzYTc5NCIsIjQ4OWIxOGZkNGRmNTRmOTdiOWU1MTg1ZDFhZjZkMWM3IiwiZjFlODdlMDRkZTExNDk4OGFlMDc4M2ZjNDAzNzUyNjQiLCIyOWRkNmE0ZDY0YTA0NzNiYmUyMTc5ODk2OGI5NDgzNyJdLCJpc19zZWN0aW9uc19hY3RpdmF0ZWQiOnRydWUsInJlZnJlc2hfdG9rZW4iOiIifQ.IbE8X1-18xjSZgPnQ4MIL_u4J_kzfUDmiCFfk0R9yLz7cS6CKkKcJtE-bStAuQkyb0Y2QPRxoioPXJ9UrmPKvg62mGUh_qLkenjZijSLqnhDsGzs76Xwioz81JhMlAIQfOVEa06aRQgYgr668ChLsXrExGzHy_OQKUObr6dWwufF2UbryMI1dg25O8RfY92yZlyNrd9zlnNJx3BWcrq2Lo0BS1ukzXQR5r5wVtyS00fxiCnaRhX99FUrFJPqG2Wv7ZXbwMbNO7OYFn6S1Cw00QpjHKpz6Oem-ZbToOgznXRg1ecPGYKeRCDauDLy_mONuJUOotrtA8Bz_F6hGmtNQtoJtDk6gWwywTzRKMZw5n020g2g-CjlnmjsKjQMP9g_50L8LxuuTKRg9DKZAPC_KEUOnkSBC0LyG83gCRaDxzUkPjH77DlFgKNVXFxmjVWVIg2XUmtrSbO7hE7EcFza4tC3NwGOQn8verQaFrykU8X-fFES54Gvz6NaySiY2N_FBxz6QXYqlbEHsoSeRQRsPYelZ_23Mp64PYmUp7qxQvQ0-4Mp98hppk8mCM9d9kdNZV0KXbCvy4qsQAT5pgydf_fVWTwXrejNKYY6yP_6yGY-76PVgxQiKnObERzoYPfzP2t5pscc0Z_ugwu7j-9La_oFI14nDwRYAyt5CHDG698"
HTTP_X_REAL_IP
"37.58.179.19"
HTTP_X_TRANSACTION_ID
"front:krh14v6rqo"
PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY
"0"
PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY
"0"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
PHP_SELF
"/index.php"
QUERY_STRING
""
REDIRECT_HTTPS
"on"
REDIRECT_PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY
"0"
REDIRECT_PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY
"0"
REDIRECT_SSL_TLS_SNI
"dev.app.pol-crm.com"
REDIRECT_STATUS
"200"
REDIRECT_URL
"/api/templates"
REMOTE_ADDR
"37.58.179.19"
REMOTE_PORT
"39658"
REQUEST_METHOD
"GET"
REQUEST_SCHEME
"https"
REQUEST_TIME
1760623463
REQUEST_TIME_FLOAT
1760623463.7006
REQUEST_URI
"/api/templates"
SCRIPT_FILENAME
"/var/www/vhosts/app.pol-crm.com/httpdocs/app-pol-crm/dev/current/application/public/index.php"
SCRIPT_NAME
"/index.php"
SERVER_ADDR
"185.18.171.8"
SERVER_ADMIN
"[no address given]"
SERVER_NAME
"dev.app.pol-crm.com"
SERVER_PORT
"443"
SERVER_PROTOCOL
"HTTP/1.0"
SERVER_SIGNATURE
"<address>Apache Server at dev.app.pol-crm.com Port 443</address>\n"
SERVER_SOFTWARE
"Apache"
SSL_TLS_SNI
"dev.app.pol-crm.com"
SYMFONY_DOTENV_VARS
"APP_ENV,APP_SECRET,BDD_API_BUSINESS,BDD_API_CRM,BDD_API_GED,BDD_API_NOTIFY,BDD_API_PARAM,BDD_API_SEARCH,BDD_API_USER,BDD_MIDDLEWARE,BDD_SERVICE_PLENETUDE,MYSQL_HOST,MYSQL_PORT,MYSQL_USER,MYSQL_PASSWORD,MYSQL_DATABASE,DATABASE_URL,MAILER_URL,CORS_ALLOW_ORIGIN,JWT_SECRET_KEY,JWT_PUBLIC_KEY,JWT_PASSPHRASE,JWT_WHITELIST_PATH,MONOLOG_SUBJECT,MONOLOG_TO_EMAIL,MONOLOG_APPLICATION_NAME,MONOLOG_APPLICATION_ENVIRONMENT,MESSENGER_TRANSPORT_DSN_SEARCH,MESSENGER_TRANSPORT_DSN_NOTIFY,MESSENGER_TRANSPORT_DSN_MIDDLEWARE,SENTRY_DSN,SENTRY_ENVIRONMENT,SENTRY_PERFORMANCE_SAMPLE_RATE,IS_MAINTENANCE,SECURITY_ENABLE_TOKEN_WHITELIST,REDIS_ENABLE_V4,REDIS_URL,API_BUSINESS_HOST,API_CRM_HOST,API_GED_HOST,API_NOTIFY_HOST,API_PARAM_HOST,API_SEARCH_HOST,API_USER_HOST,API_MIDDLEWARE_HOST,API_SERVICE_PLENETUDE_HOST,API_POL_MAILING,API_POL_MAILING_V2,API_LIVEO,MAILING_ENV_USER,FTP_INTRANET_SFI_HOST,FTP_INTRANET_SFI_USER,FTP_INTRANET_SFI_PASSWORD,SFI_SSO_FORCE_CREDENTIALS,MICROSOFT_GRAPH_API_REDIRECT_URI,MICROSOFT_GRAPH_API_CLIENT_ID,MICROSOFT_GRAPH_API_NOTIFICATION_URL,MICROSOFT_GRAPH_API_CLIENT_SECRET,MICROSOFT_GRAPH_API_SUBSCRIPTION_EXPIRED_AT,MODULE_MICROSOFT_GRAPH_SECRET,INSEE_API_SIRENE_KEY,GEONAME_API_TOKEN,GED_ABSOLUTE_DIRECTORY_PATH,IMPORT_ONDUPACK_PATH_FILE,FRONT_URL,REDIS_PREFIX,SFI_SSO_MAILING_HOST,SFI_MAILING_URL,PREFIX_CUSTOMER_NAME_MAILING,MICROSOFT_GRAPH_API_TOKEN_LIFETIME,SYSTEMUSER_e8919dbc01f34f79ab22b9c434f114eb_USERNAME,SYSTEMUSER_e8919dbc01f34f79ab22b9c434f114eb_PASSWORD,SYSTEMUSER_customer_65_USERNAME,SYSTEMUSER_customer_65_PASSWORD,SYSTEMUSER_customer_66_USERNAME,SYSTEMUSER_customer_66_PASSWORD,SYSTEMUSER_customer_124_USERNAME,SYSTEMUSER_customer_124_PASSWORD,SYSTEMUSER_0662705af65c48908b017d8fb0724bac_USERNAME,SYSTEMUSER_0662705af65c48908b017d8fb0724bac_PASSWORD,SYSTEMUSER_customer_98_USERNAME,SYSTEMUSER_customer_98_PASSWORD,BEGIN_DATE,END_DATE"
USER
"app-pol-crm"
proxy-nokeepalive
"1"