API v1 Hub de Marketplaces - Marketplaces In

Documentação dos recursos disponíveis nas APIs restritas de marketplaces wap.store com o Hub de Marketplaces.

Primeiros passos

Para começar a desenvolver a integração do seu sistema com o Hub de Marketplaces, você precisará de uma conta no ambiente sandbox, para que possa testar todos os recursos disponíveis na API antes de ir para produção. Assim que finalizar os testes, você deverá enviar um e-mail para suporte.omni@wapstore.com.br e solicitar a homologação de sua aplicação.

Após isso, o time de suporte da Uappi solicitará alguns testes de requisições a API e, caso esteja tudo certo, sua aplicação será homologada e você receberá o AppToken de produção que deverá ser utilizado para integrar todos os marketplaces Uappi de seu sistema em produção. O processo de homologação será feito apenas uma vez e, a partir da homologação, sua aplicação estará apta a trabalhar em produção.

Caso sua aplicação esteja em produção e muitos erros forem reportados, você poderá ter seu AppToken revogado e terá que passar novamente pelo processo de homologação

Solicite sua conta de homologação pelo suporte.omni@wapstore.com.br

Endpoints

Os ambientes de produção e homologação são dividos e podem ser acessados pelas URLs abaixo:

Sandbox

  • API: https://omni.sandbox.wapstore.com.br/omni-api
  • Portal: https://omni.sandbox.wapstore.com.br

Produção

  • API: https://omni.wapstore.com.br/omni-api
  • Portal: https://omni.wapstore.com.br

Response Headers

Requisições POST, PUT e DELETE possuem alguns headers úteis em seu response, contendo o ID da requisição gerada (Request-Id) e os limites de requisições para cada endpoint (X-RateLimit-Limit e X-RateLimit-Remaining). Caso encontre problemas com alguma requisição, basta informar ID da requisição ao time de suporte, pois isso facilitará a obtenção dos logs e diminuirá o tempo de correção do problema.

Exemplo de response header
Cache-Control: no-cache, private
Content-Type: application/json
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 59
Request-Id: 1R17E20190510133646C1557506206412V9676

Autenticação

As APIs do Hub de Marketplaces possuem dois níveis de autenticação: Autenticação da aplicação e Autenticação da integração.

Autenticação da aplicação

Todas as aplicações integradas possuem um token de identificação chamado AppToken que deve ser enviado no header de todas as requisições, pois sem ele, não é possível identificar a aplicação conectada e sua conexão será negada imediatamente.

Em produção, cada aplicação possui um AppToken exclusivo, porém em homologação, todas as aplicações devem utilizar o AppToken homologacao, conforme o exemplo abaixo:

Exemplo de header com AppToken
App-Token: homologacao
Content-Type: application/json
cache-control: no-cache

Autenticação da integração

O segundo nível de autenticação é o da integração, ou seja, da conta do marketplace a ser requisitada.

A autenticação da integração é feita a partir de um token de acesso temporário, gerado no recurso de autenticação e que deve ser enviado no header de todas as requisições no índice Authorization (exceto a requisição de autenticação, onde apenas o AppToken deve ser enviado).

Exemplo de header com Authorization
App-Token: homologacao
Content-Type: application/json
cache-control: no-cache
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczpcL1wvYXBpLm9tbmkud2Fwc3RvcmUuY29tLmJyXC8iLCJhdWQiOiJBcGkgZGUgVGVzdGUiLCJpYXQiOjE1NTc0MjgzMjcsIm5iZiI6MTU1NzQyODMyNywiZXhwIjoxNTU3NDMwMTI3LCJ0aWQiOiIwOWI4ZGI5YWYxNjhkMDRhMmE2OTBhNTQ1NmEyZWRmMSJ9.Gfvm1Z54pUXZhlNhafV1fEoOBiMGS_sku4o2a8CKWmY

Autorização

POST /v1/auth

Recurso responsável por gerar o token de autenticação da integração.

Para esse recurso, o único token que deverá enviar no header é o AppToken, pois nesse momento você ainda não terá o token da integração.
Os dados enviados no body (ApiKey e SecretKey) são relacionados a conta de integração do marketplace (conta de homologação ou produção).

Após o token ser gerado, ele será válido por 30 minutos e deverá ser enviado no header Authorization das demais APIs.

Importante: Sempre que um novo token for gerado o anterior será revogado e perderá o acesso imediatamente.

Informações do endpoint
Ambiente Sandbox / Produção
Status de Sucesso 201 Created

Request

Exemplo de requisição de autorização
{
	"apiKey": "1234A5678B9012C3456",
	"secretKey":"3456D9012E5678F1234"
}

Detalhes da Request

Campo Tipo Obrigatório Descrição
apiKey String Sim Chave pública da API de integração do Seller
secretKey String Sim Chave privada da API de integração do Seller

Response

Exemplo de resposta da autorização (token gerado)
{
    "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczpcL1wvYXBpLm9tbmkud2Fwc3RvcmUuY29tLmJyXC8iLCJhdWQiOiJBcGkgZGUgVGVzdGUiLCJpYXQiOjE1NTc0NTc2OTYsIm5iZiI6MTU1NzQ1NzY5NiwiZXhwIjoxNTU3NDU5NDk2LCJ0aWQiOiI5MzRjZTY2ZGY5MDQ1YWNmMzY1MGIyZWEzNWUxYjMwMSJ9.Ii148QGob19NI2-fsMbqvMpmVFyGR3bkJjSbOxaCxmg"
}

Detalhes do Response

Campo Tipo Descrição
token String Token de acesso gerado para as APIs

Ping (Teste)

GET /v1/ping

Rota de teste de token. Utilize essa URL para testar o token gerado no recurso de autorização. Caso receba a palavra 'pong' (em texto puro), significa que a sua requisição foi autenticada com sucesso, ou seja, seu AppToken e o token temporário são válido.

Informações do endpoint
Ambiente Sandbox / Produção
Status de Sucesso 200 Ok

Sellers

GET /v1/sellers

Recurso responsável por listar todos os sellers vinculados ao marketplace, ordenados alfabeticamente pelo nome.

Nesse recurso serão retornados todos os dados dos sellers.

Informações do endpoint
Ambiente Sandbox / Produção
Status de Sucesso 200 Ok
Offset/Limit Obrigatório o envio dos parâmetros offset e limit na URL da requisição.
Exemplo de requisição: /v1/sellers?offset=0&limit=100
Valor máximo para o parâmetro limit: 100

Response

Exemplo de resposta da consulta de sellers
{
    "sellers": [
        {
            "idSeller": "17",
            "nome": "Seller de Teste",
            "documento": "11217233000167",
            "ativo": true,
            "criadoWapstore": true,
            "sincronizadoWapstore": true,
            "dataVinculo": "2019-06-03 10:00:18",
            "contato": {
                "email": "seller@teste.com.br",
                "telefone": "1136987412"
            },
            "endereco": {
                "endereco": "Avenida Paulista",
                "numero": "507",
                "complemento": "Sala 10",
                "bairro": "Bela Vista",
                "cidade": "São Paulo",
                "estado": "SP",
                "cep": "01310940"
            },
            "cicloRepasse": {
                "statusLiberacao": "entregue",
                "diaFechamento": "4",
                "diaRelatorioFechamento": "5",
                "prazoContestacao": "3",
                "prazoContestacaoResposta": "5",
                "tipoRepasse": "mensal",
                "fechamentoCiclo": [
                    31
                ],
                "diaRepasse": "1",
                "dadosBancarios": [
                    {
                        "nomeBanco": "Caixa",
                        "numeroBanco": "104",
                        "agencia": "12345",
                        "conta": "1234567-1",
                        "titular": "Seller de teste LTDA",
                        "cnpj": "11217233000167"
                    },
                    {
                        "nomeBanco": "Santander ",
                        "numeroBanco": "033",
                        "agencia": "5678",
                        "conta": "5678-8",
                        "titular": "Seller de teste LTDA",
                        "cnpj": "11217233000167"
                    }
                ]
            }
        }
    ],
    "info": {
        "filtros": [],
        "prev": "",
        "self": "https://api.sandbox.omni.wapstore.com.br/v1/sellers?offset=0&limit=100",
        "next": "",
        "offset": 0,
        "limit": 100,
        "exibindo": 1,
        "total": 1
    }
}

Detalhes do Response

