# Format du flux XML

## 1. Architecture du fichier XML

```xml
<?xml version="1.0" encoding="UTF-8"?>
<source>
   <publisher>Example Job Site</publisher>
   <publisherurl><http://www.examplemissionsite.com></publisherurl>
   <lastBuildDate>Fri, 10 March 2020 22:49:39 GMT</lastBuildDate>
   <mission>
      <title><![CDATA[Sales Executive]]></title>
      <clientId><![CDATA[32132143]]></clientId>
			{...}
      <organizationFullAddress><![CDATA[55 Rue du Faubourg Saint-Honoré 75008 Paris]]></organizationFullAddress>
   </mission>
    [...]
</source>
```

## 2. Règles de fonctionnement du flux

Le flux XML doit contenir **l’ensemble des missions actives**.

### Synchronisation avec l’API Engagement

* Toute mission présente dans le flux et absente de l’API → **est créée**
* Toute mission présente dans le flux et déjà existante → **est mise à jour**
* Toute mission absente du flux mais existante dans l’API → **est supprimée**

👉 Le flux agit donc comme une **source de vérité complète** (logique de synchronisation totale)

### Contraintes de format

* Le flux doit respecter le **modèle de données de l’API Engagement**
* Le fichier doit être encodé en **UTF-8**
* Les champs textuels doivent être encapsulés dans des balises **CDATA**
* Une mission = une balise `<mission>`
* Les champs multiples doivent être structurés en **sous-balises XML** (et non en texte concaténé)

## 3. Exemple de fichier XML avec encodage UTF-8

```xml
<?xml version="1.0" encoding="UTF-8"?>
<source>
  <publisher>Example Job Site</publisher>
  <publisherurl>http://www.examplemissionsite.com</publisherurl>
  <lastBuildDate>Fri, 10 March 2020 22:49:39 GMT</lastBuildDate>

  <mission>
    <title><![CDATA[Sales Executive]]></title>
    <clientId><![CDATA[32132143]]></clientId>

    <description><![CDATA[
      Do you have 1-3 years of experience (...) sign up !
    ]]></description>

    <applicationUrl><![CDATA[https://www.urltomymission.org]]></applicationUrl>

    <postedAt><![CDATA[2005-12-10T22:49:39.000Z]]></postedAt>
    <startAt><![CDATA[2005-12-10T22:49:39.000Z]]></startAt>
    <endAt><![CDATA[2005-12-20T22:49:39.000Z]]></endAt>

    <addresses>
      <address>
        <street><![CDATA[46 Rue Saint-Antoine]]></street>
        <postalCode><![CDATA[75004]]></postalCode>
        <city><![CDATA[Paris]]></city>
        <departmentCode><![CDATA[75]]></departmentCode>
        <departmentName><![CDATA[Paris]]></departmentName>
        <region><![CDATA[Île-de-France]]></region>
        <country><![CDATA[France]]></country>
      </address>

      <address>
        <street><![CDATA[Quai de Loire]]></street>
        <postalCode><![CDATA[45000]]></postalCode>
        <city><![CDATA[Orléans]]></city>
        <departmentCode><![CDATA[45]]></departmentCode>
        <departmentName><![CDATA[Loiret]]></departmentName>
        <region><![CDATA[Centre-Val de Loire]]></region>
        <country><![CDATA[France]]></country>
      </address>
    </addresses>

    <places><![CDATA[2]]></places>

    <activities>
      <activity><![CDATA[logistique]]></activity>
    </activities>

    <remote><![CDATA[full]]></remote>
    <domain><![CDATA[environnement]]></domain>

    <tags>
      <tag><![CDATA[environnement]]></tag>
      <tag><![CDATA[écologie]]></tag>
    </tags>

    <image><![CDATA[https://monurl.com/1.jpg]]></image>

    <organizationName><![CDATA[Big ABC Corporation]]></organizationName>
    <organizationRNA><![CDATA[W922000733]]></organizationRNA>
    <organizationSiren><![CDATA[332737394]]></organizationSiren>
    <organizationUrl><![CDATA[https://www.organizationname.com]]></organizationUrl>
    <organizationClientId><![CDATA[123312321]]></organizationClientId>
    <organizationType><![CDATA[Association déclarée]]></organizationType>
    <organizationFullAddress><![CDATA[55 Rue du Faubourg Saint-Honoré 75008 Paris]]></organizationFullAddress>
    <organizationStatusJuridique><![CDATA[Association]]></organizationStatusJuridique>

    <compensationAmount><![CDATA[100]]></compensationAmount>
    <compensationUnit><![CDATA[day]]></compensationUnit>
    <compensationType><![CDATA[net]]></compensationType>

  </mission>
</source>
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.api-engagement.beta.gouv.fr/annoncer-des-missions/creation-dun-flux-xml/methode-1-creation-dun-flux-xml/format-du-flux-xml.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
