O que é

Publicações é o módulo que cuida do conteúdo para redes sociais da empresa. Pela API, você prepara e organiza esse conteúdo usando a mesma base que o painel do miCore usa por dentro.

Na prática: você cria o rascunho de uma publicação, consulta o que já existe e descobre em quais plataformas pode publicar — tudo em nome de um usuário responsável, respeitando as permissões dele.

O que dá para fazer hoje

  • Criar um rascunho de publicação.
  • Editar um rascunho existente.
  • Listar e consultar publicações existentes.
  • Descobrir capacidades da credencial e as plataformas disponíveis.

Importante

  • Criar uma publicação sempre gera um rascunho — nada vai para a rede social.
  • Nenhum provedor externo é chamado nessa etapa.
  • A autoria é sempre do usuário responsável pela credencial.

Disponibilidade na API

Endpoints de Publicações

Crie e acompanhe os conteúdos preparados para publicação nas redes sociais. Os exemplos abaixo são gerados pelo contrato OpenAPI oficial.

GET /api/v1/publication-platforms

Lista plataformas e formatos reconhecidos

Exige o escopo `publications:read`.

Exemplo de requisição

cURL
curl "$MICORE_BASE_URL/publication-platforms" \
  -H "Authorization: Bearer $MICORE_TOKEN" \
  -H "Accept: application/json"

Exemplo de resposta JSON

Resposta · 200
{
    "data": []
}

Respostas possíveis

200 Plataformas ativas401 Token ausente, inválido, expirado ou revogado403 Escopo, assinatura, módulo ou permissão insuficiente429 Cota por minuto da credencial excedida503 O domínio não pôde ser associado com segurança a um tenant
GET /api/v1/publications

Lista publicações

Exige o escopo `publications:read`.

Parâmetros

NomeTipoObrigatórioDescrição
statusquerystringNão—
client_idqueryintegerNão—
per_pagequeryintegerNão—

Exemplo de requisição

cURL
curl "$MICORE_BASE_URL/publications" \
  -H "Authorization: Bearer $MICORE_TOKEN" \
  -H "Accept: application/json"

Exemplo de resposta JSON

Resposta · 200
{
    "data": [
        {
            "id": 345,
            "title": "Lançamento da nova coleção",
            "briefing": "Conheça as novidades que preparamos para você.",
            "is_draft": true,
            "status": null,
            "approval": null,
            "approval_type": null,
            "planned_at": null,
            "scheduled_at": null,
            "published_at": null,
            "client": null,
            "campaign": null,
            "platforms": [
                "instagram",
                "linkedin"
            ],
            "created_at": "2026-10-16T12:00:00-03:00",
            "updated_at": "2026-10-16T12:00:00-03:00"
        }
    ],
    "links": [],
    "meta": []
}

Respostas possíveis

200 Página de publicações401 Token ausente, inválido, expirado ou revogado403 Escopo, assinatura, módulo ou permissão insuficiente422 Dados inválidos429 Cota por minuto da credencial excedida503 O domínio não pôde ser associado com segurança a um tenant
POST /api/v1/publications

Cria um rascunho básico

Exige `publications:draft` e a permissão `create` do usuário responsável. Nunca publica, agenda ou chama um provider externo.

Parâmetros

NomeTipoObrigatórioDescrição
Idempotency-KeyheaderstringSimIdentificador único da mutação, com 8 a 100 caracteres. O resultado fica reutilizável por 24 horas e a chave não pode ser reutilizada depois de expirar.

Corpo da requisição

CampoTipoObrigatórioDescrição
titlestringSimAté 255 caracteres.
briefingstring | nullNão—
client_idinteger | nullNão—
campaign_idinteger | nullNão—
planned_atstring | null (date-time)Não—

Exemplo de requisição

cURL
curl -X POST "$MICORE_BASE_URL/publications" \
  -H "Authorization: Bearer $MICORE_TOKEN" \
  -H "Accept: application/json" \
  -H "Idempotency-Key: board-request-0001" \
  -H "Content-Type: application/json" \
  -d '{"title":"string","briefing":null,"client_id":1,"campaign_id":1,"planned_at":"2026-10-20T10:00:00-03:00"}'