Campo Tipo Descrição
sellers Data Collection Sellers listados
   idSeller String ID do seller
   nome String Nome do Seller
   documento String Numero da documentação do seller (CPF, CNPJ, NIF, VAT)
   ativo Boolean Define se o seller está ativo no marketplace
   criadoWapstore Boolean Define se o seller já foi criado na WapStore
   sincronizadoWapstore Boolean Define se o seller está com todas as informações sincronizadas com a WapStore
   dataVinculo String Data em que o seller foi vinculado ao marketplace
   contato Object Dados de contato do seller
      email String E-mail de contato
      telefone String Telefone de contato
   endereco Object Dados de endereço do seller
      endereco String Nome da rua, avenida, etc.
      numero String Número do imóvel
      complemento String Complemento do endereço
      bairro String Bairro do endereço
      cidade String Cidade do endereço
      estado String UF do endereço
      cep String CEP do endereço
   cicloRepasse Object Dados do ciclo de repasse
      statusLiberacao String Status para um pedido ser considerado apto
      diaFechamento Number Dia útil do mês para ser o limite para o pedido estar sem nenhuma pendência ou reclamação para aparecer no relatório de repasse atual
Valor mínimo: 1 | Valor máximo: 31
      diaRelatorioFechamento Number Dia útil do mês em que o pedido é liberado no relatório de repasse e inicia o prazo de contestação
Valor mínimo: 1 | Valor máximo: 31
      prazoContestacao Number Prazo para o seller contestar um pedido ou valor na conta corrente
Valor mínimo: 1 | Valor máximo: 31
      prazoContestacaoResposta Number Prazo para o marketplace responder um contestação (utilizado apenas para informação para o seller)
Valor mínimo: 1 | Valor máximo: 31
      tipoRepasse String Define o tipo de repasse configurado
Valores aceitos: mensal, quinzenal
      fechamentoCiclo Array de números Dia do fechamento do ciclo de pagamentos de um mês. Caso o dia do fechamento seja 29, 30 ou 31, os meses que não possuírem esse dia será considerado o último dia do mês
      diaRepasse Number Define o dia útil do mês para repasse
      dadosBancarios Data Collection Contas bancárias do seller
         nomeBanco String Nome do banco
         numeroBanco String Número do banco
         agencia String Agência
         conta String Número da conta
         titular String Nome do titular da conta
         cnpj String CNPJ da conta
info Object Informações sobre a listagem (paginação, filtros, total de itens, etc.)
   filtros Object (key/value) Filtros aplicados na URL
   prev String Página anterior
   self String Página atual
   next String Próxima página
   offset Number Offset solicitado
   limit Number Limit solicitado
   exibindo Number Quantidade de registros sendo exibidos na página atual
   total Number Total de registros em todas as páginas

GET /v1/sellers/{id}

Recurso de consulta individual de sellers responsável por retornar todos os dados cadastrados de um seller.

Informações do endpoint
Ambiente Sandbox / Produção
Status de Sucesso 200 Ok
/v1/sellers/{id} ID do seller (idSeller)

Response

Exemplo de resposta da consulta de um seller
{
    "idSeller": "17",
    "nome": "Seller de Teste",
    "documento": "11217233000167",
    "ativo": true,
    "criadoWapstore": true,
    "sincronizadoWapstore": true,
    "dataVinculo": "2019-06-03 10:00:18",
    "contato": {
        "email": "seller@teste.com.br",
        "telefone": "1136987412"
    },
    "endereco": {
        "endereco": "Avenida Paulista",
        "numero": "507",
        "complemento": "Sala 10",
        "bairro": "Bela Vista",
        "cidade": "São Paulo",
        "estado": "SP",
        "cep": "01310940"
    },
    "cicloRepasse": {
        "statusLiberacao": "entregue",
        "diaFechamento": "4",
        "diaRelatorioFechamento": "5",
        "prazoContestacao": "3",
        "prazoContestacaoResposta": "5",
        "tipoRepasse": "mensal",
        "fechamentoCiclo": [
            31
        ],
        "diaRepasse": "1",
        "dadosBancarios": [
            {
                "nomeBanco": "Caixa",
                "numeroBanco": "104",
                "agencia": "12345",
                "conta": "1234567-1",
                "titular": "Seller de teste LTDA",
                "cnpj": "11217233000167"
            },
            {
                "nomeBanco": "Santander ",
                "numeroBanco": "033",
                "agencia": "5678",
                "conta": "5678-8",
                "titular": "Seller de teste LTDA",
                "cnpj": "11217233000167"
            }
        ]
    }
}

Detalhes do Response

Campo Tipo Descrição
idSeller String ID do seller
nome String Nome do Seller
documento String Numero da documentação do seller (CPF, CNPJ, NIF, VAT)
ativo Boolean Define se o seller está ativo no marketplace
criadoWapstore Boolean Define se o seller já foi criado na WapStore
sincronizadoWapstore Boolean Define se o seller está com todas as informações sincronizadas com a WapStore
dataVinculo String Data em que o seller foi vinculado ao marketplace
contato Object Dados de contato do seller
   email String E-mail de contato
   telefone String Telefone de contato
endereco Object Dados de endereço do seller
   endereco String Nome da rua, avenida, etc.
   numero String Número do imóvel
   complemento String Complemento do endereço
   bairro String Bairro do endereço
   cidade String Cidade do endereço
   estado String UF do endereço
   cep String CEP do endereço
cicloRepasse Object Dados do ciclo de repasse
   statusLiberacao String Status para um pedido ser considerado apto
   diaFechamento Number Dia útil do mês para ser o limite para o pedido estar sem nenhuma pendência ou reclamação para aparecer no relatório de repasse atual
Valor mínimo: 1 | Valor máximo: 31
   diaRelatorioFechamento Number Dia útil do mês em que o pedido é liberado no relatório de repasse e inicia o prazo de contestação
Valor mínimo: 1 | Valor máximo: 31
   prazoContestacao Number Prazo para o seller contestar um pedido ou valor na conta corrente
Valor mínimo: 1 | Valor máximo: 31
   prazoContestacaoResposta Number Prazo para o marketplace responder um contestação (utilizado apenas para informação para o seller)
Valor mínimo: 1 | Valor máximo: 31
   tipoRepasse String Define o tipo de repasse configurado
Valores aceitos: mensal, quinzenal
   fechamentoCiclo Array de números Dia do fechamento do ciclo de pagamentos de um mês. Caso o dia do fechamento seja 29, 30 ou 31, os meses que não possuírem esse dia será considerado o último dia do mês
   diaRepasse Number Define o dia útil do mês para repasse
   dadosBancarios Data Collection Contas bancárias do seller
      nomeBanco String Nome do banco
      numeroBanco String Número do banco
      agencia String Agência
      conta String Número da conta
      titular String Nome do titular da conta
      cnpj String CNPJ da conta

GET /v1/sellers/queue

Recurso responsável por listar a fila de sellers vinculados ao marketplace que foram criados ou que sofreram alguma atualização para que seu sistema interno possa obter todas as atualizações dos sellers.

Nesse recurso serão retornados todos os dados dos sellers.

Informações do endpoint
Ambiente Sandbox / Produção
Status de Sucesso 200 Ok
Offset/Limit Obrigatório o envio do parâmetro limit na URL da requisição (não é permitido enviar o parâmetro offset para essa requisição).
Exemplo de requisição: /v1/sellers/queue?limit=100
Valor máximo para o parâmetro limit: 100

Response

Exemplo de resposta da consulta da fila de sellers
{
    "sellers": [
        {
            "idSeller": "17",
            "nome": "Seller de Teste",
            "documento": "11217233000167",
            "ativo": true,
            "criadoWapstore": true,
            "sincronizadoWapstore": true,
            "dataVinculo": "2019-06-03 10:00:18",
            "contato": {
                "email": "seller@teste.com.br",
                "telefone": "1136987412"
            },
            "endereco": {
                "endereco": "Avenida Paulista",
                "numero": "507",
                "complemento": "Sala 10",
                "bairro": "Bela Vista",
                "cidade": "São Paulo",
                "estado": "SP",
                "cep": "01310940"
            },
            "cicloRepasse": {
                "statusLiberacao": "entregue",
                "diaFechamento": "4",
                "diaRelatorioFechamento": "5",
                "prazoContestacao": "3",
                "prazoContestacaoResposta": "5",
                "tipoRepasse": "mensal",
                "fechamentoCiclo": [
                    31
                ],
                "diaRepasse": "1",
                "dadosBancarios": [
                    {
                        "nomeBanco": "Caixa",
                        "numeroBanco": "104",
                        "agencia": "12345",
                        "conta": "1234567-1",
                        "titular": "Seller de teste LTDA",
                        "cnpj": "11217233000167"
                    },
                    {
                        "nomeBanco": "Santander ",
                        "numeroBanco": "033",
                        "agencia": "5678",
                        "conta": "5678-8",
                        "titular": "Seller de teste LTDA",
                        "cnpj": "11217233000167"
                    }
                ]
            }
        }
    ],
    "info": {
        "filtros": [],
        "limit": 100,
        "exibindo": 1,
        "total": 1
    }
}

