Skip to the content.

Fișiere media

Acest capitol explică fluxul pentru imagini și resurse media: verificarea existenței fișierelor, încărcarea prin addFile, formatul conținutului media și sincronizarea listei de fișiere.

Flux recomandat

  1. Publică sau actualizează oferta prin saveProperty.
  2. Verifică dacă fișierul există deja prin existsFile.
  3. Încarcă fișierul lipsă prin addFile.
  4. Sincronizează lista finală prin syncFiles, dacă vrei ca oferta să păstreze doar fișierele transmise în FILE_IDS.

Nu apela addFile sau syncFiles pentru o ofertă care nu a fost creată cu succes prin saveProperty. Dacă oferta lipsește, operațiile media pot răspunde cu erori de tip Property not found sau cu warnings despre FILE_IDS invalide.

existsFile verifică starea fișierului, nu existența ofertei. Pentru o ofertă inexistentă poate răspunde cu _isValid = true, photo = false și _data.exists = false.

Câmpuri pentru addFile

Pentru addFile, câmpurile fișierului se transmit direct în options, fără structură imbricată:

Pentru imagini trebuie să trimiți cel puțin una dintre valorile FILE_BODY sau FILE_URL. FILE_BODY nu acceptă prefixe Data URI precum data:image/jpeg;base64,.

FILE nu este câmp pentru addFile; structura FILE.ID se folosește la deleteFile.

Formatul identificatorilor de fișier

FILE_ID și valoarea corespunzătoare FILE.ID trebuie să fie identificatori ASCII stabili, de maximum 100 de caractere. Folosește un identificator alfanumeric sau un UUID; forma recomandată acceptă numai litere ASCII, cifre și cratimă: ^[A-Za-z0-9-]+$.

Nu folosi text liber, spații, diacritice, bare / sau \, caractere de control ori caractere specifice URL-urilor și interogărilor, precum ?, &, # și =. Păstrează exact aceeași valoare pentru același fișier în addFile, existsFile, deleteFile și syncFiles.

Câmpuri pentru deleteFile

Pentru ștergerea unei imagini atașate, folosește deleteFile cu:

După ștergere, poți confirma rezultatul prin existsFile; pentru fișierul șters răspunsul trebuie să indice exists = false.

Câmpuri pentru existsFile

Folosește existsFile înainte de addFile ca să eviți reîncărcarea aceleiași imagini:

Câmpuri pentru syncFiles

După încărcarea imaginilor, trimite lista finală prin syncFiles:

syncFiles este o operație de reconciliere: fișierele care nu apar în FILE_IDS pot fi eliminate din galeria ofertei.

Serverul acceptă mai multe formate pentru FILE_IDS: array PHP serializat, JSON array, obiect JSON de forma {"ids":[...]} sau listă text separată prin virgulă, punct și virgulă, bară verticală ori spații. Pentru compatibilitate cu integrarea existentă, formatul folosit frecvent este array PHP serializat.

Trimite în FILE_IDS doar identificatori de fișiere care au fost acceptați anterior pentru aceeași ofertă. Dacă lista conține fișiere care nu există pe ofertă, răspunsul poate include warnings de tip No valid FILE_IDs found in input.

Un warning la syncFiles nu înseamnă întotdeauna eșec SOAP. Verifică explicit _warnings chiar dacă _isValid este true, mai ales când reconcilierea nu găsește niciun FILE_ID valid.

Răspunsul poate include trebuie_trimise în _success.0.result. Lista conține identificatori de fișiere care trebuie retrimiși prin addFile, de obicei pentru imagini care lipsesc sau nu au fost reconciliate corect după apelul syncFiles.

Exemplu de structură relevantă în răspuns:

{
  "_success": [
    {
      "result": {
        "trebuie_trimise": [101, 102]
      }
    }
  ]
}

Pentru lista operațiilor SOAP asociate, vezi Operații API. Pentru fluxul complet de publicare și sincronizare, vezi Sincronizare.