Skip to main content

FAQ & Troubleshooting

Întrebări frecvente​

De ce primesc răspuns gol când apelez direct ERP-ul?​

Cel mai probabil ați trimis Content-Type: application/json. NextUp cere Content-Type: text/plain pe endpoint-ul POST. Schimbați header-ul și apelul va funcționa. Detaliu: vezi Despre API NextUp § Quote despre Content-Type.

Pot apela direct ERP-ul din browser cu fetch / jQuery?​

Nu — NextUp nu trimite header-e CORS, deci browser-ul va bloca. Trebuie mereu un proxy server-side. Swagger UI-ul nostru este exact acest proxy.

Token-ul expiră — cum tratez asta în SDK?​

Vedeți pattern-ul recomandat în Autentificare § Algoritm. Pe scurt: cache token, retry max o singură dată la ... expirat ..., evitați buclele de re-auth.

De ce primesc Stoc insuficient deși am stoc?​

Trei posibile cauze:

  1. ReservedQuantity scade din stocul disponibil. Verificați Quantity - ReservedQuantity în GetAllStocksForArticles.
  2. Greșit WarehouseId — stocul există în alt depozit. Verificați cu GetStocksForArticleByCode.
  3. Greșit ArticleCode — articol diferit.

Pot crea un partener cu CIF deja existent?​

Da, NextUp nu impune unicitatea pe CIF, doar pe Code. Dacă vreți unicitate pe CIF, validați client-side cu GetAllPartners și un .find() înainte de AddPartner.

Cum funcționează multi-societate?​

Un token e legat de o societate (Database). Pentru a lucra cu mai multe societăți în paralel, mențineți un cache (Database) → Token. Vezi Autentificare § Multi-societate.

Pot apela operațiunile fără token (test rapid)?​

Doar GetAuthenticationToken și (în mock) endpoint-urile operaționale (/health, /info, etc.). Toate celelalte cer token. În mock puteți seta ENFORCE_TOKEN=false în .env pentru a accepta orice token.

Cum trimit imagine la UpdateArticlePicture?​

Encodați-o base64 și includeți-o în Params.Picture. Atenție la limita de 5MB a proxy-ului (configurabilă în server/index.js).

PIC=$(base64 -i poza.jpg | tr -d '\n')
curl -X POST http://localhost:4000/NextUpServices/Services/POST/ \
-H "Content-Type: text/plain" \
-d "{\"AuthenticationToken\":\"$NX_TOKEN\",\"Method\":\"UpdateArticlePicture\",\"Params\":{\"Code\":\"0000001\",\"Picture\":\"$PIC\"}}"

Cum generez SDK-uri din OpenAPI?​

# Java
openapi-generator-cli generate -i openapi.yaml -g java -o ./sdk-java

# Python
openapi-generator-cli generate -i openapi.yaml -g python -o ./sdk-python

# TypeScript Axios
openapi-generator-cli generate -i openapi.yaml -g typescript-axios -o ./sdk-ts

Spec-ul openapi.yaml este disponibil:

  • Local: sandbox/swagger-ui/spec/openapi.yaml
  • Servit: http://localhost:3000/openapi.yaml (și JSON la /openapi.json)
  • În producție: https://sandbox.nextup.ro/openapi.yaml

Pot rula Swagger UI și Mock pe alte porturi?​

Da, modificați PORT în fiecare .env. Apoi actualizați CORS_ORIGINS în mock și NEXTUP_MOCK_BASE_URL în swagger-ui pentru a se găsi reciproc.

Există rate-limiting?​

Nu, nici pe Mock, nici pe ERP-ul real (NextUp). Recomandarea noastră: limitați-vă singuri la max 10 req/sec pentru a nu congestiona ERP-ul în producție.

Pot apela GET în loc de POST?​

Da, dar doar pentru debug rapid din browser. Limita URL e 2048 caractere (IE) / 8KB (Chrome). Pentru payloads de comandă cu multe linii, folosiți POST. Vezi Despre API § moduri de consumare.

Troubleshooting​

"ENETUNREACH 1.2.3.4:8888"​

Proxy-ul nu poate vedea ERP-ul. Verificați:

# 1. Răspunde maşina?
ping 1.2.3.4

# 2. Răspunde portul?
curl -v telnet://1.2.3.4:8888 2>&1 | head -5

# 3. NextUp e pornit?
# Pe maşina ERP: Utilitare → Servicii WEB → Panou de control → trebuie să apară "Pornit"

Pentru a continua lucrul fără ERP: comutați la mock în Swagger UI.

"Workspace still starting" în terminal​

Apare doar în sandbox-ul nostru de dezvoltare, nu pe maşina dvs. — ignorați.

Docker Compose: open //./pipe/dockerDesktopLinuxEngine: The system cannot find the file specified​

Docker Desktop nu este pornit. Deschideți Docker Desktop din Start Menu, așteptați să apară "Docker is running", apoi reîncercați. Alternativă: rulați mock + swagger-ui via npm start în două terminale.

"the attribute version is obsolete"​

Avertizare benignă din docker-compose.yml modern. Am eliminat-o în versiunea curentă. Dacă o mai vedeți, faceți git pull sau ștergeți rândul version: "3.9" din top-ul docker-compose.yml.

Token-ul vine null​

Apelul GetAuthenticationToken a eșuat. Verificați:

  1. Content-Type: text/plain (nu application/json direct la ERP)
  2. Credențiale corecte (User/Pass/Database)
  3. ERP-ul este pornit
  4. Slash-ul final după POST în URL: /NextUpServices/Services/POST/ (cu slash, nu fără)

Result === false dar Error e null​

Caz rar. Înseamnă că ERP-ul a evaluat operațiunea ca eșec dar nu a generat un mesaj. Verificați log-ul NextUp (Utilitare → Servicii WEB → Log). În SDK, tratați acest caz ca eroare necunoscută.

"Headers already sent" în proxy​

Conexiunea cu upstream s-a închis înainte de finalizare. Verificați UPSTREAM_TIMEOUT_MS în .env (default 30000 ms). Pentru operațiuni grele (de exemplu ExportSaleInvoices cu range mare), creșteți la 120000.

CORS denied de la mock​

Origin-ul tab-ului dvs. nu e în whitelist. Adăugați-l în CORS_ORIGINS (CSV) în mock-server/.env:

CORS_ORIGINS=http://localhost:3000,http://localhost:5173,https://app.example.com

Probleme specifice de business​

"Adresa fiscală e greșită" la AddPartner cu TaxAttribute: RO​

TaxAttribute: 'RO' înseamnă plătitor de TVA. Asigurați-vă că ați completat și TaxCode (CIF) cu un cod valid, altfel ERP-ul va refuza.

Document-ul nu apare în nomenclator după Add*​

În mock este normal — datele sunt în memorie și se pierd la restart. În ERP-ul real, verificați:

  1. Tranzacția nu a făcut rollback intern (log NextUp).
  2. Userul are drepturi pe seria de documente.
  3. Aplicația cliente NextUp nu e deschisă pe aceeași entitate (lock).

Sold partener greșit după PayDocumentsWithReceipt​

Asigurați-vă că ReceiptId și DocumentIds aparțin aceluiași partener. NextUp permite și nu raportează greșeala dacă partenerii diferă, dar soldurile vor fi calculate eronat.

Contact suport​

Pentru probleme nelistate aici, contactați echipa NextUp.

Ai nevoie de asistență? Contactează-ne
Ai sugestii sau propuneri? Scrie-ne

Mai multe pe nextup.ro/contact. Pentru probleme ERP NextUp în producție, contactați echipa NextUp internă.