{
    "info": {
        "name": "WABA SAAS API",
        "description": "WhatsApp Business API Management Platform",
        "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
    },
    "variable": [
        {
            "key": "base_url",
            "value": "http://localhost:8001/api"
        },
        {
            "key": "admin_token",
            "value": "your_admin_bearer_token"
        },
        {
            "key": "client_api_key",
            "value": "your_client_api_key"
        },
        {
            "key": "waba_pool_id",
            "value": "1"
        }
    ],
    "item": [
        {
            "name": "Webhook",
            "item": [
                {
                    "name": "Verify Webhook",
                    "request": {
                        "method": "GET",
                        "url": {
                            "raw": "{{base_url}}/webhook/waba?hub.mode=subscribe&hub.verify_token=YOUR_TOKEN&hub.challenge=12345",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "webhook",
                                "waba"
                            ],
                            "query": [
                                {
                                    "key": "hub.mode",
                                    "value": "subscribe"
                                },
                                {
                                    "key": "hub.verify_token",
                                    "value": "YOUR_TOKEN"
                                },
                                {
                                    "key": "hub.challenge",
                                    "value": "12345"
                                }
                            ]
                        }
                    }
                },
                {
                    "name": "Receive Message (Simulate)",
                    "request": {
                        "method": "POST",
                        "url": "{{base_url}}/webhook/waba",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"object\": \"whatsapp_business_account\",\n  \"entry\": [{\n    \"id\": \"123456789\",\n    \"changes\": [{\n      \"value\": {\n        \"messaging_product\": \"whatsapp\",\n        \"metadata\": {\n          \"display_phone_number\": \"628123456789\",\n          \"phone_number_id\": \"YOUR_PHONE_NUMBER_ID\"\n        },\n        \"messages\": [{\n          \"from\": \"628987654321\",\n          \"id\": \"wamid.test123\",\n          \"timestamp\": \"1702200000\",\n          \"type\": \"text\",\n          \"text\": { \"body\": \"Hello from Postman!\" }\n        }]\n      },\n      \"field\": \"messages\"\n    }]\n  }]\n}"
                        }
                    }
                }
            ]
        },
        {
            "name": "Token Management",
            "item": [
                {
                    "name": "Generate Token",
                    "request": {
                        "method": "POST",
                        "url": "{{base_url}}/admin/waba-pool/{{waba_pool_id}}/generate-token",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{admin_token}}"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"short_lived_token\": \"EAAxxxx...\"\n}"
                        }
                    }
                },
                {
                    "name": "Store Permanent Token",
                    "request": {
                        "method": "POST",
                        "url": "{{base_url}}/admin/waba-pool/{{waba_pool_id}}/generate-token",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{admin_token}}"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"permanent_token\": \"EAAxxxx...\",\n  \"skip_exchange\": true\n}"
                        }
                    }
                },
                {
                    "name": "Get Token Status",
                    "request": {
                        "method": "GET",
                        "url": "{{base_url}}/admin/waba-pool/{{waba_pool_id}}/token-status",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{admin_token}}"
                            }
                        ]
                    }
                },
                {
                    "name": "Validate Token",
                    "request": {
                        "method": "POST",
                        "url": "{{base_url}}/admin/waba-pool/{{waba_pool_id}}/validate-token",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{admin_token}}"
                            }
                        ]
                    }
                },
                {
                    "name": "Revoke Token",
                    "request": {
                        "method": "POST",
                        "url": "{{base_url}}/admin/waba-pool/{{waba_pool_id}}/revoke-token",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{admin_token}}"
                            }
                        ]
                    }
                },
                {
                    "name": "Update Credentials",
                    "request": {
                        "method": "PUT",
                        "url": "{{base_url}}/admin/waba-pool/{{waba_pool_id}}/credentials",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{admin_token}}"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"app_id\": \"YOUR_APP_ID\",\n  \"app_secret\": \"YOUR_APP_SECRET\"\n}"
                        }
                    }
                }
            ]
        },
        {
            "name": "Inbox Messages",
            "item": [
                {
                    "name": "Get Messages",
                    "request": {
                        "method": "GET",
                        "url": {
                            "raw": "{{base_url}}/admin/waba-pool/{{waba_pool_id}}/messages?per_page=50",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "admin",
                                "waba-pool",
                                "{{waba_pool_id}}",
                                "messages"
                            ],
                            "query": [
                                {
                                    "key": "per_page",
                                    "value": "50"
                                },
                                {
                                    "key": "unread_only",
                                    "value": "false",
                                    "disabled": true
                                },
                                {
                                    "key": "from_number",
                                    "value": "628xxx",
                                    "disabled": true
                                },
                                {
                                    "key": "type",
                                    "value": "text",
                                    "disabled": true
                                },
                                {
                                    "key": "date_from",
                                    "value": "2025-12-01",
                                    "disabled": true
                                },
                                {
                                    "key": "date_to",
                                    "value": "2025-12-31",
                                    "disabled": true
                                }
                            ]
                        },
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{admin_token}}"
                            }
                        ]
                    }
                },
                {
                    "name": "Get Inbox Stats",
                    "request": {
                        "method": "GET",
                        "url": "{{base_url}}/admin/waba-pool/{{waba_pool_id}}/messages/stats",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{admin_token}}"
                            }
                        ]
                    }
                },
                {
                    "name": "Get Conversations",
                    "request": {
                        "method": "GET",
                        "url": "{{base_url}}/admin/waba-pool/{{waba_pool_id}}/messages/conversations",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{admin_token}}"
                            }
                        ]
                    }
                },
                {
                    "name": "Get Conversation Messages",
                    "request": {
                        "method": "GET",
                        "url": "{{base_url}}/admin/waba-pool/{{waba_pool_id}}/messages/conversation/628987654321",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{admin_token}}"
                            }
                        ]
                    }
                },
                {
                    "name": "Get Single Message",
                    "request": {
                        "method": "GET",
                        "url": "{{base_url}}/admin/waba-pool/{{waba_pool_id}}/messages/1",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{admin_token}}"
                            }
                        ]
                    }
                },
                {
                    "name": "Mark as Read",
                    "request": {
                        "method": "POST",
                        "url": "{{base_url}}/admin/waba-pool/{{waba_pool_id}}/messages/1/read",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{admin_token}}"
                            }
                        ]
                    }
                },
                {
                    "name": "Mark All as Read",
                    "request": {
                        "method": "POST",
                        "url": "{{base_url}}/admin/waba-pool/{{waba_pool_id}}/messages/read-all",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{admin_token}}"
                            }
                        ]
                    }
                }
            ]
        },
        {
            "name": "Send Message",
            "item": [
                {
                    "name": "Send Text Message",
                    "request": {
                        "method": "POST",
                        "url": "{{base_url}}/v1/message/send",
                        "header": [
                            {
                                "key": "X-Api-Key",
                                "value": "{{client_api_key}}"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"to\": \"628987654321\",\n  \"type\": \"text\",\n  \"message\": \"Hello World!\"\n}"
                        }
                    }
                },
                {
                    "name": "Send Template Message",
                    "request": {
                        "method": "POST",
                        "url": "{{base_url}}/v1/message/send",
                        "header": [
                            {
                                "key": "X-Api-Key",
                                "value": "{{client_api_key}}"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"to\": \"628987654321\",\n  \"type\": \"template\",\n  \"template_name\": \"hello_world\",\n  \"template_language\": \"id\",\n  \"template_components\": [\n    {\n      \"type\": \"body\",\n      \"parameters\": [\n        { \"type\": \"text\", \"text\": \"John\" }\n      ]\n    }\n  ]\n}"
                        }
                    }
                }
            ]
        }
    ]
}