Exemplo de resposta JSON

Resposta · 201
{
    "data": {
        "id": 345,
        "title": "Lançamento da nova coleção",
        "briefing": "Conheça as novidades que preparamos para você.",
        "is_draft": true,
        "status": null,
        "approval": null,
        "approval_type": null,
        "planned_at": null,
        "scheduled_at": null,
        "published_at": null,
        "client": null,
        "campaign": null,
        "platforms": [
            "instagram",
            "linkedin"
        ],
        "created_at": "2026-10-16T12:00:00-03:00",
        "updated_at": "2026-10-16T12:00:00-03:00"
    }
}

Respostas possíveis

201 Rascunho criado401 Token ausente, inválido, expirado ou revogado403 Escopo, assinatura, módulo ou permissão insuficiente409 Chave em processamento ou reutilizada com outro conteúdo422 Dados inválidos429 Cota por minuto da credencial excedida503 O domínio não pôde ser associado com segurança a um tenant
GET /api/v1/publications/{publication}

Exibe uma publicação

Exige o escopo `publications:read`.

Parâmetros

NomeTipoObrigatórioDescrição
publicationpathintegerSim—

Exemplo de requisição

cURL
curl "$MICORE_BASE_URL/publications/{publication}" \
  -H "Authorization: Bearer $MICORE_TOKEN" \
  -H "Accept: application/json"

Exemplo de resposta JSON

Resposta · 200
{
    "data": {
        "id": 345,
        "title": "Lançamento da nova coleção",
        "briefing": "Conheça as novidades que preparamos para você.",
        "is_draft": true,
        "status": null,
        "approval": null,
        "approval_type": null,
        "planned_at": null,
        "scheduled_at": null,
        "published_at": null,
        "client": null,
        "campaign": null,
        "platforms": [
            "instagram",
            "linkedin"
        ],
        "created_at": "2026-10-16T12:00:00-03:00",
        "updated_at": "2026-10-16T12:00:00-03:00"
    }
}

Respostas possíveis

200 Publicação encontrada401 Token ausente, inválido, expirado ou revogado403 Escopo, assinatura, módulo ou permissão insuficiente404 Recurso não encontrado429 Cota por minuto da credencial excedida503 O domínio não pôde ser associado com segurança a um tenant
PATCH /api/v1/publications/{publication}

Atualiza um rascunho

Exige `publications:draft` e a permissão `edit` do usuário responsável. Só rascunho é editável; nunca publica nem agenda.

Parâmetros

NomeTipoObrigatórioDescrição
publicationpathintegerSim—

Corpo da requisição

CampoTipoObrigatórioDescrição
titlestringNãoAté 255 caracteres.
briefingstring | nullNão—
client_idinteger | nullNão—
campaign_idinteger | nullNão—
planned_atstring | null (date-time)Não—

Exemplo de requisição

cURL
curl -X PATCH "$MICORE_BASE_URL/publications/{publication}" \
  -H "Authorization: Bearer $MICORE_TOKEN" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"title":"string","briefing":null,"client_id":1,"campaign_id":1,"planned_at":"2026-10-20T10:00:00-03:00"}'

Exemplo de resposta JSON

Resposta · 200
{
    "data": {
        "id": 345,
        "title": "Lançamento da nova coleção",
        "briefing": "Conheça as novidades que preparamos para você.",
        "is_draft": true,
        "status": null,
        "approval": null,
        "approval_type": null,
        "planned_at": null,
        "scheduled_at": null,
        "published_at": null,
        "client": null,
        "campaign": null,
        "platforms": [
            "instagram",
            "linkedin"
        ],
        "created_at": "2026-10-16T12:00:00-03:00",
        "updated_at": "2026-10-16T12:00:00-03:00"
    }
}

Respostas possíveis

200 Ordem de serviço atualizada401 Token ausente, inválido, expirado ou revogado403 Escopo, assinatura, módulo ou permissão insuficiente404 Recurso não encontrado422 Dados inválidos429 Cota por minuto da credencial excedida503 O domínio não pôde ser associado com segurança a um tenant