> For the complete documentation index, see [llms.txt](https://help.citrusad.com/retail-media-interface/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.citrusad.com/retail-media-interface/partner/pt-br/campaign-management-api/creativeassets/uploadfile.md).

# Fazer upload de um arquivo de campanha

Use este endpoint para carregar diferentes tipos de arquivos de campanha. Você pode carregar imagens para banners e banner X nos formatos jpeg, jpg, png, gif, PDF ou SVG. Você também pode carregar arquivos PDF padrão de conteúdo e logotipos para display padrão de conteúdo. Certifique-se de que os arquivos de logotipo estejam no formato jpeg, jpg ou png. **Nova versão disponível**: [Carregar um arquivo de campanha - v4](/retail-media-interface/partner/pt-br/campaign-management-api/creativeassets/uploadfile-2.md) já está disponível com recursos aprimorados.

{% hint style="info" %}
Diretrizes de carregamento de arquivos

* **Limite de tamanho de arquivo**: O tamanho máximo de arquivo suportado é de 4 MB.
* **Tipos de arquivo de banner suportados**: Atualmente, a API aceita os seguintes formatos de arquivo: PNG, JPEG e JPG.
* **Tipos de arquivo de banner X suportados**: Atualmente, a API aceita os seguintes formatos de arquivo: PNG, JPEG, JPG, SVG e GIF.
* **Tipos de arquivo de logotipo para display padrão de conteúdo suportados**: Atualmente, a API aceita os seguintes formatos de arquivo: JPEG, JPG e PNG.
* **Dimensão da imagem**: As dimensões da imagem não são validadas atualmente em relação ao padrão de conteúdo do varejista. Certifique-se de que elas atendam aos padrões de conteúdo definidos. Esta melhoria está planejada para os próximos lançamentos.
* **Manipulação de vários arquivos**: Se vários arquivos forem enviados em uma única solicitação, apenas o primeiro arquivo será processado, enquanto os demais serão ignorados.
* Banner\*\*: Para o `Campaign_File_Type_Banner_Image`, fornecer um ID de espaço e um ID de padrão de conteúdo é obrigatório.
* \*\*Banner X: Para o `Campaign_File_Type_Banner_X_Image`, fornecer `imageSlotType` é obrigatório.
  {% endhint %}

{% hint style="info" %}
URL de carregamento de arquivo

Ao carregar seu arquivo de ativo de Criativo, certifique-se de fornecer um caminho absoluto completo para o arquivo. Se você estiver copiando um código de teste de exemplo da documentação para usar em seu ambiente, certifique-se de atualizar o local do arquivo antes de executar o comando. Por exemplo:

curl --request POST --url 'https\://\<your-url>.test.com/v3/campaign-file-upload?contentStandardId=test1\&imageSlotType=IMAGE\_SLOT\_TYPE\_UNSPECIFIED\&campaignFileType=CAMPAIGN\_FILE\_TYPE\_BANNER\_IMAGE' --header 'accept: application/json' --header 'Authorization: Bearer \<your-token>' --header 'content-type: multipart/form-data' --form "file=**@/Users/test/downloads/apple.png**"
{% endhint %}

## Upload a campaign file

> Use this endpoint to upload different types of campaign files. You can upload images for banners and banner X in jpeg, jpg, png, gif, PDF, or SVG formats. You may also upload content standard PDF files and content standard display logos. Ensure that logo files are in jpeg, jpg, or png format.&#x20;

```json
{"openapi":"3.0.0","info":{"title":"File Upload API","version":"a21"},"servers":[{"description":"Campaign server","url":"https://campaign.citrusad.com/v3"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"scheme":"bearer","type":"http"}},"schemas":{"campaignfileupload_body":{"properties":{"file":{"description":"The campaign file to upload, which can include an image, content standard display logo, or content standard PDF for banners and banner X. \n  - Supported image formats are jpeg, jpg, png, gif, PDF, and SVG. \n  - Display logos must be in jpeg, jpg, or png format.","format":"binary","type":"string"}},"required":["file"],"type":"object"},"v3UploadFileResponse":{"properties":{"fileId":{"description":"The unique identifier of the uploaded file.","type":"string"},"fileUrl":{"description":"The URL to access the file uploaded.","type":"string"}},"type":"object"},"rpcStatus":{"properties":{"code":{"type":"integer"},"details":{"items":{"type":"object"},"type":"array"},"message":{"type":"string"}},"type":"object"}}},"paths":{"/campaign-file-upload":{"post":{"description":"Use this endpoint to upload different types of campaign files. You can upload images for banners and banner X in jpeg, jpg, png, gif, PDF, or SVG formats. You may also upload content standard PDF files and content standard display logos. Ensure that logo files are in jpeg, jpg, or png format. ","operationId":"uploadFile","parameters":[{"description":"The unique identifier for the content standard, used to validate the image based on its metadata.","in":"query","name":"contentStandardId","required":false,"schema":{"type":"string"}},{"description":"Specifies the unique slot within the content standard where the image will be placed. It ensures the image adheres to predefined slot requirements and validations. Examples include left_ribbon, top_banner, or side_panel.","in":"query","name":"slotId","required":false,"schema":{"type":"string"}},{"description":"The unique identifier of the campaign's team.","in":"query","name":"teamId","required":true,"schema":{"type":"string"}},{"description":"The unique identifier for a retailer-managed campaign's team. As a retailer, you can upload campaign file for the supplier team by specifying the managerTeamId. Ensure that API requests are authenticated with the retailer's bearer token","in":"query","name":"managerTeamId","schema":{"type":"string"}},{"description":"Specifies the type of image slot, which determines the role and placement of the image within the campaign.","in":"query","name":"imageSlotType","required":false,"schema":{"enum":["IMAGE_SLOT_TYPE_PRIMARY_BACKGROUND","IMAGE_SLOT_TYPE_SECONDARY_BACKGROUND","IMAGE_SLOT_TYPE_PRIMARY_HERO","IMAGE_SLOT_TYPE_SECONDARY_HERO"],"type":"string"}},{"description":"Specifies the  campaign file type: Supported types include: -\n  - CAMPAIGN_FILE_TYPE_BANNER_IMAGE: Image for your banner campaign. -\n  - CAMPAIGN_FILE_TYPE_BANNER_X_IMAGE: Image for your banner X campaign. -\n  - CAMPAIGN_FILE_TYPE_BANNER_X_CONTENT_STANDARD_DISPLAY_LOGO: Display logo for your banner X content standard file. \n  - CAMPAIGN_FILE_TYPE_BANNER_CONTENT_STANDARD_DISPLAY_LOGO: Display logo for\nyour banner content standard file. -\n  - CAMPAIGN_FILE_TYPE_BANNER_X_CONTENT_STANDARD_PDF: Content standard PDF for\nyour banner X campaign. \n  - CAMPAIGN_FILE_TYPE_BANNER_CONTENT_STANDARD_PDF:\nContent standard PDF for your banner campaign. ","in":"query","name":"campaignFileType","required":true,"schema":{"enum":["CAMPAIGN_FILE_TYPE_BANNER_IMAGE","CAMPAIGN_FILE_TYPE_BANNER_X_IMAGE","CAMPAIGN_FILE_TYPE_BANNER_X_CONTENT_STANDARD_DISPLAY_LOGO","CAMPAIGN_FILE_TYPE_BANNER_X_CONTENT_STANDARD_PDF_FILE","CAMPAIGN_FILE_TYPE_BANNER_CONTENT_STANDARD_DISPLAY_LOGO","CAMPAIGN_FILE_TYPE_BANNER_CONTENT_STANDARD_PDF_FILE"],"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/campaignfileupload_body"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v3UploadFileResponse"}}},"description":"File uploaded successfully"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"There was a problem with input."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"Invalid token error."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"Invalid token error."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"Upload a campaign file"}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://help.citrusad.com/retail-media-interface/partner/pt-br/campaign-management-api/creativeassets/uploadfile.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
