Skip to main content

KakaoTalk Store Management

Connect your KakaoTalk Channel + KakaoTalk Shopping (talk-store) to Odoo through the official KakaoTalk REST API. KakaoTalk is Korea's #1 messenger (~50M MAU domestic) and exposes two partner-relevant surfaces: Channel Biz Messaging (alim-talk + friend-talk push notifications) and KakaoTalk Shopping / Gift (talk-store catalog + orders).

This module is distinct from kakao_store_management -- KakaoTalk talk-store is a different catalog space from Kakao Shopping. Install both if you operate both.

Compatibility: Odoo 17 / 18 / 19 Price: $249 (one-time) License: Up to 3 domain activations

Key Features

  • KakaoTalk REST API v2 (commerce) + v1 (messaging)
  • Authorization: KakaoAK {ADMIN_KEY} server-to-server admin authentication
  • Multi-instance: run multiple Kakao Developers apps + Channels side by side
  • Multi-company isolated via record rules
  • talk-store product CRUD with Korean + English bilingual titles
  • talk-store order list / detail / confirm / ship / refund flows
  • Per-product and per-variant inventory sync
  • Category tree mirror
  • Alim-Talk transactional notifications via approved templates
  • Friend-Talk promotional messages with FRIEND_TALK_SCHEMA enforcement
  • Memo-to-Me personal push (user access token)
  • Channel friend CRM with marketing-consent + friend-status tracking
  • Order-status auto-push on paid / shipped / delivered transitions
  • Approved-template lifecycle tracking (draft / submitted / approved / rejected)
  • HMAC-SHA256 webhook signature verification (commerce only)
  • Async queue worker with 24-hour delivery-id deduplication
  • OWL dashboard with three Chart.js visualisations + 6 KPIs + auto-refresh

Prerequisites

  • Odoo 17, 18, or 19 (Community or Enterprise edition)
  • An active ECOSIRE license for this module
  • A Kakao Developers account at https://developers.kakao.com/
  • A registered Kakao Channel (Kakao Business -- channel public ID like _AbCdEf)
  • Kakao Developers app Admin Key (used as Authorization: KakaoAK {ADMIN_KEY})
  • For alim-talk: pre-approved templates registered with Kakao Business (multi-day moderation)

Installation

  1. Download the module ZIP from your ECOSIRE Dashboard
  2. Extract to your Odoo addons directory:
    unzip ecosire-kakaotalk-*.zip -d /opt/odoo/addons/
  3. Restart the Odoo service:
    sudo systemctl restart odoo
  4. Navigate to Apps, click Update Apps List
  5. Search for "KakaoTalk Store Management" and click Install
  6. Enter your ECOSIRE license key when prompted

Configuration

Step 1: Obtain Kakao API Credentials

  1. Go to the Kakao Developers Console and create / open your application
  2. From App Settings -> App Keys note:
    • Admin Key (server-to-server, NEVER expose client-side)
    • REST API Key (used for some user-context flows)
  3. From Kakao Business -> Channel note your Channel Public ID (format _AbCdEf)
  4. Optional: provision an Webhook Shared Secret in Developers Console -> Webhooks if you want commerce webhooks

Step 2: Connect in Odoo

  1. Navigate to KakaoTalk -> Configuration -> Instances
  2. Create a new instance and enter:
    • Instance Name -- friendly label (e.g. "ECOSIRE KakaoTalk Channel")
    • API Endpoint URL -- defaults to https://kapi.kakao.com
    • Channel Public ID -- your _AbCdEf channel ID
    • Admin Key -- the KakaoAK admin key (encrypted at rest)
    • REST API Key -- optional
    • User Access Token -- optional, only needed for memo-to-me
    • Webhook Shared Secret -- only if you configured a commerce webhook
  3. Click Test Connection. The module verifies BOTH auth AND a list endpoint -- so a green checkmark means your admin key is valid AND has commerce scope.
  4. The detected store name will be auto-filled.

Step 3: Initial Sync

After successful test connection:

  1. Click Sync Categories to mirror the talk-store category tree
  2. Click Sync Products to import all talk-store products as kakaotalk.product.mapping records
  3. Click Sync Orders to import historical orders (defaults to last 30 days)
  4. Click Sync Channel Friends to import channel-relations users (consented users only)

Step 4: Configure Auto-Sync

In the Sync Configuration notebook:

  • Auto-Sync Products -- enable for periodic product re-sync
  • Auto-Sync Orders -- enable for periodic order pulls
  • Auto-Sync Inventory -- push Odoo inventory levels to KakaoTalk
  • Webhooks Enabled -- enable once your webhook subscription is set up in Developers Console
  • Auto-Send Alim-Talk on Order Status Change -- fires templates on paid / shipped / delivered transitions