Detalhes do Response

Campo Tipo Descrição
sellers Data Collection Sellers listados
   idSeller String ID do seller
   nome String Nome do Seller
   documento String Numero da documentação do seller (CPF, CNPJ, NIF, VAT)
   ativo Boolean Define se o seller está ativo no marketplace
   criadoWapstore Boolean Define se o seller já foi criado na WapStore
   sincronizadoWapstore Boolean Define se o seller está com todas as informações sincronizadas com a WapStore
   dataVinculo String Data em que o seller foi vinculado ao marketplace
   contato Object Dados de contato do seller
      email String E-mail de contato
      telefone String Telefone de contato
   endereco Object Dados de endereço do seller
      endereco String Nome da rua, avenida, etc.
      numero String Número do imóvel
      complemento String Complemento do endereço
      bairro String Bairro do endereço
      cidade String Cidade do endereço
      estado String UF do endereço
      cep String CEP do endereço
   cicloRepasse Object Dados do ciclo de repasse
      statusLiberacao String Status para um pedido ser considerado apto
      diaFechamento Number Dia útil do mês para ser o limite para o pedido estar sem nenhuma pendência ou reclamação para aparecer no relatório de repasse atual
Valor mínimo: 1 | Valor máximo: 31
      diaRelatorioFechamento Number Dia útil do mês em que o pedido é liberado no relatório de repasse e inicia o prazo de contestação
Valor mínimo: 1 | Valor máximo: 31
      prazoContestacao Number Prazo para o seller contestar um pedido ou valor na conta corrente
Valor mínimo: 1 | Valor máximo: 31
      prazoContestacaoResposta Number Prazo para o marketplace responder um contestação (utilizado apenas para informação para o seller)
Valor mínimo: 1 | Valor máximo: 31
      tipoRepasse String Define o tipo de repasse configurado
Valores aceitos: mensal, quinzenal
      fechamentoCiclo Array de números Dia do fechamento do ciclo de pagamentos de um mês. Caso o dia do fechamento seja 29, 30 ou 31, os meses que não possuírem esse dia será considerado o último dia do mês
      diaRepasse Number Define o dia útil do mês para repasse
      dadosBancarios Data Collection Contas bancárias do seller
         nomeBanco String Nome do banco
         numeroBanco String Número do banco
         agencia String Agência
         conta String Número da conta
         titular String Nome do titular da conta
         cnpj String CNPJ da conta
info Object Informações sobre a listagem (paginação, filtros, total de itens, etc.)
   filtros Object (key/value) Filtros aplicados na URL
   limit Number Limit solicitado
   exibindo Number Quantidade de registros sendo exibidos na página atual
   total Number Total de registros em todas as páginas

DELETE /v1/sellers/queue/{id}

Recurso responsável por confirmar a leitura de um seller da fila. Esse recurso deve ser utilizado sempre que as atualizações do seller forem lidas pelo seu sistema para que o seller seja removido da fila de atualizações.

Informações do endpoint
Ambiente Sandbox / Produção
Status de Sucesso 204 No Content
/v1/sellers/queue/{id} ID do seller (idSeller)

POST /v1/sellers/transaction-batch

Recurso de criação em lote de transações, responsável por inserir várias transações na conta corrente dos sellers de uma única vez.

Utilize o recurso de consulta de lotes para verificar o status do processamento do lote criado.

Informações do endpoint
Ambiente Sandbox / Produção
Status de Sucesso 201 Created
Limite de requisições por minuto 10

Request

Exemplo de requisição para criar transações em lote
{
	"transacoes":[
		{
			"cnpj":"20542763000171",
			"idPedidoCanal":"MKTP-5682",
			"tipoOperacao":"multa",
			"descricao":"Multa por atraso na entrega",
			"valor":57.90
		},
		{
			"cnpj":"20542763000171",
			"idPedidoCanal":"MKTP-5682",
			"tipoOperacao":"outros-debitos",
			"descricao":"Correção de cobrança jan/2019",
			"valor":437.26
		},
		{
			"cnpj":"20542763000171",
			"idPedidoCanal":"MKTP-5682",
			"tipoOperacao":"bonus",
			"descricao":"Prêmio Seller do Ano",
			"valor":100.00
		},
		{
			"cnpj":"20542763000171",			
			"idPedidoCanal":"MKTP-5682",
			"tipoOperacao":"outros-creditos",
			"descricao":"Cobrança inválida de comissão",
			"valor":37.95
		},
	]
}

Detalhes da Request

Campo Tipo Obrigatório Descrição
transacoes Data Collection Sim Lote de transações
Tamanho mínimo: 1 | Tamanho máximo: 100
   cnpj String Sim CNPJ do seller que essa transação é direcionada
Tamanho mínimo: 14 | Tamanho máximo: 14
   idPedidoCanal String Sim ID do pedido no canal (Sub Pedido WapStore)
Tamanho mínimo: 1 | Tamanho máximo: 250
   tipoOperacao String Sim Tipo de operação da transação. Use as operações 'outros-creditos' e 'outros-debitos' para transações de débito e crédito que não se encaixarem nos demais tipos disponíveis.
Valores aceitos: multa, bonus, outros-creditos, outros-debitos
   descricao String Sim Descrição da operação (Ex. Multa por atraso na entrega)
Tamanho mínimo: 1 | Tamanho máximo: 50
   valor Number Sim Valor da operação
Valor mínimo: 0.01 | Valor máximo: 999999.99

Response

Exemplo de resposta da criação do lote
{
    "id": 80
}

Detalhes do Response

Campo Tipo Descrição
id Number ID do lote gerado

POST /v1/sellers/invoice-batch

Recurso de criação em lote de notas fiscais, responsável por inserir várias notas fiscais na conta dos sellers de uma única vez.

Utilize o recurso de consulta de lotes para verificar o status do processamento do lote criado.

Informações do endpoint
Ambiente Sandbox / Produção
Status de Sucesso 201 Created
Limite de requisições por minuto 10

Request

Exemplo de requisição para criar notas fiscais em lote
{
	"notasFiscais":[
		{
			"documento":"20542763000171",
			"numero":"12312312",
			"serie":"1",
			"chave":"12312312312",
			"descricao":"Intermediação de vendas",
			"valor":100.00,
			"dataEmissao":"2019-05-01 00:00:00",
			"link":"http://www.nfe.fazenda.gov.br/portal/consultaRecaptcha.aspx?tipoConteudo=XbSeqxE8pl8=&tipoConsulta=completa&nfe=12345678945612345612654687985653215461265",
			"arquivoNfe": "JVBERi0xLjMNCiXi48/TDQoNCjEgMCBvYmoNCjw8DQovVHlwZSAvQ2F0YWxvZw0KL09..."
		}
	]
}

Detalhes da Request

Campo Tipo Obrigatório Descrição
notasFiscais Data Collection Sim Lote de notas fiscais
Tamanho mínimo: 1 | Tamanho máximo: 100
   documento String Sim Documento do seller que essa transação é direcionada
Tamanho mínimo: 9 | Tamanho máximo: 14
   numero String Sim Número da nota
Tamanho mínimo: 1 | Tamanho máximo: 50
   serie String Não Série da nota
Tamanho mínimo: 1 | Tamanho máximo: 50
   chave String Não Chave da nota
Tamanho mínimo: 1 | Tamanho máximo: 50
   dataEmissao String Sim Data de emissão da nota
Formato esperado: 2019-05-11 22:15:00
   descricao String Sim Descrição da operação (Ex. Intermediação de vendas)
Tamanho mínimo: 1 | Tamanho máximo: 50
   valor Number Sim Valor da nota
Valor mínimo: 0.01 | Valor máximo: 999999.99
   link String Não Link de acesso/download da nota
