Ir para o conteúdo

Criar Mensagens

Criar mensagens para um ticket

Este endpoint permite criar uma mensagem para um determinado ticket, podendo ou não incluir anexos.

Escopo requerido

Valor Descrição
open:ticket-messages-seller:write Permite a utilização das APIs de escrita/atualização.

Parâmetros da URL

Campo Tipo Descrição Obrigatório
ticket_uuid string Chave para identificação do ticket. Sim


Restricoes de Anexos - file_type: image/png, image/jpe, image/jpeg, image/jpg, image/gif, image/vnd.ms-photo, image/pdf, application/pdf - file_size: 5MB


Chamada:

curl -X 'POST' \
  'https://api.magalu.com/seller/v0/tickets/{ticket_uuid}/messages' \
  -H 'X-CHANNEL: <Channel Id>' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer <Access Token>' \
  -H 'Content-Type: application/json' \ -d '{
    "code": "codigo_opcional_definido_pelo_usuario",
    "message": "O produto será entregue na próxima semana.",
    "owner": {
      "code": "j.doe",
      "name": "John Doe"
    },
    "destination": "customer",
    "attachments": [
      {
        "file_name": "nome_do_arquivo.png",
        "file_extension": "png",
        "file_type": "image/png"
      },
      {
        "file_name": "file_name_2.png",
        "file_extension": "png",
        "file_type": "image/png"
      }
    ]
  }'

NOTA: Para o envio de anexos neste fluxo, esta primeira requisição apenas informa o nome e extensões dos arquivos que o usuário gostaria de enviar. Como resposta, serão recebidos links assinados para a conclusão do upload desses arquivos.

Resposta:

{
  "transaction_id": "e55e7339-3cf6-4fa0-883c-e9c3e38602ec",
  "data": {
    "message": "Seguem os arquivos em anexo",
    "code": "codigo_opcional_definido_pelo_usuario",
    "ticket": {
      "id": "e1faf69b-336a-5415-8c33-fc63f505b766",
      "code": "4c503588-2a90-4ee4-b84b-b89d5a554f3e",
      "type": "cancellation",
    },
    "destination": "customer",
    "attachments": [
      {
        "id": "71b25f3a-0ae2-484f-868e-418b0c1d5991",
        "file_name": "71b25f3a-0ae2-484f-868e-418b0c1d5991.png",
        "provided_file_name": "nome_do_arquivo.png",
        "file_extension": "png",
        "file_type": "image/png",
        "file_path": "e55e7339-3cf6-4fa0-883c-e9c3e38602ec/71b25f3a-0ae2-484f-868e-418b0c1d5991.png",
        "signed_link": {
          "url": "https://storage.googleapis.com/sac-attachments-tmp-staging/e55e7339-3cf6-4fa0-883c-e9c3e38602ec/71b25f3a-0ae2-484f-868e-418b0c1d5991.png?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=ps-core-customer-service%40maga-homolog.iam.gserviceaccount.com%2F20241108%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20241108T131525Z&X-Goog-Expires=3600&X-Goog-SignedHeaders=content-type%3Bhost%3Bx-goog-content-length-range&X-Goog-Signature=...",
          "method": "PUT",
          "expires_at": "2024-11-08T14:15:25.416590",
          "max_size": 5242880,
          "expired": false,
          "headers": {
            "Content-Length": "5242880",
            "x-goog-content-length-range": "0,5242880"
          }
        }
      }
    ],
    "created_by": "17aa4169-0aee-4417-9739-d86748b330b0"
  },
  "links": [
    {
      "path": "/seller/v0/transactions/e55e7339-3cf6-4fa0-883c-e9c3e38602ec"
    }
  ]
}

Concluir o upload de anexos

Caso a mensagem possua anexos, é necessário o upload dos arquivos nas URLs assinadas retornadas no payload da resposta utilizando os headers fornecidos também no payload. O fluxo de criação da mensagem será pausado até que os anexos sejam devidamente enviados.

Abaixo, um exemplo de requisição para upload de um arquivo em uma URL assinada:

curl -X PUT \
  'https://storage.googleapis.com...' \
  -H 'Content-Length: 5242880' \
  -H 'x-goog-content-length-range: 0,5242880' \
  --data-binary '@path/to/nome_do_arquivo.png'

Quando todos os uploads de anexos forem concluídos em suas respectivas URLs assinadas, o fluxo de criação da mensagem será retomado.

NOTA: Passados 15 minutos da requisição inicial, caso o upload dos arquivos não seja concluído, a mensagem expirará e não será criada.

Códigos de retorno

Código Descrição
202 Accepted
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
500 Internal Server Error

Acompanhar finalização da criação da mensagem

A criação de mensagem agora é um fluxo assíncrono e pode ser acompanhado a partir de transações. Consulte a documentação sobre fluxos assíncronos e transações para entender mais sobre o processo.