https://merchant-api.ifood.com.br/merchant/v1.0Authorization: Bearer YOUR_TOKENGET /merchantspage (optional) — Page number (starts at 1)size (optional) — Stores per page (default: 100)200:[
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Pizzaria Central",
"corporateName": "Pizzaria Central LTDA"
}
]401 Unauthorized — Token inválido ou expirado500 InternalServerError — Erro ao buscar lojasGET /merchants/{merchantId}merchantId (obrigatório) - ID da loja200:{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Pizzaria Central",
"corporateName": "Pizzaria Central LTDA",
"description": "Pizzaria especializada em pizza napoletana",
"averageTicket": 85.50,
"exclusive": false,
"type": "RESTAURANT",
"status": "AVAILABLE",
"createdAt": "2024-01-15T10:30:00",
"address": {
"street": "Rua das Flores",
"number": "123",
"city": "São Paulo",
"state": "SP",
"postalCode": "01310-100",
"country": "BR",
"district": "Centro",
"latitude": -23.5505,
"longitude": -46.6333
},
"operations": [
{
"name": "DELIVERY",
"salesChannels": [
{
"name": "MARKETPLACE",
"enabled": true
}
]
}
]
}401 Unauthorized — Token inválido403 Forbidden — Sem permissão500 InternalServerError — Erro ao buscar detalhesGET /merchants/{merchantId}/statusmerchantId (obrigatório) - ID da loja200:[
{
"operation": "DELIVERY",
"salesChannel": "MARKETPLACE",
"available": true,
"state": "OK",
"validations": [
{
"id": "val-001",
"code": "is-connected",
"state": "OK",
"message": {
"title": "Conectado",
"subtitle": "Loja está respondendo",
"description": "Polling recebido nos últimos 30 segundos"
}
}
],
"message": {
"title": "Loja Online",
"subtitle": "Pronta para receber pedidos",
"description": "Todas as validações passaram com sucesso"
}
}
]400 BadRequest — Parâmetros inválidos401 Unauthorized — Token inválido403 Forbidden — Sem permissão500 InternalServerError — Erro ao buscar statusGET /merchants/{merchantId}/status/{operation}merchantId (obrigatório) - ID da lojaoperation (obrigatório) - Nome da operação (DELIVERY, TAKEOUT, INDOOR)GET /merchants/{merchantId}/interruptionsmerchantId (required) — Store ID200:[
{
"id": "interrupt-001",
"description": "Equipment maintenance",
"start": "2025-02-05T14:00:00Z",
"end": "2025-02-05T15:30:00Z"
}
]POST /merchants/{merchantId}/interruptionsmerchantId (obrigatório) - ID da loja{
"description": "Manutenção do equipamento",
"start": "2025-02-05T14:00:00Z",
"end": "2025-02-05T15:30:00Z"
}description - Motivo da pausa (até 255 caracteres)start - Início da pausa (ISO 8601)end - Fim da pausa (ISO 8601)201:{
"id": "interrupt-001",
"description": "Manutenção do equipamento",
"start": "2025-02-05T14:00:00Z",
"end": "2025-02-05T15:30:00Z"
}start < end (início deve ser antes do fim)400 BadRequest - Parâmetros inválidos409 InterruptionOverlap - Pausa sobrepõe com outra existente401 Unauthorized - Token inválido403 Forbidden - Sem permissão500 InternalServerError - Erro ao criar interrupçãoDELETE /merchants/{merchantId}/interruptions/{interruptionId}merchantId (obrigatório) - ID da lojainterruptionId (obrigatório) - ID da interrupção204:Sem conteúdo. A interrupção foi removida com sucesso.Error codes:401 Unauthorized - Token inválido403 Forbidden - Sem permissão500 InternalServerError - Erro ao remover interrupçãoGET /merchants/{merchantId}/opening-hoursmerchantId (obrigatório) - ID da loja200:[
{
"shifts": [
{
"id": "shift-001",
"dayOfWeek": "MONDAY",
"start": "09:00:00",
"duration": 360
}
]
}
]PUT /merchants/{merchantId}/opening-hoursmerchantId (obrigatório) - ID da loja{
"storeId": "550e8400-e29b-41d4-a716-446655440000",
"shifts": [
{
"dayOfWeek": "MONDAY",
"start": "09:00:00",
"duration": 360
}
]
}storeId - ID da lojashifts - Array de turnosdayOfWeek - Dia da semana (MONDAY-SUNDAY)start - Horário de abertura (HH:MM:SS)duration - Duração em minutos201:{
"storeId": "550e8400-e29b-41d4-a716-446655440000",
"shifts": [
{
"id": "shift-001",
"dayOfWeek": "MONDAY",
"start": "09:00:00",
"duration": 360,
"enabled": true,
"createdAt": "2025-02-06T10:30:00Z"
}
]
}dayOfWeek deve ser MONDAY-SUNDAYstart deve estar entre 00:00:00 e 23:59:59duration deve ser > 0400 BadRequest - Parâmetros inválidos401 Unauthorized - Token inválido403 Forbidden - Sem permissão500 InternalServerError - Erro ao atualizar horáriosPOST /merchants/checkin-qrcode{
"merchantIds": [
"550e8400-e29b-41d4-a716-446655440000",
"550e8400-e29b-41d4-a716-446655440001"
]
}merchantIds - Array com IDs das lojas (máximo 20)200:Arquivo PDF binário pronto para impressão.Limitações:400 BadRequest - Lista vazia ou mais de 20 lojas401 Unauthorized - Token inválido403 Forbidden - Sem permissão para uma ou mais lojas404 NotFound - Uma ou mais lojas não encontradas500 InternalServerError - Erro ao gerar QR code| Código | Significado |
|---|---|
| 200 | OK - Requisição bem-sucedida |
| 201 | Created - Recurso criado com sucesso |
| 204 | No Content - Sucesso sem conteúdo de resposta |
| 400 | Bad Request - Parâmetros inválidos |
| 401 | Unauthorized - Token inválido ou expirado |
| 403 | Forbidden - Sem permissão para o recurso |
| 404 | Not Found - Recurso não encontrado |
| 409 | Conflict - Conflito (ex: sobreposição de interrupção) |
| 429 | Too Many Requests - Limite de requisições excedido |
| 500 | Internal Server Error - Erro interno do servidor |
GET /merchants?page=1&size=50page - Número da página (começa em 1)size - Quantidade de itens por página (padrão: 100)