Tamanho mínimo: 1 | Tamanho máximo: 250
URL válida: e.g. https://sualoja.com.br/retorno
   arquivoNfe String Não Base64 do arquivo da nota fiscal

Response

Exemplo de resposta da criação do lote
{
    "id": 80
}

Detalhes do Response

Campo Tipo Descrição
id Number ID do lote gerado

POST /v1/sellers/invitations

Recurso de criação em lote de convites de seller, responsável por inserir vários lotes de convite na fila para envio de e-mails em massa.

Após o lote cadastrado uma tarefa será agendada para envio dos convites por e-mail, podendo verificar os sellers vinculados ou aguardando no painel

Informações do endpoint
Ambiente Sandbox / Produção
Status de Sucesso 201 Created
Limite de requisições por minuto 10

Request

Exemplo de requisição para criar convites de e-mail em lote
{
  "convites": [
    {
      "email": "email@dominio.com",
      "loja": {
        "nome": "Loja de teste",
        "id": "strteste",
        "nomeSeller": "Caio",
        "tipoDoc": "cpf",
        "numeroDoc": "xxx.xxx.xxx-xx",
        "telContato": 18996976737,
        "cep": 16204370,
        "endereco": "Rua de testes",
        "numero": 101,
        "bairro": "Centro",
        "cidade": "São Paulo",
        "pais": "Brasil",
        "estado": "SP"
      }
    },
    {
        "email": "example@dominio.com"
    }
  ]
}

Detalhes da Request

Campo Tipo Obrigatório Descrição
convites Data Collection Sim Coleção de objetos para cadastro do convite
   email String Sim E-mail para onde será enviado o convite de vínculo ao marketplace
   loja Object Não Campos necessários para criação da loja
      nome String Sim Nome da loja que será criada
      id String Sim ID da loja
      nomeSeller String Sim Nome do seller
      tipoDoc String Sim Tipo do documento que será utilizado para identificação
Valores aceitos: cnpj, cpf, nif, vat
      numeroDoc String Sim Número do documento utilizado
      telContato Number Sim Número de contato do seller
      cep Number Sim Código postal da cidade
      endereco String Sim Endereço da integração
      numero Number Sim Número de endereço da integração
      bairro String Sim Bairro da integração
      cidade String Sim Cidade da integração
      pais String Sim País de localização da loja
Valores aceitos: brasil, internacional
      estado String Sim Código UF do estado da integração | Exemplo: SP
Tamanho mínimo: 2 | Tamanho máximo: 2

Response

Exemplo de resposta da criação do lote
{
  "resultados": {
    "processados": [
      "seller@uappi.com",
      "example@dominio.com"
    ],
    "erros": {
      "emailsInvalidos": []
    }
  }
}

Detalhes do Response

Campo Tipo Descrição
resultados Object Resultados do cadastro do lote
   processados Array Array de e-mails processados e adicionados a fila
   erros Object Objeto com retorno dos erros da requisição de lote
      emailsInvalidos Array Array de e-mails inválidos no lote processado

Batch (lotes)

GET /v1/batch/{id}

Recurso responsável por retornar todos os detalhes sobre o um lote, como seu status, itens processados, erros encontrados, data de criação e data de processamento de cada item.

Importante: Os lotes podem ser consultados via API até 10 dias após sua criação. Após esse período, os detalhes de um lote só poderão ser obtidos via chamado.

Informações do endpoint
Ambiente Sandbox / Produção
Status de Sucesso 200 Ok
/v1/batch/{id} ID do lote

Response

Exemplo de resposta da consulta de um lote
{
    "batchId": "80",
    "requestId": "CI1O18G20190614104404P1560519844050X2326",
    "data": "2019-05-14 13:44:04",
    "tipo": "produto",
    "acao": "atualizarEstoque",
    "status": "processado",
    "contemErros": true,
    "observacoes": [
        {
            "identificador": "12345ABC",
            "sucesso": true,
            "info": "Ação executada com sucesso",
            "data": "2019-05-14 10:44:10"
        },
        {
            "identificador": "123456ABCD",
            "sucesso": false,
            "error": "Problemas ao executar ação",
            "details": [
                "SKU  '123456ABCD' não encontrado"
            ],
            "data": "2019-05-14 10:44:10"
        }
    ]
}

Detalhes do Response

Campo Tipo Descrição
batchId Number ID do lote
requestId String ID da requisição
tipo String Tipo do lote (produto, pedido, lista de compra etc)
acao String Ação do lote (atualizarEstoque, atualizarProduto, etc)
data String Data de processamento do lote
status String Status do lote
Valores aceitos: aguardando, processando, processado
contemErros Boolean Define se foram encontrado erros no processametno
observacoes Data Collection Observações sobre o processamento do lote
   idLista String Identficador da lista
   identificador String Identficador do item no lote (SKU do produto/variação, por exemplo)
   sucesso Boolean Define se o item foi processado com sucesso
   info String Informação sobre o processamento (retornado apenas em caso de sucesso)
   error String Informação sobre o erro apresentado (retornado apenas em caso de erro)
   details Array de strings Detalhes sobre o erro apresentado (retornado em alguns casos de erro)
   data String Data de processamento do item

Protocolos

GET /v1/protocols

Recurso responsável por listar todos os protocolos vinculados ao marketplace, ordenados por data de criação.

Neste recurso serão retornados os dados principais dos protocolos, e para mais detalhes poderá ser utilizado o endpoint de consulta individual de protocolos.

Informações do endpoint
Ambiente Sandbox / Produção
Status de Sucesso 200 Ok
Filtros email: Filtra os protocolos por um e-mail que esteja vinculado ao perfil de origem ou de destino.
Exemplo de requisição: /v1/protocols?email=alexandremedeiros@omni.com.br
pedido: Filtra os protocolos por um pedido. O valor enviado deverá ser a referência do pedido no canal.
Exemplo de requisição: /v1/protocols?pedido=123456
perfil: Filtra os protocolos por um perfil vinculado ao protocolo. Os valores aceitos são: 'cliente', 'seller' e 'marketplace'.
Exemplo de requisição: /v1/protocols?perfil=cliente
tipo: Filtra por um tipo específico de protocolo. Os valores aceitos por este filtro são: 'cancelamentoPedido' 'devolucaoPedido' e 'contestacaoRepasse'.
Exemplo de requisição: /v1/protocols?tipo=cancelamentoPedido
Offset/Limit Obrigatório o envio dos parâmetros offset e limit na URL da requisição.
Exemplo de requisição: /v1/protocols?offset=0&limit=100
Valor máximo para o parâmetro limit: 100

Response

Exemplo de resposta da consulta de protocolos
{
  "protocolos": [
      {
        "id": 23,
        "assunto": "Garantia - Entrega Superior a 7 dias",
        "origem": {
            "perfil": "cliente",
            "nome": "Alexandre Medeiros",
            "email": "alexandremedeiros@omni.com.br"
        },
        "destino": {
            "perfil": "seller",
            "nome": "Seller Omni",
            "email": "atendimento@selleromni.com.br"
        },
        "produto": {},
        "pedido": {
            "id": 192052,
            "idPlataforma": 1052,
            "idCanal": "123123176",
            "referenciaCanal": "3737-1"
        },
        "seller": {
            "id": 16,
            "nome": "Seller Omni",
            "cnpj": "11217233000167"
        },
        "ultimoInteragente": "cliente",
        "status": "aberto",
        "atendimento": "normal",
        "cancelamentoPedido": false,
        "devolucaoPedido": false,
        "contestacaoRepasse": false,
        "vencido": false,
        "datas": {
            "criacao": "2019-10-28 15:50:38",
            "ultimaInteracao": "2019-10-28 15:50:38",
            "vencimento": "2019-10-30 15:50:38"
        }
    }
  ],
  "info": {
      "filtros": {
          "perfil": "cliente"
      },
      "prev": "",
      "self": "https://api.sandbox.omni.wapstore.com.br/v1/protocols?offset=0&limit=100&perfil=cliente",
      "next": "",
      "offset": 0,
      "limit": 100,
      "exibindo": 1,
      "total": 1
  }
}

Detalhes do Response