Activate the matching scheduled actions under Settings -> Technical -> Automation -> Scheduled Actions:

  • KakaoTalk: Sync Products (every 30 min, disabled by default)
  • KakaoTalk: Sync Orders (every 15 min, disabled by default)
  • KakaoTalk: Push Inventory (hourly, disabled by default)
  • KakaoTalk: Process Queue Jobs (every 5 min, ENABLED by default)
  • KakaoTalk: Cleanup Old Queue Jobs (daily, ENABLED by default)

Messaging Setup

Alim-Talk (Transactional Notifications)

Alim-talk requires a Kakao-approved template ID. The approval process takes 1-5 business days.

  1. Register your template in Kakao Business Console -> Alim-Talk -> Templates
  2. Wait for Kakao moderation approval
  3. In Odoo navigate to KakaoTalk -> Messaging -> Templates
  4. Create a new template:
    • Template Name -- friendly label
    • Message Type -- "Alim-Talk (Notification)"
    • KakaoTalk Template ID -- the approved ID from Kakao Business
    • Template Body -- the registered text (with #{var_name} variable placeholders)
    • Variables (JSON) -- default values, e.g. {"customer_name": "Default", "order_no": "ORD-1234"}
  5. Click Mark Submitted then Mark Approved (after Kakao approves)

Friend-Talk (Promotional)

Friend-talk uses a fixed schema validated server-side by Kakao:

FieldDescription
titleHeadline
image_urlBanner image (HTTPS)
regular_priceOriginal price text
discount_priceSale price text
rateDiscount percentage text
button_titleCTA button label
button_urlCTA destination

The module enforces this schema client-side -- any unknown key triggers a KakaoTalkValidationError before the network round-trip.

Order-Status Auto-Push

If you enable Auto-Send Alim-Talk on Order Status Change on the instance:

  1. Navigate to the instance form
  2. Open the Alim-Talk Order Templates notebook (only visible when auto-send is on)
  3. Pick the approved alim-talk template for each transition: Paid / Shipped / Delivered

The dispatch is queued (not synchronous) so order-status updates from sync never block on Kakao network latency.

Webhooks (Commerce Only)

KakaoTalk Biz Messaging is outbound push only -- no inbound webhook for chat replies. The Chat-Bot API is a separate enrollment.

For commerce events:

  1. Configure your webhook URL in Kakao Developers Console -> Webhooks pointing to:
    • https://your-odoo-domain.com/kakaotalk/webhook/order
    • https://your-odoo-domain.com/kakaotalk/webhook/product
  2. Set the shared secret on the instance form (encrypted, never logged)
  3. The controller verifies HMAC-SHA256 signatures on every inbound request and dedupes on the X-Kakao-Delivery-Id header inside a 24-hour window

Dashboard

Navigate to KakaoTalk -> Dashboard for:

  • 6 KPI cards -- Total Sales, Orders, Channel Friends, Products (with out-of-stock count), Message Delivery Rate (with sent/failed counts), Sync Success Rate
  • 3 charts -- 7-day Sales Trend (line), Order Status (doughnut), Message Delivery (doughnut: Sent / Delivered / Failed)
  • Quick action buttons -- View Orders, Products, Channel Friends, Templates, Push Log, Queue Jobs
  • Recent Activity feed -- last 10 queue events
  • Status footer -- pending queue jobs, errors needing review, last sync time
  • Auto-refresh every 60 seconds
  • Dark mode aware (Odoo 17/18/19)
  • Mobile responsive breakpoints

Troubleshooting

SymptomLikely CauseFix
Connection failed: Auth rejectedAdmin key invalid or scope missingVerify Admin Key in Kakao Developers Console -> App Settings -> App Keys; ensure commerce + messaging scopes are enabled
Template gate: template not approvedSending alim-talk before Kakao approves your templateSubmit template in Kakao Business; wait 1-5 business days; mark approved in Odoo only after Kakao confirms
Recipient has not added the Kakao ChannelTrying to send to a user who isn't a channel friendServer-side enforced -- you cannot bypass; user must add the channel manually
Rate limited (retry after Ns)Per-app quota exhaustedBackoff handled automatically by client; reduce send burst or request a quota increase from Kakao
Alim-Talk sent but not deliveredRecipient unfollowed channel after consentMark is_channel_friend = False on the customer mapping; sync will refresh on next channel-friends pull

Limitations

  • No customer object in talk-store -- buyers are channel-friends, not standalone records
  • Approved-template gate for alim-talk is a manual, multi-day process (out of module's control)
  • No inbound webhook for chat replies -- requires separate Chat-Bot API enrollment
  • Korean docs primary -- API field names are stable; descriptions translated in this module
  • talk-store != Kakao Shopping -- this module owns the talk-store catalog space; pair with kakao_store_management if you also operate Kakao Shopping

Support