Mercado Eletronico in GLPI: purchase requisitions straight from the ticket

How NexTool's Mercado Eletronico module turns a GLPI ticket into a purchase requisition in ME: synchronized catalog, single approval, webhook timeline and the inbox-first reconciliation we learned to do in support.

Buy from a ticket, without retyping anything in the procurement portal. NexTool's Mercado Eletronico module connects GLPI to the Mercado Eletronico (ME) procurement platform and turns a ticket into a purchase requisition - with a synchronized catalog, single approval and automatic tracking of the cycle up to the order, all inside GLPI.

The problem

When IT or procurement receives a purchase request via ticket, the traditional flow is manual and duplicated: the agent logs the ticket in GLPI, opens the Mercado Eletronico portal, retypes the items, picks a supplier and an approver and then goes back to the ticket to note the number. Every requisition passes through two tools and, often, two approvals. The result is rework, typing errors and - what hurts most in an audit - lost traceability between the ticket that started the purchase and the order that came out. When someone asks "was that 8k order really approved by the right person?", the answer disappears between two systems.

How Mercado Eletronico works

The module adds the ME Requisition tab to the ticket and handles the bridge to ME end to end:

  • Synchronized catalog - ME products, groups, suppliers, branches and users are imported into GLPI, searchable on every field.
  • Requisition on the ticket itself - a Group → Product cascade, approver, delivery branch, category and quantity, with the estimated total computed live.
  • Single approval - users with the "Send request pre-approved" permission send the requisition to ME already approved, removing the second manual approval; without that permission, it reaches ME awaiting approval.
  • Automatic confirmation - the status comes back from ME via webhook and a reconciliation routine keeps everything in sync; when ME rejects the requisition because the product group lacks purchase permission, the ticket shows the reason, the requisition goes back for correction and resubmission and the group is marked as blocked in the catalog.
  • Timeline on the ticket - pre-order, quotation and order appear as steps on the ticket itself, without opening the ME portal.

What the module adds over native GLPI

GLPI has solid registers for suppliers, contracts and budgets - but it does not talk to an external procurement platform. That is exactly the bridge the module builds:

NeedNative GLPIWith the Mercado Eletronico module
Record a purchase request from a ticketManual note in the ticket text, unstructuredME Requisition tab with items, approver and estimated total
Catalog of products and suppliersManual supplier register; no ME catalogME catalog (products, groups, suppliers, branches) synchronized
Send the requisition to the procurement platformRetype everything in the ME portalSent straight from the ticket, no retyping
Track pre-order, quotation and orderCheck the ME portal manuallyAutomatic timeline on the ticket, via webhook
Group without purchase permissionRejection seen only in the ME portalRejection shown on the ticket, with the reason, and group marked as blocked in the catalog

From ticket to order, without leaving GLPI

Once sent, the requisition runs the ME cycle - pre-order, quotation and order. The module follows each stage automatically through the Mercado Eletronico webhooks and draws a timeline on the ticket: the agent sees whether the pre-order was generated, what stage the quotation is at and when the order was issued. Each event ME sends goes through these steps before reaching the ticket:

# what GLPI does with each event ME sends
1. checks Basic Auth: user and password of this instance's credential (without them, rejects with 401)
2. checks the HMAC signature (X-ME-WEBHOOK-SIGNATURE), only if the verification token is configured
3. ignores repeated events (X-ME-EVENT-ID) and stores the raw event in the inbox
4. answers 200 in under 10 s, within the ME deadline
5. the "tracking" task (every 2 min) fetches the pre-order, quotation or order by ID from the ME API
   and updates the ticket timeline

A detail that only shows up when you run the integration in production: the Mercado Eletronico API listing endpoints (/pre-orders and /orders) ignore much of the query filtering the docs suggest. We found this in support when reconciliation kept bringing in records that should have been filtered out. The decision was to treat the integration as an inbox: instead of trusting a remote filter, the module stores every event it receives, fetches the resource by its own ID from the ME API and matches it to the ticket locally, by the requisition number found in the event or in the pre-order items. On top of that, every webhook has to pass Basic Auth, with the user and password of this instance's credential, and the HMAC signature can be required as an extra layer: a webhook without valid credentials is rejected, because purchase status must not be forgeable by any request that stumbles on the URL.

How to enable it

  1. Install NexTool on your GLPI 11.
  2. Go to Setup > NexTool > Modules and enable Mercado Eletronico.
  3. On the Integrations tab, enter the ME API credentials and test the connection.
  4. Define the scope (entities and ticket categories) allowed to generate a requisition.
  5. Register the cycle webhooks with one click and check the callback URL configured in ME.

Who it is for

Companies that use Mercado Eletronico as their procurement platform and handle purchase requests via the GLPI service desk - IT, procurement and facilities teams that want to remove double entry and keep ticket and purchase traceable in the same place.

When NOT to use it: if the company does not use Mercado Eletronico as its platform, the module does not apply - it is specific to ME, not a generic purchasing catalog. If the purchase request does not start from a ticket, the integration adds no traceability. And if you only need to register internal suppliers, contracts and budgets, native GLPI already covers that, with no external integration.

Compatibility

  • GLPI: 11.0+
  • Plan: Licensed (on demand)
  • Plugin: NexTool 6.15.0+
  • Mercado Eletronico: API v1 (staging and production)

Next step

Mercado Eletronico is part of NexTool, the ecosystem of modules that extends GLPI without code customizations. See the module page or talk to the team for a demo.


Reviewed by the NexTool Solutions team.

Frequently Asked Questions

It adds a tab to the ticket to create purchase requisitions directly on the Mercado Eletronico (ME) platform, with a synchronized catalog, single approval and automatic status tracking up to the order - without retyping anything in the ME portal.

No, if the sender has the "Send request pre-approved" permission: the requisition goes to ME already approved, removing the second manual approval that exists in the traditional two-system flow. Without that permission, it reaches ME awaiting approval.

Through ME webhooks. The module receives the pre-order, quotation and order events, authenticates each event with Basic Auth (the HMAC signature is an optional extra layer), builds a timeline on the ticket and keeps the status in sync; automatic tasks query ME again every few minutes to confirm the requisition and update open pre-orders and orders.

Yes. ME products, groups, suppliers, branches and users are synchronized into GLPI, searchable on every field and with a Group to Product cascade when building the requisition.

The module supports GLPI 11.0+ and requires the NexTool plugin 6.15.0 or later. It is a licensed module (on demand) and talks to the Mercado Eletronico API v1, in staging and production.

Need help?