Campo Tipo Descrição
protocolos Data Collection Protocolos listados
   id Number ID do protocolo no Hub de Marketplaces
   assunto String Assunto do protocolo
   origem Object Dados referentes à origem do protocolo
      perfil String Perfil de origem
      nome String Nome do responsável pela abertura do protocolo
      email String E-mail do responsável pela abertura do protocolo
   destino Object Dados referentes ao destino do protocolo
      perfil String Perfil de destino
      nome String Nome do destinatário do protocolo
      email String E-mail do destinatário do protocolo
   produto Object Dados do produto vinculado
      sku String SKU do produto
   pedido Object Dados do pedido vinculado
      id Number ID do pedido dentro do Hub de Marketplaces
      idPlataforma Number ID do pedido dentro da plataforma
      idCanal String ID do subpedido no canal
      referenciaCanal String Número do subpedido no canal
   seller Object Dados do seller
      id Number ID do seller no Hub de Marketplaces
      nome String Nome do seller
      cnpj Number CNPJ cadastrado pelo seller no Hub de Marketplaces
   ultimoInteragente String Perfil responsável pela última interação no protocolo
   status String Status atual do protocolo
   atendimento String Define se o tipo de atendimento é normal ou mediado
   cancelamentoPedido Boolean Define se o protocolo trata de uma solicitação de cancelamento de pedido.
   devolucaoPedido Boolean Define se o protocolo trata de uma solicitação de devolução de pedido.
   contestacaoRepasse Boolean Define se o protocolo trata uma solitação de repasse
   vencido Boolean Define se o prazo para resposta está vencido.
   datas Object Datas referentes ao protocolo
      criacao String Data de criação
Formato esperado: 2019-05-11 22:15:00
      ultimaInteracao String Data da última interação registrada
Formato esperado: 2019-05-11 22:15:00
      vencimento String Data limite para o protocolo ser respondido
Formato esperado: 2019-05-11 22:15:00
info Object Informações sobre a listagem (paginação, filtros, total de itens, etc.)
   filtros Object (key/value) Filtros aplicados na URL
   prev String Página anterior
   self String Página atual
   next String Próxima página
   offset Number Offset solicitado
   limit Number Limit solicitado
   exibindo Number Quantidade de registros sendo exibidos na página atual
   total Number Total de registros em todas as páginas

GET /v1/protocols/{id}

Recurso de consulta individual de protocolos responsável por retornar todos os dados de um protocolo.

Este pode estar vinculado a um pedido, produto, contrato, financeiro ou geral.

Utilize o recurso de consulta de mensagens para buscar as mensagens referentes a um protocolo.

Informações do endpoint
Ambiente Sandbox / Produção
Status de Sucesso 200 Ok
/v1/protocols/{id} ID do protocolo

Response

Exemplo de resposta da consulta a um protocolo de solicitação de cancelamento de um pedido
{
    "id": 30,
    "assunto": "Cancelamento - Desistência",
    "origem": {
        "perfil": "cliente",
        "nome": "Alexandre Medeiros",
        "email": "alexandremedeiros@omni.com.br"
    },
    "destino": {
        "perfil": "seller",
        "nome": "Seller Omni",
        "email": "atendimento@selleromni.com.br"
    },
    "pedido": {
        "idPedido": 192052,
        "idPlataforma": 1052,
        "idPedidoCanal": "123123176",
        "referenciaPedidoCanal": "3737-1",
        "dataEmissao": "2019-08-09 14:32:28",
        "dataIntegracao": "2019-08-09 15:00:20",
        "status": 1,
        "canal": {
            "canal": "Wapstore Marketplace",
            "canalIntegracao": "Loja marketplace",
            "hashCanal": "wapstoremarketplace"
        },
        "cliente": {
            "nome": "Alexandre Medeiros",
            "email": "alexandremedeiros@omni.com.br",
            "cpfCnpj": "45925807022",
            "pessoa": "m",
            "telefone": "",
            "celular": "(11) 99123-4567"
        },
        "entrega": {
            "cep": "16202999",
            "destinatario": "Alexandre Medeiros",
            "endereco": "Rua Teste",
            "bairro": "Centro",
            "cidade": "São Paulo",
            "uf": "SP",
            "numero": "123",
            "complemento": "Fundos",
            "referencia": "",
            "prazoEntrega": "7 dias úteis",
            "tipoFrete": "1972",
            "codigoRastreio": "",
            "linkRastreio": ""
        },
        "valores": {
            "subtotal": 900,
            "frete": 12.87,
            "desconto": 0,
            "total": 912.87
        },
        "fiscal": {
            "nfeSerie": "",
            "nfeNumero": "",
            "nfeChave": ""
        }
    },
    "produto": {},
    "seller": {
        "id": 16,
        "nome": "Seller Omni",
        "cnpj": "11217233000167"
    },
    "cancelamentoPedido": {
        "status": "aberto",
        "comissaoRetida": false
    },
    "devolucaoPedido": {},
    "contestacaoRepasse": {},
    "ultimoInteragente": "cliente",
    "status": "aberto",
    "atendimento": "normal",
    "vencido": false,
    "datas": {
        "criacao": "2019-10-28 15:50:38",
        "ultimaInteracao": "2019-10-28 15:50:38",
        "vencimento": "2019-10-30 15:50:38",
        "finalizacao": ""
    }
}
Exemplo de resposta da consulta a um protocolo vinculado a um produto
{
	"id": 30,
	"assunto": "Cadastro de produto - Outros",
	"origem": {
		"perfil": "seller",
		"nome": "Seller Omni",
		"email": "atendimento@selleromni.com.br"
	},
	"destino": {
		"perfil": "marketplace",
		"nome": "Wapstore Marketplace",
		"email": "atendimento@marketplacewapstore.com.br"
	},
	"pedido": {},
	"produto": {
		"skuProduto": "testecsv",
		"nome": "Primeiro produto P",
		"ativo": true,
		"precoDe": "459.99",
		"precoPor": "429.00",
		"precoDeMidia": "459.99",
		"precoPorMidia": "429.00",
		"estoque": "12"
	},
	"seller": {
		"id": 16,
		"nome": "Seller Omni",
		"cnpj": "11217233000167"
	},
    "cancelamentoPedido": {},
    "devolucaoPedido": {},
    "contestacaoRepasse": {},
    "ultimoInteragente": "seller",
    "status": "aberto",
    "atendimento": "normal",
    "vencido": false,
    "datas": {
        "criacao": "2019-10-28 15:50:38",
        "ultimaInteracao": "2019-10-28 15:50:38",
        "vencimento": "2019-10-30 15:50:38",
        "finalizacao": ""
	}
}

Detalhes do Response

Campo Tipo Descrição
id Number ID do protocolo no Hub de Marketplaces
assunto String Assunto do protocolo
origem Object Dados referentes à origem do protocolo
   perfil String Perfil de origem
   nome String Nome do responsável pela abertura do protocolo
   email String E-mail do responsável pela abertura do protocolo
destino Object Dados referentes ao destino do protocolo
   perfil String Perfil de destino
   nome String Nome do destinatário do protocolo
   email String E-mail do destinatário do protocolo
pedido Object Dados do pedido relacionado
   idPedido Number ID do pedido dentro do Hub de Marketplaces (utilizado para alterações de status e consulta do pedido)
   idPlataforma Number ID do pedido dentro do marketplace
   idPedidoCanal String Código de referência do pedido no canal. Exemplo: pedidos da B2W possuem um código dentro da B2W (referenciaPedidoCanal) e outro código dentro da SkyHub (idPedidoCanal)
   referenciaPedidoCanal String Referência do pedido dentro do seu sistema
   dataEmissao String Data da emissão do pedido no marketplace
Formato esperado: 2019-05-11 22:15:00
   dataIntegracao String Data que o pedido foi integrado no Hub de Marketplaces
Formato esperado: 2019-05-11 22:15:00
   status Number Status do pedido no Hub de Marketplaces (veja os status disponíveis nas referências)
   canal Object Dados do canal que gerou o pedido
      canal String Nome do canal em que o pedido foi gerado (nome do canal dentro do marketplace. Exemplo: Lojas Americanas)
      canalIntegracao String Nome do canal de integração no Hub de Marketplaces (nome adicionado pelo Seller ao adicionar um canal de marketplace no Hub de Marketplaces. Exemplo: B2W)
      hashCanal String Hash do canal dentro do Hub de Marketplaces (veja as hashes disponíveis nas referências dos canais)
   cliente Object Dados do cliente
      nome String Nome completo ou razão social do cliente
      email String E-mail do cliente
      cpfCnpj String CPF ou CNPJ do cliente
      pessoa String Pessoa física (f) ou jurídica (j)
      telefone String Telefone do cliente
      celular String Celular do cliente
   entrega Object Dados da entrega
      cep String CEP de entrega
      destinatario String Nome do destinatário
      endereco String Nome da rua ou avenida
      bairro String Nome do bairro
      cidade String Nome da cidade
      uf String Estado de destino
      numero Number Número da casa
      complemento String Complemento do endereço
      referencia String Ponto de referência
      prazoEntrega String Prazo de entrega em dias úteis
      tipoFrete String Código de identificação do frete enviado pelo Marketplace (em alguns marketplaces esse código é específico do marketplace, em outros é o nome da tabela de contingência ou o nome retornado na API de fretes)
      codigoRastreio String Código de rastreio do pedido
      linkRastreio String URL de rastreio do pedido
   valores Object Valores do pedido
      subtotal Number Valor cobrado dos itens
      frete Number Valor cobrado de frete
      desconto Number Valor do desconto aplicado
      total Number Valor total do pedido (frete + itens - desconto)
   fiscal Object Dados da nota fiscal
      nfeSerie String Número da série nota fiscal eletrônica
      nfeNumero String Número da nota fiscal eletrônica
      nfeChave String Chave da nota fiscal eletrônica
produto Object Dados do produto vinculado
   skuProduto String SKU do produto
   nome String Nome do produto
   ativo Boolean Status do produto
   precoDe Number Preço 'de' do produto
   precoPor Number Preço 'por' do produto
   precoDeMidia Number Preço 'de' do produto para canais de mídia (Google Shopping, Buscapé, etc)
   precoPorMidia Number Preço 'por' do produto para canais de mídia (Google Shopping, Buscapé, etc)
   estoque Number Estoque do produto
seller Object Dados do seller
   id Number ID do seller no Hub de Marketplaces
   nome String Nome do seller
   cnpj Number CNPJ cadastrado pelo seller no Hub de Marketplaces
cancelamentoPedido Object Se o protocolo for referente a um cancelamento de pedido, este nó trará os dados da solicitação.
   status String Status da solicitação
   comissaoRetida Boolean Define se a comissão do pedido será retida pelo marketplace
devolucaoPedido Object Se o protocolo for referente a uma devolução de pedido, este nó trará os dados da solicitação.
   status String Status da solicitação
   comissaoRetida Boolean Define se a comissão do pedido será retida pelo marketplace
contestacaoRepasse Object Dados referentes à contestação de repasse.
   contestado Boolean Define se o protocolo trata uma contestação de repasse
   ajustes Data Collection Lançamentos criados na conta corrente para corrigir o repasse contestado.
ultimoInteragente String Perfil responsável pela última interação no protocolo
status String Status atual do protocolo
atendimento String Define se o tipo de atendimento é normal ou mediado
vencido Boolean Define se o prazo para resposta está vencido.
datas Object Datas relacionadas ao protocolo
   criacao String Data em que o protocolo foi criado
Formato esperado: 2019-05-11 22:15:00
   ultimaInteracao String Data que ocorreu a última interação no protocolo
Formato esperado: 2019-05-11 22:15:00
   vencimento String Data limite para o protocolo ser respondido
Formato esperado: 2019-05-11 22:15:00
   finalizacao String Informa a data de finalização do protocolo, caso o seu status seja 'Finalizado'

GET /v1/protocols/{id}/messages

Recurso responsável por listar todas as mensagens de um protocolo, ordenados por data de envio.

Informações do endpoint
Ambiente Sandbox / Produção
Status de Sucesso 200 Ok
Offset/Limit Obrigatório o envio dos parâmetros offset e limit na URL da requisição.
Exemplo de requisição: /v1/protocols/{id}/messages?offset=0&limit=100
Valor máximo para o parâmetro limit: 100

Response

Exemplo de resposta da consulta de mensagens de um protocolo
{
    "mensagens": [
        {
            "id": 84,
            "nome": "Alexandre Medeiros",
            "email": "alexandremedeiros@omni.com.br",
            "tipo": "texto",
            "texto": "Conteúdo da mensagem",
            "anexos": [],
            "origem": "cliente",
            "destino": "seller",
            "mediacao": false,
            "mensagemAutomatica": false,
            "data": "2019-09-16 14:33:23"
        }
    ],
    "info": {
        "filtros": [],
        "prev": "",
        "self": "https://api.sandbox.omni.wapstore.com.br/v1/protocols/30/message?offset=0&limit=100",
        "next": "",
        "offset": 0,
        "limit": 100,
        "exibindo": 1,
        "total": 1
    }
}

Detalhes do Response

Campo Tipo Descrição
mensagens Data Collection Mensagens listadas
   id Number ID da mensagem
   nome String Nome do remetente
   email String E-mail do remetente
   tipo String Define se a mensagem é do tipo 'texto' ou 'anexo'
   texto String Conteúdo em texto da mensagem
   anexos Data Collection Anexos enviados na mensagem
   origem String Perfil de origem da mensagem
   destino String Perfil de destino da mensagem
   mediacao Boolean Define se a mensagem é referente a uma mediação
   mensagemAutomatica Boolean Define se é uma mensagem automática
   data String Data de envio da mensagem
Tamanho mínimo: 1 | Tamanho máximo: 250
Formato esperado: 2019-05-11 22:15:00
info Object Informações sobre a listagem (paginação, filtros, total de itens, etc.)
   filtros Object (key/value) Filtros aplicados na URL
   prev String Página anterior
   self String Página atual
   next String Próxima página
   offset Number Offset solicitado
   limit Number Limit solicitado
   exibindo Number Quantidade de registros sendo exibidos na página atual
   total Number Total de registros em todas as páginas

POST /v1/protocols

Recurso responsável por criar protocolos. Cada protocolo poderá ser referente a um pedido, produto, contrato, financeiro ou geral.


Importante:

Protocolos vinculados a um pedido, deverá conter um valor válido no campo idPedidoPlataforma.

Protocolos vinculado a um produto, deverá conter um valor válido no campo skuProduto.


Protocolos de cancelamento e devolução de pedidos:

Como regra de negócio, todo cancelamento e devolução de pedido que contenha um ou mais produtos de marketplace, deverá passar pela abertura de um protocolo.

Para isso, é necessário preencher o campo acao com a ação responsável por cancelamento e devolução de pedidos.


Protocolos de contestação de repasses:

Outra modalidade de protocolo disponível é a de contestação de repasses. Através dela, é possível contestar os lançamentos na conta corrente referentes a um pedido.

Para isso, é necessário preencher o campo acao com a ação responsável por contestação de repasse de pedidos.

Importante: Ao iniciar uma contestação de repasse, os lançamentos do pedido ficarão com status 'bloqueado' até que o protocolo seja finalizado.

Informações do endpoint
Ambiente Sandbox / Produção
Status de Sucesso 201 Created
Limite de requisições por minuto 60

Request

Exemplo de requisição para criar um protocolo
{
  "idSeller": 16,
  "pedido": "3737-1",
  "skuProduto": "",
  "assunto": "Cancelamento de pedido",
  "acao": "cancelamentoPedido",
  "origem": {
    "tipo": "cliente",
    "nome": "Alexandre Medeiros",
    "email": "alexandremedeiros@omni.com.br"
  },
  "destino": {
    "tipo": "seller",
    "nome": "Seller Omni",
    "email": "atendimento@selleromni.com.br"
  },
  "mensagem": {
    "texto": "Mensagem de teste",
    "anexos": [
      "https://api.sandbox.omni.wapstore.com.br/upload/protocolo/chat/imagem.jpg",
      "https://api.sandbox.omni.wapstore.com.br/upload/protocolo/chat/arquivo.pdf"
    ]
  }
}

Detalhes da Request

Campo Tipo Obrigatório Descrição
idSeller Number Sim ID do seller
Valor mínimo: 1
pedido String Sim Referência do pedido dentro do canal (quando relacionado a um pedido)
skuProduto String Sim SKU do produto relacionado (quando relacionado a um produto)
Tamanho máximo: 250
assunto String Sim Assunto do protocolo
Tamanho máximo: 250
acao String Não Ação relacionada a abertura do protocolo
Valores aceitos: cancelamentoPedido, devolucaoPedido, contestacaoRepasse
origem Object Sim Informações sobre a origem do protocolo
   tipo String Sim Perfil de origem
Tamanho mínimo: 1 | Tamanho máximo: 250
   nome String Sim Nome de quem abriu o protocolo
Tamanho mínimo: 1 | Tamanho máximo: 250
   email String Sim E-mail de quem abriu o protocolo
Tamanho mínimo: 1 | Tamanho máximo: 250
destino Object Sim Informações sobre o destino do protoclo
   tipo String Sim Perfil de destino
Tamanho mínimo: 1 | Tamanho máximo: 250
   nome String Sim Nome do destino do protocolo
Tamanho mínimo: 1 | Tamanho máximo: 250
   email String Sim E-mail do destino do protocolo
Tamanho mínimo: 1 | Tamanho máximo: 250
mensagem Object Sim Dados referente à mensagem
   texto String Sim Mensagem de texto enviada
Tamanho mínimo: 1 | Tamanho máximo: 250
   anexos Array de strings Sim Anexos da mensagem

Response

Exemplo de resposta da criação do protocolo
{
    "id": 30,
    "assunto": "Cancelamento - Desistência",
    "origem": {
        "perfil": "cliente",
        "nome": "Alexandre Medeiros",
        "email": "alexandremedeiros@omni.com.br"
    },
    "destino": {
        "perfil": "seller",
        "nome": "Seller Omni",
        "email": "atendimento@selleromni.com.br"
    },
    "pedido": {
        "idPedido": 192052,
        "idPlataforma": 1052,
        "idPedidoCanal": "123123176",
        "referenciaPedidoCanal": "3737-1",
        "dataEmissao": "2019-08-09 14:32:28",
        "dataIntegracao": "2019-08-09 15:00:20",
        "status": 1,
        "canal": {
            "canal": "Wapstore Marketplace",
            "canalIntegracao": "Loja marketplace",
            "hashCanal": "wapstoremarketplace"
        },
        "cliente": {
            "nome": "Alexandre Medeiros",
            "email": "alexandremedeiros@omni.com.br",
            "cpfCnpj": "45925807022",
            "pessoa": "m",
            "telefone": "",
            "celular": "(11) 99123-4567"
        },
        "entrega": {
            "cep": "16202999",
            "destinatario": "Alexandre Medeiros",
            "endereco": "Rua Teste",
            "bairro": "Centro",
            "cidade": "São Paulo",
            "uf": "SP",
            "numero": "123",
            "complemento": "Fundos",
            "referencia": "",
            "prazoEntrega": "7 dias úteis",
            "tipoFrete": "1972",
            "codigoRastreio": "",
            "linkRastreio": ""
        },
        "valores": {
            "subtotal": 900,
            "frete": 12.87,
            "desconto": 0,
            "total": 912.87
        },
        "fiscal": {
            "nfeSerie": "",
            "nfeNumero": "",
            "nfeChave": ""
        }
    },
    "produto": {},
    "seller": {
        "id": 16,
        "nome": "Seller Omni",
        "cnpj": "11217233000167"
    },
    "cancelamentoPedido": {
        "status": "aberto",
        "comissaoRetida": false
    },
    "devolucaoPedido": {},
    "contestacaoRepasse": {},
    "ultimoInteragente": "cliente",
    "status": "aberto",
    "atendimento": "normal",
    "vencido": false,
    "datas": {
        "criacao": "2019-10-28 15:50:38",
        "ultimaInteracao": "2019-10-28 15:50:38",
        "vencimento": "2019-10-30 15:50:38",
        "finalizacao": ""
    }
}

Detalhes do Response

Campo Tipo Descrição
id Number ID do protocolo no Hub de Marketplaces
assunto String Assunto do protocolo
origem Object Dados referentes à origem do protocolo
   perfil String Perfil de origem
   nome String Nome do responsável pela abertura do protocolo
   email String E-mail do responsável pela abertura do protocolo
destino Object Dados referentes ao destino do protocolo
   perfil String Perfil de destino
   nome String Nome do destinatário do protocolo
   email String E-mail do destinatário do protocolo
pedido Object Dados do pedido relacionado
   idPedido Number ID do pedido dentro do Hub de Marketplaces (utilizado para alterações de status e consulta do pedido)
   idPlataforma Number ID do pedido dentro do marketplace
   idPedidoCanal String Código de referência do pedido no canal. Exemplo: pedidos da B2W possuem um código dentro da B2W (referenciaPedidoCanal) e outro código dentro da SkyHub (idPedidoCanal)
   referenciaPedidoCanal String Referência do pedido dentro do seu sistema
   dataEmissao String Data da emissão do pedido no marketplace
Formato esperado: 2019-05-11 22:15:00
   dataIntegracao String Data que o pedido foi integrado no Hub de Marketplaces
Formato esperado: 2019-05-11 22:15:00
   status Number Status do pedido no Hub de Marketplaces (veja os status disponíveis nas referências)
   canal Object Dados do canal que gerou o pedido
      canal String Nome do canal em que o pedido foi gerado (nome do canal dentro do marketplace. Exemplo: Lojas Americanas)
      canalIntegracao String Nome do canal de integração no Hub de Marketplaces (nome adicionado pelo Seller ao adicionar um canal de marketplace no Hub de Marketplaces. Exemplo: B2W)
      hashCanal String Hash do canal dentro do Hub de Marketplaces (veja as hashes disponíveis nas referências dos canais)
   cliente Object Dados do cliente
      nome String Nome completo ou razão social do cliente
      email String E-mail do cliente
      cpfCnpj String CPF ou CNPJ do cliente
      pessoa String Pessoa física (f) ou jurídica (j)
      telefone String Telefone do cliente
      celular String Celular do cliente
   entrega Object Dados da entrega
      cep String CEP de entrega
      destinatario String Nome do destinatário
      endereco String Nome da rua ou avenida
      bairro String Nome do bairro
      cidade String Nome da cidade
      uf String Estado de destino
      numero Number Número da casa
      complemento String Complemento do endereço
      referencia String Ponto de referência
      prazoEntrega String Prazo de entrega em dias úteis
      tipoFrete String Código de identificação do frete enviado pelo Marketplace (em alguns marketplaces esse código é específico do marketplace, em outros é o nome da tabela de contingência ou o nome retornado na API de fretes)
      codigoRastreio String Código de rastreio do pedido
      linkRastreio String URL de rastreio do pedido
   valores Object Valores do pedido
      subtotal Number Valor cobrado dos itens
      frete Number Valor cobrado de frete
      desconto Number Valor do desconto aplicado
      total Number Valor total do pedido (frete + itens - desconto)
   fiscal Object Dados da nota fiscal
      nfeSerie String Número da série nota fiscal eletrônica
      nfeNumero String Número da nota fiscal eletrônica
      nfeChave String Chave da nota fiscal eletrônica
produto Object Dados do produto vinculado
   skuProduto String SKU do produto
   nome String Nome do produto
   ativo Boolean Status do produto
   precoDe Number Preço 'de' do produto
   precoPor Number Preço 'por' do produto
   precoDeMidia Number Preço 'de' do produto para canais de mídia (Google Shopping, Buscapé, etc)
   precoPorMidia Number Preço 'por' do produto para canais de mídia (Google Shopping, Buscapé, etc)
   estoque Number Estoque do produto
seller Object Dados do seller
   id Number ID do seller no Hub de Marketplaces
   nome String Nome do seller
   cnpj Number CNPJ cadastrado pelo seller no Hub de Marketplaces
cancelamentoPedido Object Se o protocolo for referente a um cancelamento de pedido, este nó trará os dados da solicitação.
   status String Status da solicitação
   comissaoRetida Boolean Define se a comissão do pedido será retida pelo marketplace
devolucaoPedido Object Se o protocolo for referente a uma devolução de pedido, este nó trará os dados da solicitação.
   status String Status da solicitação
   comissaoRetida Boolean Define se a comissão do pedido será retida pelo marketplace
contestacaoRepasse Object Dados referentes à contestação de repasse.
   contestado Boolean Define se o protocolo trata uma contestação de repasse
   ajustes Data Collection Lançamentos criados na conta corrente para corrigir o repasse contestado.
ultimoInteragente String Perfil responsável pela última interação no protocolo
status String Status atual do protocolo
atendimento String Define se o tipo de atendimento é normal ou mediado
vencido Boolean Define se o prazo para resposta está vencido.
datas Object Datas relacionadas ao protocolo
   criacao String Data em que o protocolo foi criado
Formato esperado: 2019-05-11 22:15:00
   ultimaInteracao String Data que ocorreu a última interação no protocolo
Formato esperado: 2019-05-11 22:15:00
   vencimento String Data limite para o protocolo ser respondido
Formato esperado: 2019-05-11 22:15:00
   finalizacao String Informa a data de finalização do protocolo, caso o seu status seja 'Finalizado'

POST /v1/protocols/{id}/messages

Recurso responsável por criar mensagens em um protocolo.

A cada envio, o nó 'mensagem' poderá conter uma mensagem de texto e um ou mais anexos.

Informações do endpoint
Ambiente Sandbox / Produção
Status de Sucesso 201 Created
Limite de requisições por minuto 60

Request

Exemplo de requisição para criar uma mensagem
{
	"idSeller": 16,
	"origem": "cliente",
	"destino": "seller",
	"mensagem": {
		"texto": "Mensagem de teste",
		"anexos": [
			"https://api.sandbox.omni.wapstore.com.br/upload/protocolo/chat/imagem.jpg",
			"https://api.sandbox.omni.wapstore.com.br/upload/protocolo/chat/arquivo.pdf"
		]
	}
}

Detalhes da Request

Campo Tipo Obrigatório Descrição
idSeller Number Sim ID do seller
Valor mínimo: 1
origem String Sim Perfil de origem da mensagem
Tamanho mínimo: 1 | Tamanho máximo: 250
destino String Sim Perfil de destino da mensagem
Tamanho mínimo: 1 | Tamanho máximo: 250
mensagem Object Sim Dados referente à mensagem
   texto String Sim Mensagem de texto enviada
   anexos Array de strings Sim Anexos da mensagem

Response

Exemplo de resposta da criação da mensagem
{
  "status": true
}

Detalhes do Response

Campo Tipo Descrição
success Boolean Success

PUT /v1/protocols/{id}/cancel-order

Recurso responsável por confirmar ou revogar uma solicitação de cancelamento de pedido.

Informações do endpoint
Ambiente Sandbox / Produção
Status de Sucesso 201 Created
Limite de requisições por minuto 60

Request

Exemplo de requisição para confirmar um cancelamento de pedido
{
  "status": "confirmado",
  "comissaoRetida": true
}

Detalhes da Request

Campo Tipo Obrigatório Descrição
status String Sim Novo status da solicitação
Valores aceitos: confirmado, revogado
comissaoRetida Boolean Sim Define se haverá retenção da comissão.

PUT /v1/protocols/{id}/devolution-order

Recurso responsável por confirmar ou revogar uma solicitação de devolução de pedido.

Informações do endpoint
Ambiente Sandbox / Produção
Status de Sucesso 201 Created
Limite de requisições por minuto 60

Request

Exemplo de requisição para confirmar a devolução de pedido
{
  "status": "confirmado",
  "comissaoRetida": false
}

Detalhes da Request

Campo Tipo Obrigatório Descrição
status String Sim Novo status da solicitação
Valores aceitos: confirmado, revogado
comissaoRetida Boolean Sim Define se haverá retenção da comissão.

Operador Logístico

POST /v1/shipment

Recurso responsável por víncular uma etiqueta ao pedido na loja.

Informações do endpoint
Ambiente Sandbox / Produção
Status de Sucesso 201 Created
Limite de requisições por minuto 40

Request

Exemplo de requisição para víncular a etiqueta ao pedido
{
    "orderId": "175XPCAP21564564QE",
    "sellerId": 1,
    "shipmentContent": "JVBERi0xLjQKJcTl8uXrp/Og0MTGCjEgMCBvYmoKPDwgL1R5cGUgL0NhdGFsb2cgL1BhZ2VzIDIgMCBSCj4+CmVuZG9iagoKMiAwIG9iago8PCAvVHlwZSAvUGFnZXMKL0tpZHMgWzMgMCBSXQovQ291bnQgMQo+PgplbmRvYmoKCjMgMCBvYmoKPDwgL1R5cGUgL1BhZ2UKL1BhcmVudCAyIDAgUgovTWVkaWFCb3ggWzAgMCA2MTIgNzkyXQovQ29udGVudHMgNCAwIFIKL1Jlc291cmNlcyA8PCAvRm9udCA8PCAvRjEgNSAwIFI+PiA+Pgo+PgplbmRvYmoKCjQgMCBvYmoKPDwgL0xlbmd0aCA0NAo+PgpzdHJlYW0KQlQKL0YxIDI0IFRmCjEwMCA3MDAgVGQKKFBERiBURVNURSBCQVNFMjQpIFRqCkVUCmVuZHN0cmVhbQplbmRvYmoKCjUgMCBvYmoKPDwgL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUxCi9CYXNlRm9udCAvSGVsdmV0aWNhCj4+CmVuZG9iagoKeHJlZgowIDYKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDk3IDAwMDAwIG4gCjAwMDAwMDAxNjUgMDAwMDAgbiAKMDAwMDAwMDI2NSAwMDAwMCBuIAowMDAwMDAwMzU0IDAwMDAwIG4gCjAwMDAwMDA0NDQgMDAwMDAgbiAKdHJhaWxlcgo8PCAvUm9vdCAxIDAgUgovU2l6ZSA2Cj4+CnN0YXJ0eHJlZgo1NTIKJSVFT0YK",
    "type": "pdf"
}

Detalhes da Request

Campo Tipo Obrigatório Descrição
orderId String Sim ID do pedido no marketplace
sellerId Number Sim ID do seller no marketplace
shipmentContent String Sim Conteúdo da remessa no formato base64 (etiqueta)
type String Sim Extensão do arquivo disponibilizado em base64
Valores aceitos: zpl, pdf

Referências

Referências e códigos utilizados nas APIs. Campos que possuem valores fixos possíveis (condição do produto, gênero, tipo de pessoa, etc), possuem suas referências configuradas diretamente no schema de request ou response dos recursos.

Status de pedido

Status válidos para pedidos no Hub de Marketplaces.

Hash Status
novo Aguardando Pagamento
pago Pago
faturado Pedido Faturado
enviado Pedido Enviado
entregue Entrega Realizada
cancelado Pedido Cancelado

Marketplaces Integrados

Canais de Marketplace integrados com o Hub de Marketplaces.

Hash Canal Canais de Venda
amazon Amazon Amazon
anymarket Anymarket Anymarket
b2w B2W Americanas, Submarino e Shoptime
carrefour Carrefour Carrefour
colombo Colombo Colombo
dafiti Dafiti Dafiti
kabum Kabum Kabum
leroymerlin Leroy Merlin Leroy Merlin
madeiramadeira Madeira Madeira Madeira Madeira
magazineluiza Magazine Luiza Magazine Luiza
mercadolivre Mercado Livre Mercado Livre
merchantcenter Merchant Center Merchant Center Mídia
olist Olist Olist
pluggto Plugg.to Plugg.to
ricardoeletro Ricardo Eletro Ricardo Eletro
shopee Shopee Shopee
cnova Via Marketplace Ponto Frio, Casas Bahia e Extra
vtex Vtex Vtex
walmart Walmart Walmart
wapstoremarketplace wap.store marketplace Wapstore Marketplace
westwing Westwing Integração de pedido do site Westwing
xmlgenerico XML Genérico (mídias) XML Genérico para as mídias
zoom Zoom Zoom marketplace
zoombuscapev2 Zoom Buscape V2 Zoom Buscape V2 Mídia

Status de resposta HTTP

Códigos de retorno HTTP para os recursos da API.

Código Status Descrição Tipo
200 OK Retorno de sucesso para consulta e alterações de dados (exceto em lote) Sucesso
201 Created Retorno de sucesso para criação de dados (pedidos, produtos, lotes, etc) Sucesso
204 No Content Retorno de sucesso para os métodos para ações que não necessitam de um corpo de retorno, como exclusões, por exemplo. Sucesso
400 Bad Request Retorno de erro quando algo na requisição enviada não está de acordo com o esperado pelas APIs. Erro
401 Unauthorized Retorno de erro quando o token do app ou da integração são inválidos ou não foram informados. Erro
404 Not Found Retorno de erro quando o recurso solicitado não existe (endpoint, produto, pedido, etc). Erro
406 Not Acceptable Retorno de erro quando o endpoint for acessado sem HTTPS. Erro
429 Too Many Requests Retorno de erro quando o limite de requisições para o recurso solicitado for atigindo. Erro
500 Internal Server Error Retorno de erro quando o um problema inesperado impedir o funcionamento correto da API. Caso o erro persista, entre em contato com o suporte. Erro
503 Service Unavailable Retorno de erro quando o serviço de um recuso ou do sistema não estiver disponível. Caso o erro persista, entre em contato com o suporte. Erro